Summary
mcp 2.0.0 removes mcp.server.fastmcp — both servers fail at import time:
File "servers/local/server.py", line 31
from mcp.server.fastmcp import FastMCP
ModuleNotFoundError: No module named 'mcp.server.fastmcp'
In 2.0 the server API lives in mcp.server.mcpserver (MCPServer), and the
old FastMCP class is gone (mcp.server now exposes mcpserver, lowlevel,
apps, ... — no fastmcp). This is not a drop-in bump; it needs a migration.
Dependabot PRs #295 (servers/local range widening to <3) and #297
(servers/remote mcp==2.0.0) were closed with this evidence. The <2 upper
bound in both pyproject.toml files stays until this issue is done.
Verified locally: uv pip install mcp[cli]==2.0.0 into the servers/local venv →
import server fails as above. With mcp 1.28/1.29 everything is green.
Scope
servers/local/server.py (+ server_acp.py if it touches mcp server APIs)
servers/remote/server.py
- Both
pyproject.toml bounds + servers/remote/constraints.txt (make lock)
- Check the FastMCP-specific surface we use:
mcp.tool() registration,
instructions, streamable-HTTP transport wiring in remote, stdio in local
Migration reference
Acceptance
- Both servers start and register all contract tools on mcp 2.x
make test green; local stdio smoke test + remote container-deps resolve
- Dependabot upper bound relaxed to
<3
Summary
mcp2.0.0 removesmcp.server.fastmcp— both servers fail at import time:In 2.0 the server API lives in
mcp.server.mcpserver(MCPServer), and theold FastMCP class is gone (
mcp.servernow exposesmcpserver,lowlevel,apps, ... — nofastmcp). This is not a drop-in bump; it needs a migration.Dependabot PRs #295 (servers/local range widening to
<3) and #297(servers/remote
mcp==2.0.0) were closed with this evidence. The<2upperbound in both
pyproject.tomlfiles stays until this issue is done.Verified locally:
uv pip install mcp[cli]==2.0.0into the servers/local venv →import serverfails as above. With mcp 1.28/1.29 everything is green.Scope
servers/local/server.py(+server_acp.pyif it touches mcp server APIs)servers/remote/server.pypyproject.tomlbounds +servers/remote/constraints.txt(make lock)mcp.tool()registration,instructions, streamable-HTTP transport wiring in remote, stdio in local
Migration reference
mcp.server.mcpserver.MCPServerAcceptance
make testgreen; local stdio smoke test + remote container-deps resolve<3