"""测试 SSE MCP 客户端连接""" import asyncio import sys from mcp.client.sse import sse_client from mcp.client.session import ClientSession async def main(): url = "http://127.0.0.1:8001/mcp/sse" print(f"连接到: {url}") try: async with sse_client(url) as (read_stream, write_stream): print("SSE 连接建立成功!") async with ClientSession(read_stream, write_stream) as session: print("正在初始化 MCP 会话...") result = await session.initialize() print(f"初始化成功! Server: {result.serverInfo.name} v{result.serverInfo.version}") print("\n列出工具...") tools = await session.list_tools() print(f"工具数量: {len(tools.tools)}") for t in tools.tools: print(f" - {t.name}: {t.description[:60]}") print("\n提交一个测试任务...") result = await session.call_tool("submit_task", { "description": "这是一个测试任务,请回复 hello world", "project_path": "D:\\nzy\\workspace_git", }) print(f"结果: {result}") except Exception as e: print(f"连接失败: {type(e).__name__}: {e}") import traceback traceback.print_exc() sys.exit(1) if __name__ == "__main__": asyncio.run(main())