Skip to content

fix(docs): launch server with fastmcp CLI instead of mcp run#1

Open
dcaslin wants to merge 2 commits into
Alex-Keyes:mainfrom
dcaslin:fix/fastmcp-launcher
Open

fix(docs): launch server with fastmcp CLI instead of mcp run#1
dcaslin wants to merge 2 commits into
Alex-Keyes:mainfrom
dcaslin:fix/fastmcp-launcher

Conversation

@dcaslin

@dcaslin dcaslin commented Jun 13, 2026

Copy link
Copy Markdown

Problem

Following the README setup, Claude Desktop fails to start the server with:

The server object .../server.py:mcp is of type <class 'fastmcp.server.server.FastMCP'> (expecting <class 'mcp.server.fastmcp.server.FastMCP'>).
Ignoring object ... as it's not a valid server object

The server is built on standalone FastMCP v3 (from fastmcp import FastMCP, fastmcp>=3.2.0 in pyproject.toml), but the documented config launches it with mcp run from the mcp[cli] SDK. That launcher only accepts the SDK's bundled mcp.server.fastmcp.server.FastMCP class and rejects the standalone v3 object, so the server never starts.

Fix

  • Switch the documented Claude Desktop config to the matching launcher from the standalone package — --with fastmcp and fastmcp run.
  • Add --directory /path/to/your/boostcamp-mcp to uv run so uv resolves the project environment and working directory from the project root rather than wherever Claude Desktop spawns the process (the server's session state lives relative to the project).

Verified the server loads cleanly under this exact config in Claude Desktop locally.

🤖 Generated with Claude Code

dcaslin and others added 2 commits June 12, 2026 21:20
The server is built on standalone FastMCP v3 (`from fastmcp import
FastMCP`), but the README configured Claude Desktop to launch it with
`mcp run` from the `mcp[cli]` SDK. That launcher only accepts the SDK's
bundled `mcp.server.fastmcp.server.FastMCP` class and rejects the
standalone v3 object as 'not a valid server object', so the server fails
to start.

Switch the documented config to the matching launcher: `--with fastmcp`
and `fastmcp run`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Without --directory, uv resolves the environment relative to wherever
Claude Desktop spawns the process, so the server's working directory
(and the .boostcamp session state it reads) doesn't line up with the
project. Matches the verified working config.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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