Skip to content

Migrate MCP adapter to mcp 2.0, lift the <2 pin - #105

Merged
raphasouthall merged 1 commit into
mainfrom
fix/98-mcp2-adapter
Aug 22, 2026
Merged

Migrate MCP adapter to mcp 2.0, lift the <2 pin#105
raphasouthall merged 1 commit into
mainfrom
fix/98-mcp2-adapter

Conversation

@raphasouthall

Copy link
Copy Markdown
Owner

Part of #98.

What: mcp 2.0.0 removed mcp.server.fastmcp; #97 pinned mcp[cli]>=1.0,<2 to unblock CI. This ports the adapter to the mcp 2.0 high-level server and lifts the pin to mcp[cli]>=2,<3.

How:

  • mcp_adapter.py: FastMCPmcp.server.mcpserver.MCPServer; dynamic registration via add_tool(wrapper, annotations=...) (drops the tool()(wrapper) decorator dance); ToolAnnotations fields now snake_case.
  • cli/api.py: 2.0 removed host/port/transport_security from server settings — they are run(transport="streamable-http", ...) kwargs now.
  • Schema derivation from wrapper.__signature__ unchanged; list_tools() still async.

Gate: ruff clean, 750/750 on mcp 2.0.0 (fresh uv sync).

Live-verify (local): booted neurostack serve --transport http on 0.0.0.0:18901 — initialize OK, tools/list = 28 tools with wire annotations (readOnlyHint/openWorldHint), vault_stats call returned real stats, isError: false.

mcp 2.0.0 removed mcp.server.fastmcp. Port create_mcp_server to
mcp.server.mcpserver.MCPServer: add_tool() for dynamic registration,
snake_case ToolAnnotations fields. Serve moves host/port/
transport_security from mcp.settings to run() kwargs. Pin becomes
mcp[cli]>=2,<3.

Part of #98
@raphasouthall
raphasouthall merged commit 7671c4c into main Aug 22, 2026
5 checks passed
@raphasouthall
raphasouthall deleted the fix/98-mcp2-adapter branch August 22, 2026 11:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant