Skip to content

Commit b12c335

Browse files
committed
fix: inference mcp servers
1 parent 2e68793 commit b12c335

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

agent-chat-cli.config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ include_partial_messages: true
1010

1111
# Enable dynamic/lazy MCP server inference. Useful if one has many MCP servers or
1212
# many tools, or is cost conscious about loading everything up front.
13-
mcp_server_inference: false
13+
mcp_server_inference: true
1414

1515
# Global tool restrictions
1616
disallowed_tools: ["Bash"]

src/agent_chat_cli/core/agent_loop.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
from agent_chat_cli.utils.enums import AgentMessageType, ContentType, ControlCommand
2626
from agent_chat_cli.core.mcp_inference import infer_mcp_servers
2727
from agent_chat_cli.utils.logger import log_json
28-
from agent_chat_cli.utils.mcp_server_status import MCPServerStatus
2928

3029
if TYPE_CHECKING:
3130
from agent_chat_cli.app import AgentChatCLIApp
@@ -166,7 +165,7 @@ async def _handle_message(self, message: Any) -> None:
166165
self.session_id = message.data["session_id"]
167166

168167
# Report status back to UI
169-
MCPServerStatus.update(message.data["mcp_servers"])
168+
# MCPServerStatus.update(message.data["mcp_servers"])
170169

171170
# Handle streaming messages
172171
if hasattr(message, "event"):

src/agent_chat_cli/utils/mcp_server_status.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from typing import Any, Callable
22

3+
from agent_chat_cli.utils.config import load_config
4+
35

46
class MCPServerStatus:
57
# After the first query is sent, claude agent sdk sends back an init payload which
@@ -18,6 +20,13 @@ def update(cls, mcp_servers: list[dict[str, Any]]) -> None:
1820

1921
@classmethod
2022
def is_connected(cls, server_name: str) -> bool:
23+
config = load_config()
24+
25+
if config.mcp_server_inference is True and not cls._mcp_servers:
26+
# If we're inferring servers based on input, we assume things can connect
27+
# until we actually fetch the server, at which point status is updated.
28+
return True
29+
2130
for server in cls._mcp_servers:
2231
if server.get("name") == server_name:
2332
return server.get("status") == "connected"

0 commit comments

Comments
 (0)