Symptom
The E2E Tests Core (mcp-protocol) shard fails on the Protocol Builds test "Running MCP server using uvx:// protocol scheme → arxiv-mcp-server should build and start successfully":
Error: connect using both streamable-http and SSE transports: initialize MCP client:
Get "http://127.0.0.1:<port>/mcp": dial tcp 127.0.0.1:<port>: connect: connection refused
The workload builds, is reported running, then the proxy port refuses connections (the container crashes at startup, so the stdio proxy exits). Observed twice consecutively on #6107 (14:27Z and 14:40Z re-run); the same shard passed on #6096's run at 12:16Z. The npx:// Protocol Builds siblings pass in the same failing runs, so thv's build/proxy machinery is fine — this will fail on every PR regardless of its diff.
Root cause
Python mcp 2.0.0 was published to PyPI at 2026-07-28T13:45:28Z — exactly between the last green run (12:16Z) and the first failure (14:27Z). arxiv-mcp-server (latest 0.6.1, 2026-07-26) declares an unbounded mcp>=1.27.0, so every fresh uvx build now resolves the new major version and crashes at import:
File ".../arxiv_mcp_server/server.py", line 60, in <module>
@server.list_prompts()
^^^^^^^^^^^^^^^^^^^
AttributeError: 'Server' object has no attribute 'list_prompts'
Reproduced in a clean venv: pip install arxiv-mcp-server (resolves mcp 2.0.0) → import crash above; pip install 'mcp<2' (1.29.0) → starts cleanly. The removed decorator is consistent with the 2026-07-28-revision deprecations landing in the 2.x Python SDK.
Suggested fixes (any one)
- Make the uvx:// e2e test constrain the resolution (if the uvx builder can pass
--with 'mcp<2' or equivalent), or
- Switch the uvx:// test target to a package that pins its
mcp dependency with an upper bound, or
- Upstream: PR to
arxiv-mcp-server adding mcp>=1.27.0,<2 (helps everyone, but slowest path).
Until one lands, mcp-protocol shard failures matching this signature can be disregarded as unrelated to the PR under test. Not caused by #6107 (verified: its npx siblings green, failure is pre-protocol TCP refusal, and reproduction is toolhive-free).
🤖 Generated with Claude Code
Symptom
The
E2E Tests Core (mcp-protocol)shard fails on the Protocol Builds test "Running MCP server using uvx:// protocol scheme → arxiv-mcp-server should build and start successfully":The workload builds, is reported running, then the proxy port refuses connections (the container crashes at startup, so the stdio proxy exits). Observed twice consecutively on #6107 (14:27Z and 14:40Z re-run); the same shard passed on #6096's run at 12:16Z. The npx:// Protocol Builds siblings pass in the same failing runs, so thv's build/proxy machinery is fine — this will fail on every PR regardless of its diff.
Root cause
Python
mcp2.0.0 was published to PyPI at 2026-07-28T13:45:28Z — exactly between the last green run (12:16Z) and the first failure (14:27Z).arxiv-mcp-server(latest 0.6.1, 2026-07-26) declares an unboundedmcp>=1.27.0, so every freshuvxbuild now resolves the new major version and crashes at import:Reproduced in a clean venv:
pip install arxiv-mcp-server(resolves mcp 2.0.0) → import crash above;pip install 'mcp<2'(1.29.0) → starts cleanly. The removed decorator is consistent with the 2026-07-28-revision deprecations landing in the 2.x Python SDK.Suggested fixes (any one)
--with 'mcp<2'or equivalent), ormcpdependency with an upper bound, orarxiv-mcp-serveraddingmcp>=1.27.0,<2(helps everyone, but slowest path).Until one lands,
mcp-protocolshard failures matching this signature can be disregarded as unrelated to the PR under test. Not caused by #6107 (verified: its npx siblings green, failure is pre-protocol TCP refusal, and reproduction is toolhive-free).🤖 Generated with Claude Code