Skip to content

Commit cbdbd1f

Browse files
committed
Fix .env files in user projects potentially affecting fastmcp Settings #200
1 parent 5eb5930 commit cbdbd1f

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/serena/mcp.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
from mcp.server.fastmcp import server
2222
from mcp.server.fastmcp.server import FastMCP, Settings
2323
from mcp.server.fastmcp.tools.base import Tool as MCPTool
24+
from pydantic_settings import SettingsConfigDict
2425
from sensai.util import logging
2526
from sensai.util.helper import mark_used
2627

@@ -271,6 +272,12 @@ async def monitor_global_shutdown() -> None:
271272
signal.signal(signal.SIGINT, sigint_singal)
272273
signal.signal(signal.SIGTERM, sigterm_signal)
273274

275+
276+
# Override model_config to disable the use of `.env` files for reading settings, because user projects are likely to contain
277+
# `.env` files (e.g. containing LOG_LEVEL) that are not supposed to override the MCP settings;
278+
# retain only FASTMCP_ prefix for already set environment variables.
279+
Settings.model_config = SettingsConfigDict(env_prefix="FASTMCP_")
280+
274281
mcp_settings = Settings(lifespan=server_lifespan, host=host, port=port)
275282
mcp = FastMCP(**mcp_settings.model_dump())
276283
return mcp, serena_agent_process

0 commit comments

Comments
 (0)