e2m2e.api.mcp.tools#

MCP 工具注册:由 Facade 方法自动派生。

纯派生 + 元数据标记(ADR 0014):MCP 工具 = Facade 方法全集,凡 mcp_exposed=True 的方法都注册。清单单一来源是 tool_inventory(), 本模块只消费它,不维护第二份清单。

placeholder 状态的工具**不注册**:Agent 不应调到空实现;待其落地为 implemented 后由清单单一来源自动出现在 server 上。

Classes#

ToolSpec

一个可注册的 MCP 工具规格。

Functions#

tool_spec(→ ToolSpec | None)

单个工具的规格:按需构造 schema,不重建全量清单(#601)。

tool_specs(→ list[ToolSpec])

由暴露类纯派生工具规格(placeholder 不注册)。

Module Contents#

class e2m2e.api.mcp.tools.ToolSpec#

一个可注册的 MCP 工具规格。

name: str#
description: str#
input_schema: dict[str, Any]#
method: collections.abc.Callable[..., Any]#
e2m2e.api.mcp.tools.tool_spec(facade: Any, name: str) → ToolSpec | None#

单个工具的规格:按需构造 schema,不重建全量清单(#601)。

属主解析跨暴露类(ADR 0043 决策 5,单一入口 resolve_tool_method());无 exposed_apis 的 单一对象(测试桩)按自身解析。未知工具或 placeholder 返回 None—— placeholder 不注册,调用未知工具同义。

e2m2e.api.mcp.tools.tool_specs(facade: Any) → list[ToolSpec]#

由暴露类纯派生工具规格(placeholder 不注册)。