From 61724cddb4cea551f1c2197330e7087772f70e21 Mon Sep 17 00:00:00 2001 From: zgaetano Date: Tue, 31 Mar 2026 15:33:09 -0400 Subject: [PATCH] Remove mcp-gateway/gateway-proxy/INTEGRATION_INSTRUCTIONS.md --- .../gateway-proxy/INTEGRATION_INSTRUCTIONS.md | 164 ------------------ 1 file changed, 164 deletions(-) delete mode 100644 mcp-gateway/gateway-proxy/INTEGRATION_INSTRUCTIONS.md diff --git a/mcp-gateway/gateway-proxy/INTEGRATION_INSTRUCTIONS.md b/mcp-gateway/gateway-proxy/INTEGRATION_INSTRUCTIONS.md deleted file mode 100644 index 98add37..0000000 --- a/mcp-gateway/gateway-proxy/INTEGRATION_INSTRUCTIONS.md +++ /dev/null @@ -1,164 +0,0 @@ -# Dashboard Integration into gateway_proxy.py - -## Quick Integration Guide - -### Step 1: Add Imports at Top of gateway_proxy.py - -```python -import asyncio -from dashboard_routes import setup_dashboard_routes -from fastapi.staticfiles import StaticFiles -``` - -### Step 2: Mount Static Files (After app creation) - -Find where the FastAPI app is created (likely `app = FastAPI(...)`) and add after it: - -```python -# Setup static file serving for dashboard -try: - app.mount("/", StaticFiles(directory="dashboard", html=True), name="static") -except Exception as e: - print(f"Warning: Could not mount dashboard static files: {e}") -``` - -### Step 3: Register Dashboard Routes (In app startup/initialization) - -In the startup event or app initialization section, add: - -```python -@app.on_event("startup") -async def startup_event(): - # ... existing startup code ... - - # Setup dashboard routes - try: - dashboard_router = await setup_dashboard_routes(app) - app.include_router(dashboard_router) - print("✓ Dashboard routes registered") - except Exception as e: - print(f"Warning: Could not setup dashboard routes: {e}") -``` - -### Step 4: Update Dockerfile - -In `gateway-proxy/Dockerfile`, add a line to copy the dashboard: - -```dockerfile -# ... existing COPY commands ... - -# Copy dashboard -COPY dashboard/ /app/dashboard/ -``` - -### Step 5: Verify dashboard_routes.py Dependencies - -Make sure `dashboard_routes.py` has these imports available in your environment. - -Required packages: -- `aiohttp` (likely already installed for MCP communication) -- `asyncio` (builtin) -- `fastapi` (already in use) - -## Complete Example Integration - -Here's what a minimal integration looks like: - -```python -# gateway_proxy.py - -import asyncio -from fastapi import FastAPI -from fastapi.staticfiles import StaticFiles -from dashboard_routes import setup_dashboard_routes - -# Create app -app = FastAPI(title="MCP Gateway") - -# Mount dashboard -app.mount("/", StaticFiles(directory="dashboard", html=True), name="dashboard") - -@app.on_event("startup") -async def startup(): - dashboard_router = await setup_dashboard_routes(app) - app.include_router(dashboard_router) - print("Dashboard ready at /dashboard") - -# ... rest of your routes ... - -if __name__ == "__main__": - import uvicorn - uvicorn.run(app, host="0.0.0.0", port=4444) -``` - -## Testing After Integration - -1. **Rebuild the gateway image:** - ```bash - docker compose build mcp-gateway - ``` - -2. **Restart the gateway:** - ```bash - docker compose up mcp-gateway - ``` - -3. **Access the dashboard:** - - Local: `http://localhost:4444/dashboard` - - Remote: `https://mcp.wilddragon.net/dashboard` - -4. **Test the API endpoint:** - ```bash - curl http://localhost:4444/mcp/status | jq - ``` - -## Troubleshooting Integration - -### Module Not Found: dashboard_routes -- Ensure `dashboard_routes.py` is in the same directory as `gateway_proxy.py` -- Check Python path is correct - -### Dashboard Returns 404 -- Verify `dashboard/` folder exists in the gateway root -- Check `dashboard.html` file exists -- Review Dockerfile to ensure it copies the dashboard - -### Routes Not Registered -- Check startup event is being called -- Review application logs -- Verify no errors in dashboard_routes.py - -### CSS/TailwindCSS Not Loading -- This is expected since TailwindCSS is loaded via CDN in the HTML -- Check browser console for any fetch errors -- Verify network connectivity to cdn.tailwindcss.com - -## File Structure After Integration - -``` -mcp-gateway/ -├── gateway-proxy/ -│ ├── gateway_proxy.py (MODIFIED - add imports & routes) -│ ├── dashboard_routes.py (NEW) -│ ├── Dockerfile (MODIFIED - add COPY dashboard) -│ └── ... -├── dashboard/ -│ └── dashboard.html (NEW) -├── docker-compose.yml -└── ... -``` - -## Performance Considerations - -- Dashboard queries all services on each status check -- Default refresh interval: 30 seconds -- Each check times out after 5 seconds per service -- Status queries run in parallel (async) -- No caching of results (fresh data each time) - -To adjust refresh interval, edit `dashboard/dashboard.html` and find: -```javascript -const interval = setInterval(fetchServiceStatus, 30000); // 30 seconds -``` - -Change `30000` to desired milliseconds (e.g., `15000` for 15 seconds).