Skip to content

Port the host server to the mcp 2.x API #17

Description

@derfsss

host/pyproject.toml currently caps the SDK at mcp[cli]>=1.0.0,<2. The cap is a holding action, not a decision: mcp 2.0 removed from mcp.server.fastmcp import FastMCP, which is what server.py is built on, and CI had been silently resolving to 2.2.0 and failing the type-check on unrelated changes.

Porting is the real fix. Until it happens the project is pinned to a major version that will stop receiving attention.

What the port has to cover

  • server.py builds the entire tool surface — 137 tools plus 14 namespace dispatchers — through the 1.x FastMCP decorators. The registration shape is the bulk of the work.
  • The 8 MCP resources under the amiga:// scheme.
  • Whatever 2.x changes about stdio transport startup, since that is how every client launches the server.
  • --list-tools / --list-resources introspect the live registry; they will need to follow whatever replaces it.

Worth doing alongside

  • Decide Decide whether to commit host/uv.lock #4 (committing host/uv.lock) first. With a lock, the port can be a deliberate uv lock --upgrade rather than something CI discovers on an unrelated PR.
  • Once ported, the pydantic>=2.0,<3 cap should be revisited too — it was added defensively at the same time, not because anything was known to break.

Verification is straightforward: the full host test suite plus a real session against a live target, since tool registration is the part unit tests exercise least.

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions