You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cyclops caps mcp<2 (#122). mcp 1.x is now in maintenance mode with security fixes only, so 2.x support is needed. From the v2.0.0 release notes and docs/migration.md, the changes that touch cyclops:
McpError is renamed MCPError (mcp/connection.py).
httpx and httpx-sse are replaced by httpx2: create_mcp_http_client, the http_client for streamable_http_client and sse_client's auth= take httpx2 types. cyclops builds an httpx.Timeout and types auth as httpx.Auth.
Protocol type fields are snake_case (is_error, input_schema, structured_content, mime_type, next_cursor); types move to the mcp-types package with mcp.types kept as an alias.
ClientSession.list_tools(cursor=...) is removed; pagination uses params=PaginatedRequestParams(cursor=...).
Timeouts take float seconds, not timedelta (call_tool(read_timeout_seconds=...)).
The lowlevel Server drops the list_tools/call_tool decorators for keyword-only on_* handlers; a tool handler exception becomes a JSON-RPC error instead of CallToolResult(is_error=True), so cyclops must build the error result itself to keep the model seeing the error text.
streamable_http_client returns a 2-tuple; the streamablehttp_client alias is removed.
ClientSession runs on JSONRPCDispatcher: notification callbacks run concurrently, cancelling a request sends notifications/cancelled, and a request timeout raises -32001.
FastMCP is renamed MCPServer (tests/fixtures/mcp_demo_server.py).
New: a single Client class, the 2026-07-28 protocol revision, and OpenTelemetry tracing on by default.
Related: cyclops imports httpx, anyio and pydantic_core directly without declaring them; they arrive through mcp and litellm, and mcp 2.x no longer brings httpx.
Proposal Declare the direct imports as dependencies, then support mcp 2.x (dropping 1.x or supporting both, decided by how much of the above a compatibility layer would need), with the test suite run against both until 1.x is dropped.
Activity