MCP Server状态刷新失败,提示如下:
E:\mcp_study\mcp-chatbot\.venv\Scripts\python.exe E:\mcp_study\mcp-chatbot\main.py
INFO: Started server process [17592]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: 127.0.0.1:5587 - "OPTIONS /api/mcp_server HTTP/1.1" 200 OK
INFO: 127.0.0.1:5587 - "GET /api/mcp_server HTTP/1.1" 200 OK
INFO: 127.0.0.1:5587 - "OPTIONS /api/mcp_server/1/refresh HTTP/1.1" 200 OK
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\anyio\streams\memory.py", line 111, in receive
return self.receive_nowait()
^^^^^^^^^^^^^^^^^^^^^
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\anyio\streams\memory.py", line 106, in receive_nowait
raise WouldBlock
anyio.WouldBlock
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:\mcp_study\mcp-chatbot\app\mcp_client.py", line 34, in connect_to_server
await self.session.initialize()
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\mcp\client\session.py", line 151, in initialize
result = await self.send_request(
^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\mcp\shared\session.py", line 272, in send_request
response_or_error = await response_stream_reader.receive()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\anyio\streams\memory.py", line 119, in receive
await receive_event.wait()
File "C:\Users\Clip\AppData\Local\Programs\Python\Python311\Lib\asyncio\locks.py", line 213, in wait
await fut
asyncio.exceptions.CancelledError: Cancelled by cancel scope 1bfe83e6f10
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 403, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\fastapi\applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\applications.py", line 113, in __call__
await self.middleware_stack(scope, receive, send)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\middleware\cors.py", line 93, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\middleware\cors.py", line 144, in simple_response
await self.app(scope, receive, send)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\middleware\exceptions.py", line 63, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\routing.py", line 716, in __call__
await self.middleware_stack(scope, receive, send)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\routing.py", line 736, in app
await route.handle(scope, receive, send)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\routing.py", line 290, in handle
await self.app(scope, receive, send)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\routing.py", line 78, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\starlette\routing.py", line 75, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\fastapi\routing.py", line 302, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\fastapi\routing.py", line 213, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\mcp_study\mcp-chatbot\main.py", line 123, in refresh_mcp_server_status
is_online = await connect_and_cache_client(mcp_server)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\mcp_study\mcp-chatbot\main.py", line 38, in connect_and_cache_client
await client.connect_to_server()
File "E:\mcp_study\mcp-chatbot\app\mcp_client.py", line 50, in connect_to_server
await self.cleanup()
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\anyio\_backends\_asyncio.py", line 776, in __aexit__
raise exc_val
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\anyio\_backends\_asyncio.py", line 744, in __aexit__
await self._on_completed_fut
asyncio.exceptions.CancelledError: Cancelled by cancel scope 1bfe83e7f50
Exception in callback _ProactorBasePipeTransport._call_connection_lost(None)
handle: <Handle _ProactorBasePipeTransport._call_connection_lost(None)>
Traceback (most recent call last):
File "C:\Users\Clip\AppData\Local\Programs\Python\Python311\Lib\asyncio\events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "C:\Users\Clip\AppData\Local\Programs\Python\Python311\Lib\asyncio\proactor_events.py", line 165, in _call_connection_lost
self._sock.shutdown(socket.SHUT_RDWR)
ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
INFO: 127.0.0.1:5587 - "PUT /api/mcp_server/1/refresh HTTP/1.1" 500 Internal Server Error
Task exception was never retrieved
future: <Task finished name='Task-15' coro=<<async_generator_athrow without __name__>()> exception=RuntimeError('Attempted to exit cancel scope in a different task than it was entered in')>
+ Exception Group Traceback (most recent call last):
| File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\anyio\_backends\_asyncio.py", line 772, in __aexit__
| raise BaseExceptionGroup(
| BaseExceptionGroup: unhandled errors in a TaskGroup (2 sub-exceptions)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\mcp\client\streamable_http.py", line 409, in handle_request_async
| await self._handle_post_request(ctx)
| File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\mcp\client\streamable_http.py", line 278, in _handle_post_request
| response.raise_for_status()
| File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\httpx\_models.py", line 829, in raise_for_status
| raise HTTPStatusError(message, request=request, response=self)
| httpx.HTTPStatusError: Server error '503 Service Unavailable' for url 'http://localhost:8001/mcp?key=9c7028084b061e2e3ec42f85fda10378'
| For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503
+---------------- 2 ----------------
| Traceback (most recent call last):
| File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\mcp\client\streamable_http.py", line 502, in streamablehttp_client
| yield (
| GeneratorExit
+------------------------------------
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\mcp\client\streamable_http.py", line 478, in streamablehttp_client
async with anyio.create_task_group() as tg:
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\anyio\_backends\_asyncio.py", line 778, in __aexit__
if self.cancel_scope.__exit__(type(exc), exc, exc.__traceback__):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\mcp_study\mcp-chatbot\.venv\Lib\site-packages\anyio\_backends\_asyncio.py", line 457, in __exit__
raise RuntimeError(
RuntimeError: Attempted to exit cancel scope in a different task than it was entered inAI初步分析是weather mcp服务不可用:



但weather mcp这边看输出,是没有收到请求:

但cherry studio确实是可以使用该服务的



这样对比分析,是不是有可能是client这块没有发出请求