{"message":"MCP Server Router","version":"1.0.0","services":[{"name":"ad-manager","endpoint":"/ad-manager","description":"MCP wrapper for Google Ad Manager API (networks, ad units, orders, line items, reports)","note":"Connect using streamable HTTP at /ad-manager (or SSE at /ad-manager/sse). Set GCP_CLIENT_ID, GCP_CLIENT_SECRET, and GCP_REFRESH_TOKEN as Worker secrets."},{"name":"admob","endpoint":"/admob","description":"Read-only MCP wrapper for the Google AdMob API (accounts, ad units, apps, reports)","note":"Connect using streamable HTTP at /admob (or SSE at /admob/sse). Set GCP_CLIENT_ID, GCP_CLIENT_SECRET, and GCP_REFRESH_TOKEN as Worker secrets."},{"name":"amplitude-annotations","endpoint":"/amplitude-annotations","description":"MCP wrapper for Amplitude annotations API","note":"Connect using streamable HTTP at /amplitude-annotations (or SSE at /amplitude-annotations/sse)"},{"name":"google-ads","endpoint":"/google-ads","description":"Read-only MCP wrapper for the Google Ads API (GAQL search, list_accessible_customers, get_resource_metadata)","note":"Connect using streamable HTTP at /google-ads (or SSE at /google-ads/sse). Set GCP_CLIENT_ID, GCP_CLIENT_SECRET, GCP_REFRESH_TOKEN, and GOOGLE_ADS_DEVELOPER_TOKEN as Worker secrets."},{"name":"google-analytics","endpoint":"/google-analytics","description":"Read-only MCP wrapper for the Google Analytics Admin and Data APIs (GA4 properties, run_report, run_realtime_report)","note":"Connect using streamable HTTP at /google-analytics (or SSE at /google-analytics/sse). Set GCP_CLIENT_ID, GCP_CLIENT_SECRET, and GCP_REFRESH_TOKEN as Worker secrets."},{"name":"instabridge-wifi","endpoint":"/instabridge-wifi","description":"MCP service for finding WiFi hotspots (stub implementation with mock data)","note":"Connect using streamable HTTP at /instabridge-wifi (or SSE at /instabridge-wifi/sse)"},{"name":"meta-devtools","endpoint":"/meta-devtools","description":"HTTP passthrough proxy for Meta's DevTools MCP server (beta). Forwards streamable-HTTP MCP traffic to https://mcp.facebook.com/devtools with credentials attached server-side.","note":"Connect using streamable HTTP at /meta-devtools. Set META_APP_ID and META_APP_SECRET as Worker secrets. Tools are defined by Meta; this proxy does not enumerate them."},{"name":"metabase","endpoint":"/metabase","description":"MCP wrapper for Metabase (dashboards, cards, queries)","note":"Connect using streamable HTTP at /metabase (or SSE at /metabase/sse). Set METABASE_URL and METABASE_API_KEY in env, or pass url and apiKey per tool."},{"name":"slack","endpoint":"/slack","description":"Read-only Slack MCP (channels, history, threads, users)","note":"Connect using streamable HTTP at /slack (or SSE at /slack/sse). Set SLACK_BOT_TOKEN as a Worker secret."},{"name":"notion-webhook","endpoint":"/notion-webhook","description":"Notion webhook forwarder — base64-encodes the incoming payload and fires the configured Claude Code routine","note":"POST to /notion-webhook with Authorization: Bearer <BEARER_TOKEN>. Set CLAUDE_TOKEN as a Worker secret."}]}