Open
Description
Throwing an error when the function takes too long
import asyncio
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Demo")
@mcp.tool()
async def add(a: int, b: int) -> int:
# await asyncio.sleep(5) # work well
await asyncio.sleep(60) # TypeError: 'NoneType' object is not callable
return a + b
mcp.run(transport="sse")
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\uvicorn\protocols\http\httptools_impl.py", line 426, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 84, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\applications.py", line 112, in __call__
await self.middleware_stack(scope, receive, send)
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\middleware\errors.py", line 187, in __call__
raise exc
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\middleware\errors.py", line 165, in __call__
await self.app(scope, receive, _send)
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\middleware\exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\routing.py", line 716, in __call__
await self.middleware_stack(scope, receive, send)
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\routing.py", line 736, in app
await route.handle(scope, receive, send)
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\routing.py", line 290, in handle
await self.app(scope, receive, send)
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\routing.py", line 78, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
raise exc
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "D:\Users\Kan\miniconda3\envs\py311\Lib\site-packages\starlette\routing.py", line 76, in app
await response(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not callable
Python 3.11.6 windows 11
mcp==1.6.0
starlette==0.46.1
uvicorn==0.34.0
Metadata
Metadata
Assignees
Labels
No labels