Remove DEPLOYMENT_GUIDE.md

This commit is contained in:
Zac Gaetano 2026-03-31 15:32:53 -04:00
parent bbf2266590
commit e8a8fc8a24

View file

@ -1,304 +0,0 @@
# MCP Job Search Stack - Deployment Guide
This guide walks you through setting up and deploying your two new MCPs for job searching and RFP discovery.
## Overview
You now have two complementary MCPs:
1. **rfp-scraper-mcp-server** - Discovers RFPs and freelance opportunities for control room and broadcast studio projects
2. **linkedin-mcp-server** - Searches LinkedIn jobs and manages professional networking
## Quick Start
### 1. Build Both MCPs
```bash
# Build RFP Scraper MCP
cd /sessions/focused-busy-tesla/mnt/MCP\ Servers/rfp-scraper-mcp-server
npm install
npm run build
# Build LinkedIn MCP
cd /sessions/focused-busy-tesla/mnt/MCP\ Servers/linkedin-mcp-server
npm install
npm run build
```
### 2. Verify Build Success
Both should complete without errors and create a `dist/` directory with compiled JavaScript.
```bash
# Test RFP Scraper
node rfp-scraper-mcp-server/dist/index.js --version
# Test LinkedIn
node linkedin-mcp-server/dist/index.js --version
```
## Integration with mcp-gateway
Your MCPs are designed to integrate with your existing mcp-gateway at `mcp.wilddragon.net`.
### Configuration
Add to your mcp-gateway configuration:
```json
{
"mcpServers": {
"rfp-scraper": {
"command": "node",
"args": ["/path/to/rfp-scraper-mcp-server/dist/index.js"],
"env": {
"RFP_SCRAPER_API_KEY": "${RFP_SCRAPER_API_KEY}"
}
},
"linkedin": {
"command": "node",
"args": ["/path/to/linkedin-mcp-server/dist/index.js"],
"env": {
"LINKEDIN_ACCESS_TOKEN": "${LINKEDIN_ACCESS_TOKEN}"
}
}
}
}
```
### Environment Variables
**For RFP Scraper:**
```bash
export RFP_SCRAPER_API_KEY=your_api_key # Optional, for enhanced features
```
**For LinkedIn:**
```bash
export LINKEDIN_ACCESS_TOKEN=your_access_token # Required for connection requests
```
Get your LinkedIn access token from: https://linkedin.com/developers
## Features by MCP
### RFP Scraper MCP (`rfp-scraper-mcp-server`)
Tools available:
- **rfp_search_projects** - Search for RFP opportunities
- **rfp_get_project_details** - Get detailed project information
- **rfp_filter_by_budget** - Filter projects by budget range
**Example Usage:**
```
Search for control room projects:
keywords: ["control room", "broadcast studio"]
limit: 20
Find high-budget opportunities:
minBudget: 10000
maxBudget: 50000
```
### LinkedIn MCP (`linkedin-mcp-server`)
Tools available:
- **linkedin_search_jobs** - Search for jobs
- **linkedin_get_job_details** - Get job information
- **linkedin_search_profiles** - Find professionals
- **linkedin_send_connection** - Connect with professionals
- **linkedin_get_profile** - View profiles
**Example Usage:**
```
Search for broadcast jobs:
keywords: "broadcast engineer"
jobType: "FREELANCE"
Find industry professionals:
keywords: "broadcast systems"
industry: "Broadcasting"
```
## Development Mode
For local testing and development:
```bash
# Terminal 1: RFP Scraper
cd rfp-scraper-mcp-server
npm run dev
# Terminal 2: LinkedIn
cd linkedin-mcp-server
npm run dev
```
This uses `tsx` to watch for changes and auto-reload.
## Testing the MCPs
### Using MCP Inspector
Test individual MCPs with the MCP Inspector:
```bash
# Test RFP Scraper
npx @modelcontextprotocol/inspector node rfp-scraper-mcp-server/dist/index.js
# Test LinkedIn
npx @modelcontextprotocol/inspector node linkedin-mcp-server/dist/index.js
```
The inspector provides a web interface to:
- List available tools
- Test tool calls
- View responses
- Debug issues
### Manual Testing
```bash
# Build both
npm run build
# Run and test
node rfp-scraper-mcp-server/dist/index.js
# In another terminal, send test request via stdin
echo '{"jsonrpc":"2.0","id":1,"method":"resources/list"}' | node rfp-scraper-mcp-server/dist/index.js
```
## Architecture Notes
### RFP Scraper
- **Service**: `services/scraper.ts` - Core scraping and filtering logic
- **Transport**: stdio (local) - designed for mcp-gateway integration
- **Error Handling**: Graceful handling of API errors and timeouts
- **Pagination**: Supports offset-based pagination for large result sets
### LinkedIn
- **Service**: `services/linkedin-client.ts` - LinkedIn API client
- **Transport**: stdio (local) - designed for mcp-gateway integration
- **Mock Data**: Currently uses mock data for development. Replace with real API calls once authenticated.
- **Authentication**: Supports LinkedIn OAuth tokens
## Production Deployment
### Prerequisites
- Node.js 18+
- npm or yarn
- Valid API credentials (LinkedIn token, etc.)
### Deployment Steps
1. **Install dependencies on production server:**
```bash
npm install --production
npm run build
```
2. **Set environment variables:**
```bash
export LINKEDIN_ACCESS_TOKEN=prod_token
export RFP_SCRAPER_API_KEY=prod_key
```
3. **Run MCPs via process manager (PM2):**
```bash
pm2 start rfp-scraper-mcp-server/dist/index.js --name rfp-scraper
pm2 start linkedin-mcp-server/dist/index.js --name linkedin
```
4. **Monitor:**
```bash
pm2 logs
pm2 status
```
## Troubleshooting
### Build Fails
- Ensure Node.js 18+ is installed: `node --version`
- Clear npm cache: `npm cache clean --force`
- Rebuild: `rm -rf node_modules dist && npm install && npm run build`
### Tools Not Appearing
- Check server started successfully: `npm start`
- Verify no TypeScript errors: `npm run build`
- Check tool names match exactly in your calls
### API Errors
- Verify environment variables are set: `echo $LINKEDIN_ACCESS_TOKEN`
- Check API credentials are valid
- Review error messages for guidance on next steps
### Connection Issues
- Ensure mcp-gateway can reach the servers
- Check firewall rules if using remote deployment
- Verify stdio transport is properly configured
## Next Steps
1. **Authenticate with APIs:**
- Get LinkedIn access token: https://linkedin.com/developers
- Set up any RFP API keys if needed
2. **Test Integration:**
- Run MCPs locally first
- Test with MCP Inspector
- Verify with mcp-gateway
3. **Customize:**
- Modify scraper keywords and sources as needed
- Adjust job search filters
- Add additional tools based on your workflow
4. **Monitor Usage:**
- Track API rate limits
- Monitor performance metrics
- Adjust pagination limits if needed
## File Structure
```
MCP Servers/
├── rfp-scraper-mcp-server/
│ ├── src/
│ │ ├── index.ts
│ │ ├── types.ts
│ │ ├── constants.ts
│ │ └── services/
│ │ └── scraper.ts
│ ├── dist/
│ │ └── index.js (generated)
│ ├── package.json
│ ├── tsconfig.json
│ └── README.md
├── linkedin-mcp-server/
│ ├── src/
│ │ ├── index.ts
│ │ ├── types.ts
│ │ ├── constants.ts
│ │ └── services/
│ │ └── linkedin-client.ts
│ ├── dist/
│ │ └── index.js (generated)
│ ├── package.json
│ ├── tsconfig.json
│ └── README.md
└── DEPLOYMENT_GUIDE.md (this file)
```
## Support
For issues or questions:
1. Check individual README files in each MCP directory
2. Review error messages - they include suggested next steps
3. Check TypeScript compilation for type errors
4. Verify environment variables are set correctly
---
**Last Updated**: 2026-03-31
**Version**: 1.0.0