Skip to content

Pin FastMCP to 2.12.3 - Version 2.14.x breaks MCP tools visibility #463

Closed

Description

@groksrc

Problem

Users report that MCP tools are not visible in Claude Desktop after FastMCP was upgraded to 2.14.x in production. The tools are registered correctly server-side but clients cannot see them.

Root Cause

Our dependency constraint fastmcp>=2.10.2 allowed production to upgrade to FastMCP 2.14.1 + MCP SDK 1.24.0, while our lockfile had 2.12.3 + 1.14.0.

FastMCP 2.14.0 includes breaking changes:

  • Tool name validation at registration time (SEP-986)
  • Removed deprecated APIs (BearerAuthProvider, Context.get_http_request(), dependencies parameter)
  • Mount/import argument changes

Evidence

  • Production shows 17 tools registered correctly
  • MCP endpoint responds and handles tools/list requests
  • But Claude Desktop users report tools not visible
  • User confirmed pinning to 2.12.3 fixes the issue

User Report

Discord conversation confirming fix: https://discord.com/channels/1368009106061000777/1381294195553341531/1451703784165343426

Solution

Pin FastMCP to 2.12.3 until we can properly test and migrate to 2.14.x.

Version Comparison

Package Lockfile (working) Production (broken)
fastmcp 2.12.3 2.14.1
mcp 1.14.0 1.24.0

References

Activity

  1. claude commented on Dec 20, 2025

    @claude
    Contributor

    Claude finished @groksrc's task in 1m 54s —— View job • claude/issue-463-20251220-0115 • Create PR ➔


    Issue analyzed and fix implemented ✓

    Issue Triage:

    • Type: Bug (MCP tools not visible in Claude Desktop)
    • Priority: High (affects production users)
    • Component: MCP
    • Complexity: Simple (dependency pin)
    • Label Applied: bug

    Analysis:

    This is a critical bug where FastMCP 2.14.x introduced breaking changes that prevent Claude Desktop from seeing MCP tools, despite them being registered correctly server-side. The issue has been confirmed by users, with pinning to 2.12.3 resolving the problem.

    Changes Made:

    • Read and understand current dependency configuration
    • Perform issue triage and apply labels
    • Pin FastMCP to version 2.12.3 in pyproject.toml
    • Commit and push changes
    • Provide PR creation link

    Implementation:

    Changed pyproject.toml line 32 from:

    "fastmcp>=2.10.2",
    

    to:

    "fastmcp==2.12.3",
    

    This pins FastMCP to the last known working version (2.12.3) until the team can properly test and migrate to 2.14.x with its breaking changes.

    Next Steps:

    The lockfile (uv.lock) will need to be updated by running uv sync locally. The CI/CD pipeline should handle this automatically when the PR is merged.

    | Branch: claude/issue-463-20251220-0115

  2. added a commit that references this issue on Dec 20, 2025
    8c067ca
  3. added a commit that references this issue on Dec 20, 2025
    9361ce7
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

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions