Commit 1ee9ca8
committed
fix(fetch): cap mcp dependency below 2.0
mcp>=1.1.3 had no upper bound, so a fresh `uvx mcp-server-fetch`
resolved mcp 2.0.0. That release renamed McpError to MCPError and
removed the low-level Server decorators, so server.py raised
ImportError at line 6 and exited before writing an initialize
response. Clients reported "connection closed: initialize response".
Cap the requirement at mcp>=1.1.3,<2 and refresh uv.lock to match. The
lock already pinned mcp 1.28.1, so CI was unaffected; only fresh
resolves broke.
Not a port to mcp 2.0: list_tools, list_prompts, call_tool, and
get_prompt are all gone from the low-level Server and server.py uses
all four.
Verified with a real stdio handshake on Python 3.12. The published
2026.7.10 returns no initialize response; a wheel built from this
change resolves mcp 1.29.0 and answers tools/list with ['fetch'].
tests/test_dependencies.py covers the specifier.1 parent 76d64c8 commit 1ee9ca8
3 files changed
Lines changed: 22 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments