Add Cloudflare and Loki MCP server integrations
Features: - Cloudflare Code Mode MCP: Exposes entire Cloudflare API (2,500+ endpoints) via remote MCP server at https://mcp.cloudflare.com/mcp * Two tools: search() to query OpenAPI spec, execute() to run JS code * Uses npx mcp-remote as stdio bridge * Auth via CLOUDFLARE_API_TOKEN as Bearer header - Loki MCP Server: Log querying and analysis via Loki HTTP API * Query logs with LogQL syntax * Real-time log streaming support * Label introspection and metrics queries * Configurable via LOKI_URL environment variable Technical changes: - Created mcp_servers/cloudflare/ with config and connection logic - Created mcp_servers/loki/ with HTTP client and MCP tool wrappers - Added promtail-config-optimized.yaml for syslog ingestion config - Updated .env.example with Cloudflare and Loki configuration templates Both integrations: - Use environment variables for configuration (no hardcoded credentials) - Include feature flags (CLOUDFLARE_MCP_ENABLED, LOKI_MCP_ENABLED) - Follow existing MCP server patterns for consistency Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
37
mcp_servers/cloudflare/config.py
Normal file
37
mcp_servers/cloudflare/config.py
Normal file
@@ -0,0 +1,37 @@
|
||||
"""
|
||||
Cloudflare Code Mode MCP Server - Configuration
|
||||
|
||||
Remote MCP server that exposes the entire Cloudflare API through just two tools:
|
||||
- search(): Query the OpenAPI spec to find endpoints
|
||||
- execute(): Run JavaScript against the Cloudflare API
|
||||
|
||||
Environment variables:
|
||||
CLOUDFLARE_API_TOKEN - Your Cloudflare API token (required)
|
||||
CLOUDFLARE_MCP_URL - Remote MCP server URL (default: https://mcp.cloudflare.com/mcp)
|
||||
CLOUDFLARE_MCP_ENABLED - Enable/disable integration (default: true)
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Connection settings
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Cloudflare API token — create one at https://dash.cloudflare.com/profile/api-tokens
|
||||
# Recommended permissions: Account Resources (Read) + whatever you need
|
||||
CLOUDFLARE_API_TOKEN = os.getenv("CLOUDFLARE_API_TOKEN", "")
|
||||
|
||||
# The remote MCP server URL (Cloudflare runs this as a Worker)
|
||||
CLOUDFLARE_MCP_URL = os.getenv(
|
||||
"CLOUDFLARE_MCP_URL", "https://mcp.cloudflare.com/mcp"
|
||||
)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Feature flag
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Set to "false" to disable the integration without removing config
|
||||
CLOUDFLARE_MCP_ENABLED = os.getenv(
|
||||
"CLOUDFLARE_MCP_ENABLED", "true"
|
||||
).lower() in ("true", "1", "yes")
|
||||
Reference in New Issue
Block a user