8000
Skip to content

magg 0.10.1 crashes with fastmcp 3.1.0 — BearerAuthProvider removed + _tool_serializer missing #8

@andrew-lord-dev

Description

@andrew-lord-dev

Fresh install of magg 0.10.1 via uv tool install magg pulls fastmcp 3.1.0, which has two breaking incompatibilities that prevent magg from starting.

Environment

  • magg: 0.10.1
  • fastmcp: 3.1.0 (installed automatically by uv)
  • Python: 3.13
  • OS: Windows 10
  • Transport: stdio via Claude Desktop

Error 1: BearerAuthProvider import removed in fastmcp 3.x

File "magg/auth.py", line 11, in <module>
    from fastmcp.server.auth import BearerAuthProvider
ImportError: cannot import name 'BearerAuthProvider' from 'fastmcp.server.auth'

Per the fastmcp upgrade guide (https://gofastmcp.com/development/upgrade-guide), BearerAuthProvider was replaced by JWTVerifier in 3.x.

Workaround: Manually patching auth.py with a try/except fallback gets past this error.

Error 2: ProxyFastMCP._tool_serializer removed in fastmcp 3.x

After patching Error 1, magg crashes on startup with:

File "magg/proxy/server.py", line 87, in _register_proxy_tool
    serializer=self._tool_serializer,
               ^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ProxyFastMCP' object has no attribute '_tool_serializer'

This is a deeper API change in fastmcp 3.x where _tool_serializer was removed or renamed on the FastMCP base class. Not patchable with a simple import fix.

Full traceback (Error 2)

File "magg/cli.py", line 48, in cmd_serve
    runner = MaggRunner(args.config, env=env)
File "magg/server/runner.py", line 37, in __init__
    self._server = MaggServer(config_path, env=env)
File "magg/server/server.py", line 40, in __init__
    server_manager = ServerManager(config_manager, env=env)
File "magg/server/manager.py", line 55, in __init__
    self.mcp = ProxyFastMCP(...)
File "magg/proxy/server.py", line 69, in __init__
    super().__init__(*args, **kwargs)
File "magg/proxy/mixin.py", line 41, in __init__
    self._register_proxy_tool()
File "magg/proxy/server.py", line 87, in _register_proxy_tool
    serializer=self._tool_serializer,
AttributeError: 'ProxyFastMCP' object has no attribute '_tool_serializer'

Suggested Fix

Either:

  1. Pin fastmcp to <3.0 in magg's dependencies until proxy compatibility is updated
  2. Update magg/proxy/server.py and magg/auth.py for fastmcp 3.x API changes

Notes

We previously hit the BearerAuthProvider incompatibility with fastmcp 2.x back in early March. This is the same fundamental issue — magg's fastmcp dependency isn't version-pinned, so breaking changes cascade into fresh installs.

Love the project — the concept of LLMs managing their own tool ecosystem is exactly what we need. Happy to test fixes.

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

      0