Yuxi-Know icon indicating copy to clipboard operation
Yuxi-Know copied to clipboard

Error: 添加MCP:@benborla29/[email protected] (MySQL工具)一直卡着?请问这是怎么回事呢?

Open wxw-123 opened this issue 4 weeks ago • 7 comments

1️⃣ 描述一下问题

"mcp_server_mysql": {
    "command": "npx",
    "args": ["-y", "@benborla29/[email protected]"],
    "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASS": "2211",
        "MYSQL_DB": "gy",
    },
    "transport": "stdio"

},

2️⃣ 报错日志

请运行以下命令,并提供部分相关日志:

运行之后,一直卡着

11-28 20:44:35 INFO dynamic_tool_middleware.py:33: Pre-loading MCP tools from: mcp_server_mysql
{'mcp_server_mysql': {'command': 'npx', 'args': ['-y', '@benborla29/[email protected]'], 'env': {'MYSQL_HOST': 'localhost', 'MYSQL_PORT': '3306', 'MYSQL_USER': 'root', 'MYSQL_PASS': '2211', 'MYSQL_DB': 'gy'}, 'transport': 'stdio'}}
11-28 20:44:35 INFO mcp.py:79: Initialized MCP client with servers: ['mcp_server_mysql']


3️⃣ 相关截图

Image

#️⃣ 其他相关信息

这是MCP.py,请博主看看呢

`"""MCP Client setup and management for LangGraph ReAct Agent."""
import asyncio
from collections.abc import Callable
from typing import Any, cast

from langchain_mcp_adapters.client import (  # type: ignore[import-untyped]
    MultiServerMCPClient,
)
# from langchain_mcp_adapters.client import MultiServerMCPClient

from src.utils import logger

# Global MCP tools cache
_mcp_tools_cache: dict[str, list[Callable[..., Any]]] = {}

# MCP Server configurations
MCP_SERVERS = {
    # "sequentialthinking": {
    #     "command": "npx",
    #     "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"],
    #     "transport": "stdio"
    # },
    # "weather": {
    #     "command": "python",
    #     "args": ["-u",
    #              r"./mcp_servers\weather_server.py"],
    #     "transport": "stdio"
    # },
    # "mcp_server_chart": {
    #     "command": "npx",
    #     "args": ["-y", "@antv/mcp-server-chart"],
    #     "transport": "stdio"
    # },
    # "mcp-echarts": {
    #     "args": [
    #         "-y",
    #         "mcp-echarts"
    #     ],
    #     "command": "npx",
    #     "transport": "stdio",
    # },
    "mcp_server_mysql": {
        "command": "npx",
        "args": ["-y", "@benborla29/[email protected]"],
        "env": {
            "MYSQL_HOST": "localhost",
            "MYSQL_PORT": "3306",
            "MYSQL_USER": "root",
            "MYSQL_PASS": "2211",
            "MYSQL_DB": "gy",
        },
        "transport": "stdio"

    },
}


async def get_mcp_client(
        server_configs: dict[str, Any] | None = None,
) -> MultiServerMCPClient | None:
    """Initializes an MCP client with the given server configurations."""
    configs = server_configs or MCP_SERVERS
    print(configs)
    try:
        client = MultiServerMCPClient(configs)  # pyright: ignore[reportArgumentType]
        logger.info(f"Initialized MCP client with servers: {list(configs.keys())}")
        return client
    except Exception as e:
        logger.error("Failed to initialize MCP client: {}", e)
        return None


async def get_mcp_tools(server_name: str, additional_servers: dict[str, dict] = None) -> list[Callable[..., Any]]:
    """Get MCP tools for a specific server, initializing client if needed."""
    global _mcp_tools_cache

    # Return cached tools if available
    if server_name in _mcp_tools_cache:
        return _mcp_tools_cache[server_name]

    mcp_servers = MCP_SERVERS | (additional_servers or {})

    try:
        assert server_name in mcp_servers, f"Server {server_name} not found in MCP_SERVERS"
        client = await get_mcp_client({server_name: mcp_servers[server_name]})
        # print(client)
        if client is None:
            logger.error("Failed to initialize MCP client")
            return []

        # Get all tools and filter by server (if tools have server metadata)
        all_tools = await client.get_tools()
        print(all_tools)
        tools = cast(list[Callable[..., Any]], all_tools)
        print(tools)

        _mcp_tools_cache[server_name] = tools
        logger.info(f"Loaded {len(tools)} tools from MCP server '{server_name}'")
        return tools
    except AssertionError as e:
        logger.warning(f"Failed to load tools from MCP server '{server_name}': {e}")
        return []
    except Exception as e:
        logger.error(f"Failed to load tools from MCP server '{server_name}': {e}")
        return []


async def get_all_mcp_tools() -> list[Callable[..., Any]]:
    """Get all tools from all configured MCP servers."""
    all_tools = []
    for server_name in MCP_SERVERS.keys():
        tools = await get_mcp_tools(server_name)
        all_tools.extend(tools)
    return all_tools


def add_mcp_server(name: str, config: dict[str, Any]) -> None:
    """Add a new MCP server configuration."""
    MCP_SERVERS[name] = config
    # Clear client to force reinitialization with new config
    clear_mcp_cache()


def clear_mcp_cache() -> None:
    """Clear the MCP tools cache (useful for testing)."""
    global _mcp_tools_cache
    _mcp_tools_cache = {}`

