8000 Throwing an error when the function takes too long, TypeError: 'NoneType' object is not callable · Issue #389 · modelcontextprotocol/python-sdk · GitHub
[go: up one dir, main page]

Skip to content
Throwing an error when the function takes too long, TypeError: 'NoneType' object is not callable #389
Open
@wukan1986

Description

@wukan1986

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0