Thanks to the rebuild:
- Throughput: +27% → from 8,615 to 10,982 median ops/sec
- Cold launch: 2.2x faster → from 151.6 ms to 68.1 ms
- Clean install: 82% smaller → from 404.6 MiB to 74.4 MiB
Benchmark with methodology here: https://github.com/mcp-use/mcp-use/blob/main/benchmark.md
What changed in the spec:
1. No more sessions. The initialize/initialized exchange and the Mcp-Session-Id header are gone (SEP-2575, SEP-2567). Every request carries its own protocol version, client identity, and capabilities in _meta. Server discovery is an optional server/discover RPC instead of a mandatory round trip.
2. Multi round-trip requests replace server-initiated calls (SEP-2322). Now the server returns resultType: "input_required" with a requestState, and the client retries the original call with inputResponses. Mid-call user confirmations no longer need a live connection.
3. Header-based routing (SEP-2243). Mcp-Method and Mcp-Name are now required HTTP headers, so gateways, rate limiters, and WAFs can route and meter without parsing the JSON body. 4. Cacheable list results (SEP-2549).
5. Auth hardening: DCR still works but is deprecated in favor of CIMD and will be removed in a future spec revision. 6. Roots, sampling, and logging are deprecated with a 12mo window.
7. Legacy HTTP+SSE gets a one year offramp.
Regarding mcp-use, we are focused on MCP apps for Claude connectors and ChatGPT plugins. MCP apps use an MCP extension called ext-apps, which allows tools to return UIs that render in chats.
What we support:
- Views have HMR, so they hot reload while you develop.
- Standard Schema validators for tool and prompt I/O, so Zod, ArkType, Valibot all work. Or any validator library backed by standard schemas.
- Drop-in OAuth integrations for Auth0, Clerk, WorkOS, Better Auth, Supabase, and Keycloak.
- Server composition (proxy and mount other MCP servers).
- OpenAPI import and expose your APIs as an MCP server.
The HTTP layer is Hono so it mounts inside an existing app, so you can have edge deployments.
If your product is in Next.js, we’ve seen a lot of developers who want to get rid of the (basically unmaintained) mcp-handler.
So we have a drop-in integration for Next.js: wrap `next.config.ts` in `withMcpUse` for view compilation then `export const { GET, POST, DELETE, OPTIONS } = createNextHandler(server)` from a catch-all route.
For DX:
- MCP inspector built-in: `mcp-use dev` runs it at `/mcp/inspector` with hot-reload. We also have a hosted version: https://inspector.manufact.com/inspector
- mcp-use CLI has a cool headless feature to debug MCP servers and the UI parts from coding agents including visual feedbacks: `mcp-use client <name> screenshot --tool <tool>` renders the View headlessly through Chrome. An agent can call a tool, read the failure, then screenshot the UI it just generated and look at what it built.
Unfortunately we could not avoid some breaking changes.
The good news is 90% of MCP servers built with v2 are compatible with both versions of the MCP spec. Clients negotiate the version automatically, probing with server/discover and falling back to old initialization for legacy servers. Interested in what people running MCP servers think about the stateless move, especially anyone who built their own session layer and now gets to delete it.
Blog post with the details: https://manufact.com/blog/mcp-use-v2
If you want to play with mcp-use v2, it just went out of beta: https://github.com/mcp-use/mcp-use
We’d love to hear what you think of it and how we can improve it!
We are happy to answer any questions and look forward to your comments.
swiftlyTyped•48m ago