fix: allow all hosts
This commit is contained in:
+21
-1
@@ -19,6 +19,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
from collections.abc import AsyncIterator
|
from collections.abc import AsyncIterator
|
||||||
from contextlib import asynccontextmanager
|
from contextlib import asynccontextmanager
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
@@ -26,6 +27,7 @@ from dataclasses import dataclass
|
|||||||
from mcp.server.auth.provider import TokenVerifier
|
from mcp.server.auth.provider import TokenVerifier
|
||||||
from mcp.server.auth.settings import AuthSettings
|
from mcp.server.auth.settings import AuthSettings
|
||||||
from mcp.server.fastmcp import FastMCP
|
from mcp.server.fastmcp import FastMCP
|
||||||
|
from mcp.server.transport_security import TransportSecuritySettings
|
||||||
|
|
||||||
from owa_mcp.owa_client import OWAClient
|
from owa_mcp.owa_client import OWAClient
|
||||||
from owa_mcp.server_lifecycle import (
|
from owa_mcp.server_lifecycle import (
|
||||||
@@ -74,7 +76,21 @@ _lifespan_cookie_file: str | None = None
|
|||||||
|
|
||||||
|
|
||||||
# ── Module-level MCP server (imported by all tool modules) ────────────────
|
# ── Module-level MCP server (imported by all tool modules) ────────────────
|
||||||
mcp: FastMCP = FastMCP("owa", lifespan=app_lifespan)
|
mcp: FastMCP = FastMCP(
|
||||||
|
"owa",
|
||||||
|
lifespan=app_lifespan,
|
||||||
|
transport_security=TransportSecuritySettings(
|
||||||
|
enable_dns_rebinding_protection=False,
|
||||||
|
allowed_hosts=[],
|
||||||
|
allowed_origins=[],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
# Force-disable DNS rebinding protection even if FastMCP auto-config
|
||||||
|
# overwrites it (e.g. when --host is a non-localhost address).
|
||||||
|
mcp.settings.transport_security = TransportSecuritySettings(
|
||||||
|
enable_dns_rebinding_protection=False,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def _parse_args(argv=None) -> argparse.Namespace:
|
def _parse_args(argv=None) -> argparse.Namespace:
|
||||||
@@ -207,6 +223,10 @@ def main(argv=None) -> None:
|
|||||||
mcp.settings.port = args.port
|
mcp.settings.port = args.port
|
||||||
|
|
||||||
# ── Run transport ─────────────────────────────────────────────────────
|
# ── Run transport ─────────────────────────────────────────────────────
|
||||||
|
# Allow all X-Forwarded-* headers (needed when behind a proxy or
|
||||||
|
# when clients connect with a non-default Host header).
|
||||||
|
os.environ["FORWARDED_ALLOW_IPS"] = "*"
|
||||||
|
|
||||||
match args.transport:
|
match args.transport:
|
||||||
case "stdio":
|
case "stdio":
|
||||||
mcp.run()
|
mcp.run()
|
||||||
|
|||||||
Reference in New Issue
Block a user