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
Delivery verification — 2026-09-07
All four criteria are satisfied by merged PR #94 (d8a09dc01bc62451ece0849463972cc4d26ebac8). Independent review accepted exact branch head 9ee2775948efb39880d1e3acbc9156b6b7be9477; the complete combined suite passed 815 tests, including the isolated installed-wheel protocol check. Fresh installed stdio completed initialize, tool listing and calls with MCP2.2.0; tests preserve schemas, annotations, structured domain errors, validation failures and malformed-output handling. An additional independent actual ASGI HTTP probe passed protocol versions2024-11-05,2025-03-26 and2025-11-25.
The reviewed private gateway is now running merged source d8a09dc with FAVA0.6.1/MCP2.2.0. The actual connected FAVA surface successfully discovered scopes, recalled current approved records, and retrieved an approved synthetic record after a gateway restart. Runtime evidence is supplemental; the issue's package/protocol criteria are complete independently of deployment.
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.Delivery verification — 2026-09-07
All four criteria are satisfied by merged PR #94 (
d8a09dc01bc62451ece0849463972cc4d26ebac8). Independent review accepted exact branch head9ee2775948efb39880d1e3acbc9156b6b7be9477; the complete combined suite passed 815 tests, including the isolated installed-wheel protocol check. Fresh installed stdio completed initialize, tool listing and calls with MCP2.2.0; tests preserve schemas, annotations, structured domain errors, validation failures and malformed-output handling. An additional independent actual ASGI HTTP probe passed protocol versions2024-11-05,2025-03-26 and2025-11-25.The reviewed private gateway is now running merged source d8a09dc with FAVA0.6.1/MCP2.2.0. The actual connected FAVA surface successfully discovered scopes, recalled current approved records, and retrieved an approved synthetic record after a gateway restart. Runtime evidence is supplemental; the issue's package/protocol criteria are complete independently of deployment.