HTTP MCP Servers
Monitor and manage remote HTTP-based MCP servers through a transparent proxy.
Overview
HTTP MCP Servers support enables monitoring of remote/cloud-hosted MCP servers that use HTTP/SSE (Server-Sent Events) transport. MCP Gatekeeper provides full visibility into HTTP MCP traffic through a transparent proxy architecture.
Architecture
Agent (Windsurf/Claude/Amazon Q)
↓ connects to proxy
HTTP Proxy (127.0.0.1:8000/proxy/{agent_type}/{name})
↓ logs & forwards
Actual HTTP MCP Server (e.g., https://api.githubcopilot.com/mcp/)
↓ response
HTTP Proxy (logs response)
↓
Agent receives response
Adding HTTP Servers
From the Web UI
- Navigate to HTTP Servers page
- Click "Add HTTP Server"
- Configure server:
- Name: Unique identifier (e.g.,
github) - Server URL: Actual HTTP MCP server URL
- Headers: Optional HTTP headers (e.g., Authorization)
- Timeout: Request timeout in seconds (default: 30)
- Retries: Number of retry attempts (default: 3)
- Name: Unique identifier (e.g.,
- Click Save
Configuration Example
{
"name": "github",
"server_url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
},
"timeout": 30,
"retries": 3
}
How It Works
Transparent Proxy
MCP Gatekeeper runs a transparent HTTP proxy that:
- Receives agent connections on
127.0.0.1:8000/proxy/{agent_type}/{server_name} - Forwards requests to the actual HTTP MCP server
- Logs all request/response traffic
- Tracks metrics (latency, errors, request counts)
- Returns responses to the agent
Agent Configuration
When you add an HTTP server to an agent, the configuration is automatically rewritten:
Amazon Q Config:
{
"mcpServers": {
"github": {
"url": "http://127.0.0.1:8000/proxy/amazon_q/github"
}
}
}
Windsurf Config (uses serverUrl):
{
"mcpServers": {
"github": {
"serverUrl": "http://127.0.0.1:8000/proxy/windsurf/github"
}
}
}
Gemini CLI Config (uses httpUrl):
{
"mcpServers": {
"github": {
"httpUrl": "http://127.0.0.1:8000/proxy/gemini_cli/github"
}
}
}
The agent type is included in the proxy URL path for tracking. The original server URL and headers are stored securely in the database and used by the proxy.
Managing HTTP Servers
Viewing Servers
The HTTP Servers page shows:
- Server Name: Unique identifier
- Status: Active/Inactive
- Server URL: Actual target URL
- Proxy URL: Local proxy URL for agents
- Last Activity: When last used
- Actions: Test, Edit, Delete
Testing Connection
- Navigate to HTTP Servers page
- Find the server
- Click Test button
- View connection status and latency
Editing Servers
- Click Edit on a server
- Update configuration
- Click Save
Note: Updating headers or URL affects all agents using this server.
Deleting Servers
- Click Delete on a server
- Confirm deletion
Warning: This will break any agent configurations using this server.
Adding to Agents
From Agents Page
- Navigate to Agents page
- Select an agent
- Click Add Server
- Select an HTTP server from the list (marked with HTTP badge)
- Click Add Server
The proxy URL and environment variables are automatically configured.
Security
Headers Storage
- Headers are stored in the database
- Sensitive values can be masked in UI
- Headers are only visible to the proxy service
SSL/TLS Support
For HTTPS servers with custom certificates:
# Set custom CA certificate
export SSL_CERT_PATH=/path/to/ca-cert.pem
Local-Only Proxy
The proxy runs on 127.0.0.1 (localhost only) for security:
- Not accessible from network
- Only local agents can connect
- No external exposure
Monitoring
Metrics Tracked
- Request Count: Total requests proxied
- Response Count: Total responses received
- Latency: Average response time
- Error Rate: Percentage of failed requests
- 24-hour Activity: Request timeline
View Metrics
- Navigate to HTTP Servers page
- Click on a server
- View metrics dashboard
Real-time Monitoring
HTTP server activity appears in:
- Servers page (combined with STDIO)
- Metrics page (unified dashboard)
- Logs page (request/response logs)
Troubleshooting
Connection Fails
Problem: Cannot connect to HTTP server
Solutions:
- Test connection using Test button
- Verify server URL is correct
- Check network connectivity
- Verify headers (especially Authorization)
- Check server is accessible
SSL Certificate Errors
Problem: SSL verification fails
Solutions:
- Set
SSL_CERT_PATHenvironment variable - Add custom CA certificate
- Verify server certificate is valid
Agent Not Connecting
Problem: Agent cannot connect to proxy
Solutions:
- Verify backend is running (port 8000)
- Check agent config has correct proxy URL with agent_type
- Restart MCP Gatekeeper backend
- Check backend logs for errors
Slow Response Times
Problem: High latency
Solutions:
- Check network connection
- Verify server location/distance
- Increase timeout setting
- Check server performance
Best Practices
- Use Descriptive Names: Name servers clearly (e.g.,
github-prod,openai-dev) - Secure Headers: Store API tokens securely, rotate regularly
- Set Appropriate Timeouts: Balance between reliability and performance
- Monitor Metrics: Track latency and error rates
- Test Before Deploy: Use Test button before adding to agents
- Document Servers: Note what each server does and who uses it
Tested HTTP MCP Servers
# GitHub Copilot MCP
https://api.githubcopilot.com/mcp/
Note: MCP Gatekeeper works with any HTTP MCP server that follows the MCP HTTP transport specification.
Next Steps
- Agent Configuration - Configure HTTP servers for agents
- Server Activity - Monitor HTTP server usage
- Metrics Collection - Understand metrics tracking