wxw-123 avatar Nov 28 '25 12:11 wxw-123

奇了怪了;目前测试下来,使用 uvx / uv 启动的项目,就是启动的时候加载久一点,但还是能用。其余的都能成功,但是 npx 启用的 mcp 就会报错(不过这个mcp工具用着不舒服,我自己使用的是自己写的 mysql 工具,没有使用 mcp) 。


MCP_SERVERS = {
    # (1)远程 host 的 MCP
    "sequentialthinking": {
        "url": "https://remote.mcpservers.org/sequentialthinking/mcp",
        "transport": "streamable_http",
    },
    # (2)本地使用 npx 运行;需要在 docker 内安装 npx (**失败**)
    "mysql-npx": {
        "command": "npx",
        "args": ["-y", "src/agents/common/mcp_repos/mcp-server-mysql"],
        "env": {
            "MYSQL_HOST": "172.19.13.6",
            "MYSQL_PORT": "3306",
            "MYSQL_USER": "read-only",
            "MYSQL_PASS": "password123",
            "MYSQL_DB": "feed"
        },
        "transport": "stdio"
    },
    # (3)本地使用 uvx 运行
    "mysql-mcp-server-uvx": {
        "command": "uvx",
        "args": ["mysql_mcp_server"],
        "env": {
            "MYSQL_DATABASE": "your_database",
            "MYSQL_HOST": "localhost",
            "MYSQL_PASSWORD": "your_password",
            "MYSQL_PORT": "3306",
            "MYSQL_USER": "your_username"
        },
        "transport": "stdio"
    },
    # (4)本地使用 uv + git clone repo 运行(加载速度快)
    "arxiv-mcp-server": {
        "command": "uv",
        "args": [
            "tool",
            "run",
            "arxiv-mcp-server",
            "--storage-path", "src/agents/mcp_repos/arxiv-mcp-server"
        ],
        "transport": "stdio"
    }
}
11-30 23:59:47 INFO mcp.py:104: Loaded 1 tools from MCP server 'sequentialthinking'
11-30 23:59:47 INFO dynamic_tool_middleware.py:38: Registered 1 tools from sequentialthinking
11-30 23:59:47 INFO dynamic_tool_middleware.py:33: Pre-loading MCP tools from: mysql-npx
11-30 23:59:47 INFO mcp.py:76: Initialized MCP client with servers: ['mysql-npx']
11-30 23:59:48 ERROR mcp.py:110: Failed to load tools from MCP server 'mysql-npx': unhandled errors in a TaskGroup (1 sub-exception), traceback:   + Exception Group Traceback (most recent call last):
  |   File "/app/src/agents/common/mcp.py", line 100, in get_mcp_tools
  |     all_tools = await client.get_tools()
  |                 ^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/client.py", line 189, in get_tools
  |     tools_list = await asyncio.gather(*load_mcp_tool_tasks)
  |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/tools.py", line 369, in load_mcp_tools
  |     async with create_session(
  |                ^^^^^^^^^^^^^^^
  |   File "/usr/local/lib/python3.12/contextlib.py", line 231, in __aexit__
  |     await self.gen.athrow(value)
  |   File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 418, in create_session
  |     async with _create_stdio_session(**params) as session:
  |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/usr/local/lib/python3.12/contextlib.py", line 231, in __aexit__
  |     await self.gen.athrow(value)
  |   File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 231, in _create_stdio_session
  |     stdio_client(server_params) as (read, write),
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/usr/local/lib/python3.12/contextlib.py", line 231, in __aexit__
  |     await self.gen.athrow(value)
  |   File "/usr/local/lib/python3.12/site-packages/mcp/client/stdio/__init__.py", line 183, in stdio_client
  |     anyio.create_task_group() as tg,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^
  |   File "/usr/local/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 783, in __aexit__
  |     raise BaseExceptionGroup(
  | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
  +-+---------------- 1 ----------------
    | Exception Group Traceback (most recent call last):
    |   File "/usr/local/lib/python3.12/site-packages/mcp/client/stdio/__init__.py", line 189, in stdio_client
    |     yield read_stream, write_stream
    |   File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 232, in _create_stdio_session        
    |     ClientSession(read, write, **(session_kwargs or {})) as session,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/site-packages/mcp/shared/session.py", line 220, in __aexit__
    |     return await self._task_group.__aexit__(exc_type, exc_val, exc_tb)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/usr/local/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 783, in __aexit__
    |     raise BaseExceptionGroup(
    | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
    +-+---------------- 1 ----------------
      | Traceback (most recent call last):
      |   File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 234, in _create_stdio_session      
      |     yield session
      |   File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 419, in create_session
      |     yield session
      |   File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/tools.py", line 372, in load_mcp_tools
      |     await tool_session.initialize()
      |   File "/usr/local/lib/python3.12/site-packages/mcp/client/session.py", line 152, in initialize
      |     result = await self.send_request(
      |              ^^^^^^^^^^^^^^^^^^^^^^^^
      |   File "/usr/local/lib/python3.12/site-packages/mcp/shared/session.py", line 288, in send_request
      |     raise McpError(response_or_error.error)
      | mcp.shared.exceptions.McpError: Connection closed
      +------------------------------------

11-30 23:59:48 INFO dynamic_tool_middleware.py:38: Registered 0 tools from mysql-npx
11-30 23:59:48 INFO dynamic_tool_middleware.py:33: Pre-loading MCP tools from: mysql-mcp-server-uvx
11-30 23:59:48 INFO mcp.py:76: Initialized MCP client with servers: ['mysql-mcp-server-uvx']
11-30 23:59:49 INFO mcp.py:104: Loaded 1 tools from MCP server 'mysql-mcp-server-uvx'
11-30 23:59:49 INFO dynamic_tool_middleware.py:38: Registered 1 tools from mysql-mcp-server-uvx
11-30 23:59:49 INFO dynamic_tool_middleware.py:33: Pre-loading MCP tools from: arxiv-mcp-server
11-30 23:59:49 INFO mcp.py:76: Initialized MCP client with servers: ['arxiv-mcp-server']
11-30 23:59:49 INFO mcp.py:104: Loaded 4 tools from MCP server 'arxiv-mcp-server'
11-30 23:59:49 INFO dynamic_tool_middleware.py:38: Registered 4 tools from arxiv-mcp-server

xerrors avatar Nov 30 '25 16:11 xerrors

我这边是一直卡住 好像没有报错 其他的npx工具都可以 唯独就是这个不行

---原始邮件--- 发件人: "Wenjie @.> 发送时间: 2025年12月1日(周一) 凌晨0:05 收件人: @.>; 抄送: @.@.>; 主题: Re: [xerrors/Yuxi-Know] Error: @.@. (MySQL工具)一直卡着?请问这是怎么回事呢? (Issue #351)

xerrors left a comment (xerrors/Yuxi-Know#351)

奇了怪了;目前测试下来,使用 uvx / uv 启动的项目,就是启动的时候加载久一点,但还是能用。其余的都能成功,但是 npx 启用的 mcp 就会报错(不过这个mcp工具用着不舒服,我自己使用的是自己写的 mysql 工具,没有使用 mcp) 。 MCP_SERVERS = { # (1)远程 host 的 MCP "sequentialthinking": { "url": "https://remote.mcpservers.org/sequentialthinking/mcp", "transport": "streamable_http", }, # (2)本地使用 npx 运行;需要在 docker 内安装 npx (失败) "mysql-npx": { "command": "npx", "args": ["-y", "src/agents/common/mcp_repos/mcp-server-mysql"], "env": { "MYSQL_HOST": "172.19.13.6", "MYSQL_PORT": "3306", "MYSQL_USER": "read-only", "MYSQL_PASS": "password123", "MYSQL_DB": "feed" }, "transport": "stdio" }, # (3)本地使用 uvx 运行 "mysql-mcp-server-uvx": { "command": "uvx", "args": ["mysql_mcp_server"], "env": { "MYSQL_DATABASE": "your_database", "MYSQL_HOST": "localhost", "MYSQL_PASSWORD": "your_password", "MYSQL_PORT": "3306", "MYSQL_USER": "your_username" }, "transport": "stdio" }, # (4)本地使用 uv + git clone repo 运行(加载速度快) "arxiv-mcp-server": { "command": "uv", "args": [ "tool", "run", "arxiv-mcp-server", "--storage-path", "src/agents/mcp_repos/arxiv-mcp-server" ], "transport": "stdio" } } 11-30 23:59:47 INFO mcp.py:104: Loaded 1 tools from MCP server 'sequentialthinking' 11-30 23:59:47 INFO dynamic_tool_middleware.py:38: Registered 1 tools from sequentialthinking 11-30 23:59:47 INFO dynamic_tool_middleware.py:33: Pre-loading MCP tools from: mysql-npx 11-30 23:59:47 INFO mcp.py:76: Initialized MCP client with servers: ['mysql-npx'] 11-30 23:59:48 ERROR mcp.py:110: Failed to load tools from MCP server 'mysql-npx': unhandled errors in a TaskGroup (1 sub-exception), traceback: + Exception Group Traceback (most recent call last): | File "/app/src/agents/common/mcp.py", line 100, in get_mcp_tools | all_tools = await client.get_tools() | ^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/client.py", line 189, in get_tools | tools_list = await asyncio.gather(*load_mcp_tool_tasks) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/tools.py", line 369, in load_mcp_tools | async with create_session( | ^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/contextlib.py", line 231, in aexit | await self.gen.athrow(value) | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 418, in create_session | async with _create_stdio_session(*params) as session: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/contextlib.py", line 231, in aexit | await self.gen.athrow(value) | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 231, in _create_stdio_session | stdio_client(server_params) as (read, write), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/contextlib.py", line 231, in aexit | await self.gen.athrow(value) | File "/usr/local/lib/python3.12/site-packages/mcp/client/stdio/init.py", line 183, in stdio_client | anyio.create_task_group() as tg, | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 783, in aexit | raise BaseExceptionGroup( | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Exception Group Traceback (most recent call last): | File "/usr/local/lib/python3.12/site-packages/mcp/client/stdio/init.py", line 189, in stdio_client | yield read_stream, write_stream | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 232, in _create_stdio_session | ClientSession(read, write, (session_kwargs or {})) as session, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/mcp/shared/session.py", line 220, in aexit | return await self._task_group.aexit(exc_type, exc_val, exc_tb) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 783, in aexit | raise BaseExceptionGroup( | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 234, in _create_stdio_session | yield session | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 419, in create_session | yield session | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/tools.py", line 372, in load_mcp_tools | await tool_session.initialize() | File "/usr/local/lib/python3.12/site-packages/mcp/client/session.py", line 152, in initialize | result = await self.send_request( | ^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/mcp/shared/session.py", line 288, in send_request | raise McpError(response_or_error.error) | mcp.shared.exceptions.McpError: Connection closed +------------------------------------ 11-30 23:59:48 INFO dynamic_tool_middleware.py:38: Registered 0 tools from mysql-npx 11-30 23:59:48 INFO dynamic_tool_middleware.py:33: Pre-loading MCP tools from: mysql-mcp-server-uvx 11-30 23:59:48 INFO mcp.py:76: Initialized MCP client with servers: ['mysql-mcp-server-uvx'] 11-30 23:59:49 INFO mcp.py:104: Loaded 1 tools from MCP server 'mysql-mcp-server-uvx' 11-30 23:59:49 INFO dynamic_tool_middleware.py:38: Registered 1 tools from mysql-mcp-server-uvx 11-30 23:59:49 INFO dynamic_tool_middleware.py:33: Pre-loading MCP tools from: arxiv-mcp-server 11-30 23:59:49 INFO mcp.py:76: Initialized MCP client with servers: ['arxiv-mcp-server'] 11-30 23:59:49 INFO mcp.py:104: Loaded 4 tools from MCP server 'arxiv-mcp-server' 11-30 23:59:49 INFO dynamic_tool_middleware.py:38: Registered 4 tools from arxiv-mcp-server
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.
>

wxw-123 avatar Nov 30 '25 16:11 wxw-123

还有一个好像博主你的参数和我的有点不一样,我是使用的官方的

---原始邮件--- 发件人: "Wenjie @.> 发送时间: 2025年12月1日(周一) 凌晨0:05 收件人: @.>; 抄送: @.@.>; 主题: Re: [xerrors/Yuxi-Know] Error: @.@. (MySQL工具)一直卡着?请问这是怎么回事呢? (Issue #351)

xerrors left a comment (xerrors/Yuxi-Know#351)

奇了怪了;目前测试下来,使用 uvx / uv 启动的项目,就是启动的时候加载久一点,但还是能用。其余的都能成功,但是 npx 启用的 mcp 就会报错(不过这个mcp工具用着不舒服,我自己使用的是自己写的 mysql 工具,没有使用 mcp) 。 MCP_SERVERS = { # (1)远程 host 的 MCP "sequentialthinking": { "url": "https://remote.mcpservers.org/sequentialthinking/mcp", "transport": "streamable_http", }, # (2)本地使用 npx 运行;需要在 docker 内安装 npx (失败) "mysql-npx": { "command": "npx", "args": ["-y", "src/agents/common/mcp_repos/mcp-server-mysql"], "env": { "MYSQL_HOST": "172.19.13.6", "MYSQL_PORT": "3306", "MYSQL_USER": "read-only", "MYSQL_PASS": "password123", "MYSQL_DB": "feed" }, "transport": "stdio" }, # (3)本地使用 uvx 运行 "mysql-mcp-server-uvx": { "command": "uvx", "args": ["mysql_mcp_server"], "env": { "MYSQL_DATABASE": "your_database", "MYSQL_HOST": "localhost", "MYSQL_PASSWORD": "your_password", "MYSQL_PORT": "3306", "MYSQL_USER": "your_username" }, "transport": "stdio" }, # (4)本地使用 uv + git clone repo 运行(加载速度快) "arxiv-mcp-server": { "command": "uv", "args": [ "tool", "run", "arxiv-mcp-server", "--storage-path", "src/agents/mcp_repos/arxiv-mcp-server" ], "transport": "stdio" } } 11-30 23:59:47 INFO mcp.py:104: Loaded 1 tools from MCP server 'sequentialthinking' 11-30 23:59:47 INFO dynamic_tool_middleware.py:38: Registered 1 tools from sequentialthinking 11-30 23:59:47 INFO dynamic_tool_middleware.py:33: Pre-loading MCP tools from: mysql-npx 11-30 23:59:47 INFO mcp.py:76: Initialized MCP client with servers: ['mysql-npx'] 11-30 23:59:48 ERROR mcp.py:110: Failed to load tools from MCP server 'mysql-npx': unhandled errors in a TaskGroup (1 sub-exception), traceback: + Exception Group Traceback (most recent call last): | File "/app/src/agents/common/mcp.py", line 100, in get_mcp_tools | all_tools = await client.get_tools() | ^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/client.py", line 189, in get_tools | tools_list = await asyncio.gather(*load_mcp_tool_tasks) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/tools.py", line 369, in load_mcp_tools | async with create_session( | ^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/contextlib.py", line 231, in aexit | await self.gen.athrow(value) | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 418, in create_session | async with _create_stdio_session(*params) as session: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/contextlib.py", line 231, in aexit | await self.gen.athrow(value) | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 231, in _create_stdio_session | stdio_client(server_params) as (read, write), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/contextlib.py", line 231, in aexit | await self.gen.athrow(value) | File "/usr/local/lib/python3.12/site-packages/mcp/client/stdio/init.py", line 183, in stdio_client | anyio.create_task_group() as tg, | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 783, in aexit | raise BaseExceptionGroup( | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Exception Group Traceback (most recent call last): | File "/usr/local/lib/python3.12/site-packages/mcp/client/stdio/init.py", line 189, in stdio_client | yield read_stream, write_stream | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 232, in _create_stdio_session | ClientSession(read, write, (session_kwargs or {})) as session, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/mcp/shared/session.py", line 220, in aexit | return await self._task_group.aexit(exc_type, exc_val, exc_tb) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 783, in aexit | raise BaseExceptionGroup( | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 234, in _create_stdio_session | yield session | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/sessions.py", line 419, in create_session | yield session | File "/usr/local/lib/python3.12/site-packages/langchain_mcp_adapters/tools.py", line 372, in load_mcp_tools | await tool_session.initialize() | File "/usr/local/lib/python3.12/site-packages/mcp/client/session.py", line 152, in initialize | result = await self.send_request( | ^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/local/lib/python3.12/site-packages/mcp/shared/session.py", line 288, in send_request | raise McpError(response_or_error.error) | mcp.shared.exceptions.McpError: Connection closed +------------------------------------ 11-30 23:59:48 INFO dynamic_tool_middleware.py:38: Registered 0 tools from mysql-npx 11-30 23:59:48 INFO dynamic_tool_middleware.py:33: Pre-loading MCP tools from: mysql-mcp-server-uvx 11-30 23:59:48 INFO mcp.py:76: Initialized MCP client with servers: ['mysql-mcp-server-uvx'] 11-30 23:59:49 INFO mcp.py:104: Loaded 1 tools from MCP server 'mysql-mcp-server-uvx' 11-30 23:59:49 INFO dynamic_tool_middleware.py:38: Registered 1 tools from mysql-mcp-server-uvx 11-30 23:59:49 INFO dynamic_tool_middleware.py:33: Pre-loading MCP tools from: arxiv-mcp-server 11-30 23:59:49 INFO mcp.py:76: Initialized MCP client with servers: ['arxiv-mcp-server'] 11-30 23:59:49 INFO mcp.py:104: Loaded 4 tools from MCP server 'arxiv-mcp-server' 11-30 23:59:49 INFO dynamic_tool_middleware.py:38: Registered 4 tools from arxiv-mcp-server
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.
>

wxw-123 avatar Nov 30 '25 16:11 wxw-123

你可以就按照我最开始上面给的代码进行测试 我的是一直卡在那个地方了

wxw-123 avatar Nov 30 '25 16:11 wxw-123

那个也试了,报错是一致的;先用别的 uvx 的 mysql-mcp-server 吧

xerrors avatar Nov 30 '25 16:11 xerrors

测试了一下 这个mcp本身是没有问题的 可能是这个项目哪一个地方影响到这个 触发了BUG 我单独通过langchain和langgraph实现的 是可以调用的

wxw-123 avatar Dec 01 '25 02:12 wxw-123

"mysql-mcp-server-uvx": { "command": "uvx", "args": ["mysql_mcp_server"], "env": { "MYSQL_HOST": "127.0.0.1", "MYSQL_PORT": "3306", "MYSQL_USER": "root", "MYSQL_PASSWORD": "2211", "MYSQL_DATABASE": "gy" }, "transport": "stdio" }

12-01 11:07:10 ERROR mcp.py:200: Failed to load tools from MCP server 'mysql-mcp-server-uvx': [WinError 2] 系统找不到指定的文件。

博主使用这个mcp工具为啥找不到文件 我是中Windows上跑的

wxw-123 avatar Dec 01 '25 03:12 wxw-123