From dadfdafe53cb94a8edb071e8be9bcb6da66aadfb Mon Sep 17 00:00:00 2001 From: zgaetano Date: Tue, 31 Mar 2026 15:32:58 -0400 Subject: [PATCH] Remove mcp-gateway/MCP_STACK_UPDATE.md --- mcp-gateway/MCP_STACK_UPDATE.md | 263 -------------------------------- 1 file changed, 263 deletions(-) delete mode 100644 mcp-gateway/MCP_STACK_UPDATE.md diff --git a/mcp-gateway/MCP_STACK_UPDATE.md b/mcp-gateway/MCP_STACK_UPDATE.md deleted file mode 100644 index f5046e0..0000000 --- a/mcp-gateway/MCP_STACK_UPDATE.md +++ /dev/null @@ -1,263 +0,0 @@ -# MCP Stack Update - RFP Scraper & LinkedIn MCPs Added - -## Summary - -Your MCP gateway has been updated to support two new MCP backends: -- **RFP Scraper** - For discovering and scraping RFP opportunities -- **LinkedIn** - For professional networking and opportunity discovery - -These complement your existing stack: -- ERPNext (98 tools) -- TrueNAS (35 tools) -- Home Assistant (18 tools) -- Wave Finance (22 tools) - -## Changes Made - -### 1. docker-compose.yml ✅ - -Added two new service definitions: - -```yaml -rfpscraper-mcp: - build: - context: ./rfpscraper-mcp - dockerfile: Dockerfile - container_name: mcp-rfpscraper - ports: [8400] - environment: - - PORT=8400 - - RFP_API_KEY=${RFP_API_KEY} - - RFP_BASE_URL=${RFP_BASE_URL} - -linkedin-mcp: - build: - context: ./linkedin-mcp - dockerfile: Dockerfile - container_name: mcp-linkedin - ports: [8500] - environment: - - PORT=8500 - - LINKEDIN_ACCESS_TOKEN=${LINKEDIN_ACCESS_TOKEN} - - LINKEDIN_API_KEY=${LINKEDIN_API_KEY} -``` - -Updated gateway service to register backends: -``` -- MCP_BACKEND_RFPSCRAPER=http://mcp-rfpscraper:8400/mcp -- MCP_BACKEND_LINKEDIN=http://mcp-linkedin:8500/mcp -``` - -### 2. .env File ✅ - -Added configuration variables for both new MCPs: - -```env -# RFP Scraper MCP Server -RFP_API_KEY=${RFP_API_KEY} -RFP_BASE_URL=https://rfp.example.com - -# LinkedIn MCP Server -LINKEDIN_ACCESS_TOKEN=${LINKEDIN_ACCESS_TOKEN} -LINKEDIN_API_KEY=${LINKEDIN_API_KEY} -``` - -**Action required**: Fill in these values with your actual API credentials. - -### 3. gateway-proxy.py ✅ - -Updated DISPLAY_NAMES mapping: - -```python -DISPLAY_NAMES = { - "erpnext": "ERPNext", - "truenas": "TrueNAS", - "homeassistant": "Home Assistant", - "wave": "Wave Finance", - "rfpscraper": "RFP Scraper", # NEW - "linkedin": "LinkedIn", # NEW -} -``` - -**No other changes needed** - The gateway automatically detects all `MCP_BACKEND_*` environment variables and registers them. - -### 4. Dashboard ✅ - -The dashboard (`http://10.0.0.25:4444/dashboard`) now shows: -- RFP Scraper service health and tool count -- LinkedIn service health and tool count -- Updated summary showing all 6 services -- Real-time probing of new backends - -### 5. User Management Dashboard ✅ - -Updated user management (`http://10.0.0.25:4444/admin`) MCP access control: - -Now includes RFP Scraper and LinkedIn in the allow/block toggles: - -```javascript -availableMcps: ['erpnext', 'truenas', 'homeassistant', 'wave', 'rfpscraper', 'linkedin'] -``` - -Users can now: -- Allow/block access to RFP Scraper -- Allow/block access to LinkedIn -- Mix and match with existing MCPs - -## Deployment Steps - -### Step 1: Update .env Credentials - -Edit `.env` and add your API credentials: - -```bash -nano .env - -# Add your actual credentials: -RFP_API_KEY=your_rfp_api_key_here -RFP_BASE_URL=your_rfp_base_url_here -LINKEDIN_ACCESS_TOKEN=your_linkedin_token_here -LINKEDIN_API_KEY=your_linkedin_api_key_here -``` - -### Step 2: Rebuild and Restart - -```bash -cd /path/to/mcp-gateway - -# Rebuild containers -docker-compose down -docker-compose build - -# Start all services -docker-compose up -d -``` - -### Step 3: Verify New Services - -Check the dashboard: - -```bash -# Access dashboard -http://10.0.0.25:4444/dashboard - -# Or check status endpoint -curl http://10.0.0.25:4444/dashboard/status | jq -``` - -You should see: -```json -{ - "services": [ - {"name": "ERPNext", "status": "healthy", "toolCount": 98}, - {"name": "TrueNAS", "status": "healthy", "toolCount": 35}, - {"name": "Home Assistant", "status": "healthy", "toolCount": 18}, - {"name": "Wave Finance", "status": "healthy", "toolCount": 22}, - {"name": "RFP Scraper", "status": "healthy", "toolCount": XX}, - {"name": "LinkedIn", "status": "healthy", "toolCount": XX} - ], - "summary": { - "total": 6, - "healthy": 6, - "unhealthy": 0, - "totalTools": YYYY - } -} -``` - -### Step 4: Grant User Access - -In the user management dashboard (`http://10.0.0.25:4444/admin`): - -1. Select a user -2. Toggle RFP Scraper and/or LinkedIn in the MCP Access Control section -3. Save - -Or via API: - -```bash -curl -X PUT http://10.0.0.25:4444/users/alice/mcp-access \ - -H "Content-Type: application/json" \ - -d '{ - "allowed_mcps": ["erpnext", "rfpscraper", "linkedin"], - "blocked_mcps": [] - }' -``` - -## Architecture - -Updated MCP stack diagram: - -``` -┌─────────────────────────────────────────────────────────┐ -│ MCP Gateway (port 4444) │ -│ (OAuth2 + User Management) │ -└──────────────────────┬──────────────────────────────────┘ - │ - ┌───────────────┼───────────────┐ - │ │ │ - ┌───▼────┐ ┌──────▼──┐ ┌────────▼────┐ - │ERPNext │ │TrueNAS │ │Home Assistant│ - │(98) │ │(35) │ │(18) │ - └────────┘ └─────────┘ └─────────────┘ - │ │ │ - ┌───▼────┐ ┌──────▼──┐ ┌────────▼────┐ - │Wave │ │RFP │ │LinkedIn │ - │Finance │ │Scraper │ │(NEW) │ - │(22) │ │(NEW) │ │ │ - └────────┘ └─────────┘ └─────────────┘ -``` - -## Total Capacity - -Your gateway now provides access to **6 independent MCP backends** with: -- **173+ tools** from original 4 MCPs -- **XX+ tools** from RFP Scraper -- **XX+ tools** from LinkedIn -- **Total: XXX+ tools** across all services - -## Troubleshooting - -### Services showing as unhealthy - -1. Check containers are running: - ```bash - docker-compose ps - ``` - -2. Check logs: - ```bash - docker-compose logs rfpscraper-mcp - docker-compose logs linkedin-mcp - ``` - -3. Verify environment variables are set: - ```bash - docker-compose config | grep -E "RFP_|LINKEDIN_" - ``` - -### Dashboard not showing new services - -1. Hard refresh browser: `Ctrl+Shift+R` (or `Cmd+Shift+R` on Mac) -2. Check `/dashboard/status` endpoint directly: - ```bash - curl http://10.0.0.25:4444/dashboard/status - ``` - -### API key not working for new MCPs - -1. Make sure user has access configured in user dashboard -2. Check user's MCP access list: - ```bash - curl http://10.0.0.25:4444/users/{username} | jq .user.mcp_allowed - ``` - -## Next Steps - -1. ✅ Configure .env credentials for RFP Scraper and LinkedIn -2. ✅ Deploy updated stack -3. ✅ Verify services are healthy -4. ✅ Grant users access to new MCPs -5. ✅ Test API key authentication with new services - -Your MCP gateway is now ready to integrate job search and professional networking capabilities!