Federated MCP Gateway with Public Access via Cloudflare Tunnel
Public URL: http://mcp.deploystack.run
You've deployed a production-ready federated MCP gateway that gives AI assistants like Claude, ChatGPT, and other MCP clients unified access to your entire media infrastructure through a single authenticated endpoint.
What It Enables:
- Ask Claude: "Show me what's downloading in qBittorrent"
- Ask ChatGPT: "Search for a specific TV series in Prowlarr"
- Ask any MCP client: "What movies were recently added to Plex?"
How It Works:
// Add to Claude Code's .mcp.json
{
"mcpServers": {
"mcp-gateway": {
"url": "http://mcp.deploystack.run",
"transport": {
"type": "http",
"headers": {
"Authorization": "Bearer YOUR_JWT_TOKEN"
}
}
}
}
}
Now Claude can directly control your 93 tools across all services without you writing any code.
What You Can Build in the Web UI:
Example 1: "Media Discovery Server"
- Combine: Prowlarr search tools + Radarr/Sonarr lookup + Plex library tools
- Result: A custom MCP endpoint that helps find and add new content
- Use Case: "Find and add 'Inception' to my media library"
Example 2: "Download Manager"
- Combine: qBittorrent tools + SABnzbd tools + Prowlarr search
- Result: Unified download control across torrent and Usenet
- Use Case: "What's downloading and how much is left?"
Example 3: "Plex Admin Server"
- Combine: Plex server info + user management + session control
- Result: Server administration without opening Plex
- Use Case: "Who's streaming right now and what are they watching?"
What It Enables:
- Create separate teams with different tool access levels
- Family members: Read-only Plex access
- Power users: Full download management
- Admins: Everything
Example Teams You Could Create:
Team | Access | Tools |
---|---|---|
Family | Plex library browsing only | 10 Plex read tools |
Downloads | Torrent/Usenet management | 28 download tools |
Admins | Full control | All 93 tools |
What You Can Build:
# Python script using your gateway
import requests
# Get JWT token
token = requests.post('http://mcp.deploystack.run/auth/login',
json={'email': '[email protected]', 'password': 'pass'}).json()['access_token']
# Call any MCP tool
response = requests.post('http://mcp.deploystack.run/tools/plex-server-get-info',
headers={'Authorization': f'Bearer {token}'})
print(f"Plex server has {response.json()['libraryCount']} libraries")
Use Cases:
- Build mobile apps that control your media server
- Create automation scripts (e.g., auto-pause torrents when bandwidth needed)
- Integrate with home automation (Home Assistant, Node-RED)
- Build Discord/Telegram bots for media requests
What It Enables:
- AI agents can discover and communicate with each other
- Build multi-agent workflows
- Chain operations across services
Example A2A Workflow:
- Search Agent finds media in Prowlarr
- Download Agent adds to qBittorrent
- Notification Agent monitors download
- Plex Agent refreshes library when complete
Category | Count | Examples |
---|---|---|
Total Tools | 93 | Cross-service operations |
Plex Tools | 51 | Library, users, sessions, media |
qBittorrent Tools | 16 | Torrent management |
SABnzbd Tools | 12 | Usenet downloads |
Prowlarr Tools | 11 | Indexer search |
Radarr/Sonarr | 3 | Media lookup |
Resources | 2 | Series & movies collections |
You: "Hey Claude, find 'The Matrix' and add it to my Plex server"
Claude uses your gateway to:
1. Search Prowlarr for "The Matrix"
2. Add best result to qBittorrent
3. Monitor download progress
4. Notify when added to Plex
You: "What's downloading and how's my bandwidth?"
Claude checks:
- qBittorrent: Active torrents, speeds, ETA
- SABnzbd: Usenet queue status
- Returns unified status across both
You: "Who's streaming right now?"
Claude queries:
- Active Plex sessions
- What they're watching
- Bandwidth usage per stream
- Device information
Status: β
Ready to configure
Config: Add gateway URL + JWT token to .mcp.json
Result: Claude can use all 93 tools in conversation
Status: β
Ready to import
Steps: Import http://mcp.deploystack.run/openapi.json
Result: ChatGPT can call your tools as custom actions
Status: β Ready for development Protocol: Standard MCP over HTTP Result: Build your own applications using the gateway
Internet
β
Cloudflare Edge (DDoS Protection)
β QUIC/HTTP3 Tunnel
Proxmox Host (192.168.1.123)
β Nginx Reverse Proxy
LXC Container 106 (192.168.1.196:3000)
β MCP Gateway (FastAPI)
β
Backend MCP Servers (SSE Protocol):
ββ Plex (localhost:3002/sse) - 51 tools
ββ qBittorrent (localhost:3003/sse) - 16 tools
ββ SABnzbd (localhost:3004/sse) - 12 tools
ββ Prowlarr (localhost:3005/sse) - 11 tools
ββ Radarr/Sonarr (localhost:3006/sse) - 3 tools
- β JWT authentication (7-day expiration)
- β Argon2 password hashing
- β Bearer token authorization
- β Cloudflare DDoS protection
- β Encrypted tunnel (QUIC/HTTP3)
- β Private backend network (LXC)
You now have a production-grade AI infrastructure hub that:
- β Federates 5 separate services into one endpoint
- β Exposes 93 tools to any MCP-compatible AI assistant
- β Provides secure authentication (JWT + team-based access)
- β Enables public internet access via Cloudflare Tunnel
- β Allows custom virtual server creation for specific workflows
- β Supports both AI assistants and custom applications
Practical Impact: Instead of manually checking Plex, qBittorrent, SABnzbd, and Prowlarr separately, you can now ask Claude (or any AI assistant) to manage your entire media infrastructure through natural conversation.
- Configure Claude Code: Add gateway to
.mcp.json
and start using tools in chat - Create Virtual Servers: Build custom tool combinations for specific use cases
- Set Up Teams: Create team-based access for different users/applications
- Build Custom Apps: Use the REST API to create mobile apps or automation scripts
- Change Password: Update default password for security
Resource | URL |
---|---|
Health Check | http://mcp.deploystack.run/health |
API Documentation | http://mcp.deploystack.run/docs |
OpenAPI Schema | http://mcp.deploystack.run/openapi.json |
Login Endpoint | http://mcp.deploystack.run/auth/login |
Tools Catalog | http://mcp.deploystack.run/tools |
curl -X POST http://mcp.deploystack.run/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","password":"Admin123!mcp"}' \
| jq -r '.access_token'
Add to your .mcp.json
:
{
"mcpServers": {
"mcp-gateway": {
"url": "http://mcp.deploystack.run",
"transport": {
"type": "http",
"headers": {
"Authorization": "Bearer YOUR_TOKEN_HERE"
}
}
}
}
}
Ask Claude: "List all MCP tools from mcp-gateway"
Expected: 93 tools listed! π
Your gateway is fully operational and ready to use! π
Status: π’ FULLY OPERATIONAL Last Verified: 2025-10-13 13:45 UTC