"""MCP SDK 2.1.1 注册与调用导读，无模型、无网络传输；本轮未执行。"""
import asyncio
import inspect
from mcp.server.mcpserver.tools.base import Tool
from mcp.server.mcpserver.tools.tool_manager import ToolManager
from mcp_server import mcp


async def main() -> None:
    # 打印当前安装包路径，阅读时确认不是意外进入另一版本环境。
    print("Tool.from_function:", inspect.getsourcefile(Tool.from_function))
    print("ToolManager.call_tool:", inspect.getsourcefile(ToolManager.call_tool))
    tools = await mcp.list_tools()
    for tool in tools:
        # SDK 属性 input_schema 对应线协议 inputSchema，不是同一层命名。
        print(tool.name, tool.input_schema)
    # 直接 Server 调用用于追踪注册与结果转换，不能验证 stdio 或远程授权。
    result = await mcp.call_tool("get_order", {"order_id": "A1042"})
    print(result)


if __name__ == "__main__":
    asyncio.run(main())
