视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
mcp-integration【文档与办公】Use when wiring MCP servers into an application or agent as a consumer — deciding whether MCP is the right interface at all, the 2026-07-28 stateless protocol revision and what it breaks, transport and version negotiation, OAuth authorization and Client ID Metadata Documents, the context cost of tool lists and how cacheable list results reduce it, tr…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Verified 2026-07-29 against the 2026-07-28 specification release announcement. This revision landed one day before this file was written — read the specification itself before migrating, and treat the detail below as a map of what to look for, not a substitute for it.
The protocol core became stateless. This is the largest change since MCP was published, and it invalidates a good deal of existing integration code and most tutorials.
| Removed / deprecated | Replaced by |
|---|---|
initialize / initialized handshake | Protocol version, client identity and capabilities travel in _meta on every request |
Mcp-Session-Id header | Nothing — there is no protocol-level session |
| Server-initiated elicitation, sampling, roots-list | Multi Round-Trip Requests: the server returns resultType: "input_required", the client retries with inputResponses |
| Legacy HTTP+SSE transport | Streamable HTTP |
| Dynamic Client Registration | Client ID Metadata Documents (CIMD) |
| Roots, Sampling, Logging features | Deprecated, with a minimum 12-month sunset |
Added:
Mcp-Method and Mcp-Name, so gateways,
rate limiters and authorizers can route and authorise without parsing the JSON body.tools/list, prompts/list, resources/list and resources/read
responses carry ttlMs and cacheScope.iss) validation is now mandatory, an
application_type parameter is supported, and client credentials are bound to the issuing
authorization server.io.modelcontextprotocol/tasks
(poll-based tasks/get, plus tasks/update) and notifications moving to subscriptions/listen.A server on the new revision may not work with an older client, and vice versa. Both sides must share a supported protocol era, or one side must implement deliberate fallback or translation.
Before upgrading either side, enumerate what talks to it. The stateless change is genuinely good — it lets any instance answer any request behind ordinary round-robin HTTP, with no shared session store — but it is not backward compatible, and a client you do not control is a hard constraint.
MCP earns its cost when the tool surface is consumed by clients you do not own — a desktop assistant, an IDE, someone else's agent — or when several applications share one integration.
It does not earn it for a private tool used by one application you control. Native function calling against your own code is simpler, faster, has no transport, no auth layer and no protocol version to track. Wrapping your own function in a protocol so your own agent can call it is infrastructure for its own sake.
The honest test: name the second consumer. If there isn't one and isn't likely to be, call the function.
| Transport | Use for |
|---|---|
| stdio | Local, client-launched servers. Simplest and most reliable — no ports, no CORS, no auth layer |
| Streamable HTTP | Remote and shared servers |
| Deprecated. Do not build new integrations on it |
Default to stdio for anything local. Reaching for HTTP because it feels more production-grade adds an authentication surface and an availability dependency to something that was a subprocess.
iss validation is mandatory in the current revision — it is the
defence against a token minted by one authorization server being replayed at another.Every connected server's tool definitions are input tokens on every request, and a large undifferentiated toolset also degrades tool selection — the same failure as overlapping skills.
ttlMs / cacheScope to avoid re-fetching lists that have not changed.llm-api-optimization §2).search is an ambiguity you pay
for on every call.A community MCP server is a dependency that runs on your machine or holds your credentials, and supplies text directly into the model's context.
agentic-architecture §6).llm-security covers the
defences, and this is exactly the boundary it is about.Mcp-Method and Mcp-Name let a gateway authorise
and rate-limit per tool without deserialising bodies. Per-tool rate limits are the practical
defence against a runaway agent loop.