From 7835c1b34989aa98774fec0c70e3b351e9dd0f97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=8E=E5=A4=A9=E5=A5=BD=E5=83=8F=E6=B2=A1=E4=BB=80?= =?UTF-8?q?=E4=B9=88?= Date: Fri, 31 Oct 2025 21:10:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E4=B8=80=E4=B8=8Bstdio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 顺便说一下猫猫真的很可爱,拾风真的很好rua ,狐狐真的很可爱 --- src/mcp_integration/__init__.py | 0 src/mcp_integration/client_manager.py | 1 - src/mcp_integration/config_loader.py | 0 src/mcp_integration/tool_wrapper.py | 0 src/plugin_system/core/mcp_client_manager.py | 16 +++++++++++----- 5 files changed, 11 insertions(+), 6 deletions(-) delete mode 100644 src/mcp_integration/__init__.py delete mode 100644 src/mcp_integration/client_manager.py delete mode 100644 src/mcp_integration/config_loader.py delete mode 100644 src/mcp_integration/tool_wrapper.py diff --git a/src/mcp_integration/__init__.py b/src/mcp_integration/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/mcp_integration/client_manager.py b/src/mcp_integration/client_manager.py deleted file mode 100644 index 5f282702b..000000000 --- a/src/mcp_integration/client_manager.py +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/mcp_integration/config_loader.py b/src/mcp_integration/config_loader.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/mcp_integration/tool_wrapper.py b/src/mcp_integration/tool_wrapper.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/plugin_system/core/mcp_client_manager.py b/src/plugin_system/core/mcp_client_manager.py index 02bd0eaa3..de19383fe 100644 --- a/src/plugin_system/core/mcp_client_manager.py +++ b/src/plugin_system/core/mcp_client_manager.py @@ -10,7 +10,7 @@ from pathlib import Path from typing import Any import mcp.types -from fastmcp.client import Client, StreamableHttpTransport +from fastmcp.client import Client, StdioTransport, StreamableHttpTransport from src.common.logger import get_logger @@ -169,11 +169,17 @@ class MCPClientManager: client = Client(transport, timeout=server_config.timeout) - elif transport_type == "sse": - from fastmcp.client import SSETransport + elif transport_type == "stdio": + # stdio 传输:通过标准输入输出与本地进程通信 + command = server_config.transport_config.get("command") + args = server_config.transport_config.get("args", []) - url = server_config.transport_config["url"] - client = Client(SSETransport(url), timeout=server_config.timeout) + if not command: + raise ValueError("stdio 传输需要提供 'command' 参数") + + # 创建 stdio 传输 + transport = StdioTransport(command, args) + client = Client(transport, timeout=server_config.timeout) else: raise ValueError(f"不支持的传输类型: {transport_type}")