da5b8435bc
The MCP SDK's DNS rebinding protection rejects remote clients with 421 when the Host header isn't in the allowlist. Add KB_MCP_ALLOWED_HOSTS env var (comma-separated IPs/FQDNs) to configure additional allowed hosts while keeping localhost always permitted. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
18 lines
593 B
Python
18 lines
593 B
Python
"""Configuration from environment variables."""
|
|
|
|
import os
|
|
|
|
|
|
KB_ENGINE_URL = os.environ.get("KB_ENGINE_URL", "http://localhost:8000")
|
|
KB_API_KEY = os.environ.get("KB_API_KEY", "")
|
|
KB_MCP_API_KEY = os.environ.get("KB_MCP_API_KEY", "")
|
|
KB_MCP_PORT = int(os.environ.get("KB_MCP_PORT", "3000"))
|
|
KB_MCP_ALLOWED_HOSTS = os.environ.get("KB_MCP_ALLOWED_HOSTS", "")
|
|
|
|
|
|
def parse_allowed_hosts() -> list[str]:
|
|
"""Parse KB_MCP_ALLOWED_HOSTS into a list of host strings."""
|
|
if not KB_MCP_ALLOWED_HOSTS:
|
|
return []
|
|
return [h.strip() for h in KB_MCP_ALLOWED_HOSTS.split(",") if h.strip()]
|