Skip to content

chore: migrate MCP servers to mcp SDK 2.0 (FastMCP removed) #301

Description

@ShotaroKataoka

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions