diff --git a/letta/functions/mcp_client/stdio_client.py b/letta/functions/mcp_client/stdio_client.py index d526beb8..be11af31 100644 --- a/letta/functions/mcp_client/stdio_client.py +++ b/letta/functions/mcp_client/stdio_client.py @@ -19,7 +19,7 @@ logger = get_logger(__name__) class StdioMCPClient(BaseMCPClient): def _initialize_connection(self, server_config: StdioServerConfig, timeout: float) -> bool: try: - server_params = StdioServerParameters(command=server_config.command, args=server_config.args) + server_params = StdioServerParameters(command=server_config.command, args=server_config.args, env=server_config.env) stdio_cm = forked_stdio_client(server_params) stdio_transport = self.loop.run_until_complete(asyncio.wait_for(stdio_cm.__aenter__(), timeout=timeout)) self.stdio, self.write = stdio_transport diff --git a/letta/server/server.py b/letta/server/server.py index 04434d37..1fb51948 100644 --- a/letta/server/server.py +++ b/letta/server/server.py @@ -1754,6 +1754,7 @@ class SyncServer(Server): server_name=server_name, command=server_params_raw["command"], args=server_params_raw.get("args", []), + env=server_params_raw.get("env", {}), ) mcp_server_list[server_name] = server_params except Exception as e: