注册mcp时,支持指定tool

This commit is contained in:
lihua
2026-03-13 16:40:25 +08:00
committed by Xubin Ren
parent 4dde195a28
commit 40fad91ec2

View File

@@ -138,11 +138,17 @@ async def connect_mcp_servers(
await session.initialize()
tools = await session.list_tools()
enabled_tools = set(cfg.enabled_tools) if cfg.enabled_tools else None
registered_count = 0
for tool_def in tools.tools:
if enabled_tools and tool_def.name not in enabled_tools:
logger.debug("MCP: skipping tool '{}' from server '{}' (not in enabledTools)", tool_def.name, name)
continue
wrapper = MCPToolWrapper(session, name, tool_def, tool_timeout=cfg.tool_timeout)
registry.register(wrapper)
logger.debug("MCP: registered tool '{}' from server '{}'", wrapper.name, name)
registered_count += 1
logger.info("MCP server '{}': connected, {} tools registered", name, len(tools.tools))
logger.info("MCP server '{}': connected, {} tools registered", name, registered_count)
except Exception as e:
logger.error("MCP server '{}': failed to connect: {}", name, e)