Context
MCP 2.0 removes the mcp.server.Server.list_tools() decorator used by FAVA Trails. When an unconstrained install resolves MCP 2.0, fava-trails-server exits during import with AttributeError: 'Server' object has no attribute 'list_tools', closing stdio before it can reply to the MCP initialize request.
A short-term compatibility cap keeps production installs on MCP 1.x.
Goal
Update FAVA Trails to the supported MCP 2.0 server registration API and remove the temporary <2.0 dependency cap.
Acceptance criteria
- FAVA installs and starts with MCP 2.x.
fava-trails-server completes a stdio MCP initialize exchange under MCP 2.x.
- Tool listing and invocation retain the current schemas, annotations, and structured-error behavior.
- Automated coverage prevents a future MCP major-version upgrade from reintroducing an import-time startup failure.
Context
MCP 2.0 removes the
mcp.server.Server.list_tools()decorator used by FAVA Trails. When an unconstrained install resolves MCP 2.0,fava-trails-serverexits during import withAttributeError: 'Server' object has no attribute 'list_tools', closing stdio before it can reply to the MCPinitializerequest.A short-term compatibility cap keeps production installs on MCP 1.x.
Goal
Update FAVA Trails to the supported MCP 2.0 server registration API and remove the temporary
<2.0dependency cap.Acceptance criteria
fava-trails-servercompletes a stdio MCPinitializeexchange under MCP 2.x.