-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Closed
Description
Describe the bug
Unable to start MCP server
To Reproduce
from mcp.server.fastmcp import FastMCP
mcp = FastMCP(
"Echo Server",
port=9000,
debug=True,
log_level="DEBUG",
)
@mcp.tool()
def echo(text: str) -> str:
"""Echo the input text"""
return text
if __name__ == "__main__":
mcp.run()$ uv run mcp_server.py
[03/20/25 16:31:00] DEBUG Using selector: EpollSelector
<---HANG--->$ curl http://localhost:9000
curl: (7) Failed to connect to localhost port 9000 after 0 ms: Could not connect to serverExpected behavior
Server starts
Additional information
Stack trace on SIGINT
File "/home/sirianni/src/example/.venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2303, in run
return runner.run(wrapper())
^^^^^^^^^^^^^^^^^^^^^
File "/home/sirianni/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sirianni/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/lib/python3.12/asyncio/base_events.py", line 678, in run_until_complete
self.run_forever()
File "/home/sirianni/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/lib/python3.12/asyncio/base_events.py", line 645, in run_forever
self._run_once()
File "/home/sirianni/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/lib/python3.12/asyncio/base_events.py", line 1961, in _run_once
event_list = self._selector.select(timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sirianni/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/lib/python3.12/selectors.py", line 468, in select
fd_event_list = self._selector.poll(timeout, max_ev)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sirianni/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/lib/python3.12/asyncio/runners.py", line 157, in _on_sigint
raise KeyboardInterrupt()
KeyboardInterrupt
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/sirianni/src/example/mcp_server.py", line 18, in <module>
mcp.run()
File "/home/sirianni/src/example/.venv/lib/python3.12/site-packages/mcp/server/fastmcp/server.py", line 154, in run
anyio.run(self.run_stdio_async)
File "/home/sirianni/src/example/.venv/lib/python3.12/site-packages/anyio/_core/_eventloop.py", line 74, in run
return async_backend.run(func, args, {}, backend_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sirianni/src/example/.venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2302, in run
with Runner(debug=debug, loop_factory=loop_factory) as runner:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sirianni/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/lib/python3.12/asyncio/runners.py", line 62, in __exit__
self.close()
File "/home/sirianni/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/lib/python3.12/asyncio/runners.py", line 70, in close
_cancel_all_tasks(loop)
File "/home/sirianni/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/lib/python3.12/asyncio/runners.py", line 199, in _cancel_all_tasks
to_cancel = tasks.all_tasks(loop)
^^^^^^^^^^^^^^^^^^^^^
File "/home/sirianni/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/lib/python3.12/asyncio/tasks.py", line 59, in all_tasks
scheduled_tasks = list(_scheduled_tasks)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/sirianni/.local/share/uv/python/cpython-3.12.9-linux-x86_64-gnu/lib/python3.12/_weakrefset.py", line 64, in __iter__
with _IterationGuard(self):
^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt
Metadata
Metadata
Assignees
Labels
No labels