agent-interop

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Agent interop — the protocols an agent speaks outside its own process

Agent 互操作性——Agent 在自身进程之外通信所用的协议

agent-orchestrator
builds the loop.
agent-evals
proves it behaves. This skill covers everything the loop reaches that is not in its process: a tool server, a peer agent, a registry, and the gateway between them.

agent-orchestrator
构建这个循环。
agent-evals
证明它行为正常。本 skill 涵盖该循环所能触及、但不在其进程内的一切:tool server、对等 Agent、registry,以及它们之间的 gateway。

Triggers

触发词

"MCP client", "agent interoperability", "server.json", "agentgateway", "tool federation", "интероперабельность агентов", "реестр MCP", "delegation token", "токен делегирования".
"MCP client"、"agent interoperability"、"server.json"、"agentgateway"、"tool federation"、"интероперабельность агентов"、"реестр MCP"、"delegation token"、"токен делегирования"。

Rule zero — a protocol claim without a date is a guess

规则零——不带日期的协议声明只是猜测

Every one of these specifications moved in the twelve months before 2026-08-13 — the date every reference below was read — and each moved in a way that silently breaks code written against the previous revision. Concretely, and each one measured on that date against the live specification rather than recalled:
  • MCP replaced the
    initialize
    handshake with
    server/discover
    and made the protocol stateless; a client that opens with
    initialize
    is speaking a revision that is on its way out.
  • MCP deprecated
    sampling
    ,
    roots
    and
    logging
    — three things an older model will reach for first, because for a year they were the interesting part of the client side.
  • A2A renamed its wire surface between v0.x and v1.0, and SDKs and blog posts still documented v0.3 as of 2026-08-13.
  • agentgateway deprecated
    binds
    in favour of
    gateways
    — while its own overview page still introduced
    binds
    as a core concept as of 2026-08-13.
So: every reference in this skill opens with a
**Spec pinned:**
line
, and This pack's repository validator fails the build without one. That is a mechanical check, not an aspiration — the class of error it prevents is the one where prose reads as current because nothing on the page says otherwise.
Before you write wire-level code, fetch the spec. These references tell you what to look for and what changed; they are not a substitute for the document. Read the pinned revision, then check whether a newer one exists. Every entry in the link map below is fetchable.

在 2026-08-13 之前的十二个月里,以下每项规范都发生了变动——这个日期是下文所有参考资料被读取时的日期——而且每项变动都会悄无声息地破坏针对上一版本编写的代码。具体而言,以下每项结论都在该日期依据在线规范而非记忆进行核验:
  • MCP 用
    server/discover
    取代了
    initialize
    握手,并使协议变为无状态;以
    initialize
    开头的客户端所用的是正在被淘汰的版本。
  • MCP 弃用了
    sampling
    、
    roots
    和
    logging
    ——旧模型最先伸手拿到的正是这三项,因为过去一年它们一直是客户端侧最值得关注的部分。
  • A2A 在 v0.x 与 v1.0 之间更改了线路层接口,而截至 2026-08-13,SDK 和博客文章仍在记录 v0.3。
  • agentgateway 弃用了
    binds
    ,改用
    gateways
    ——但截至 2026-08-13,它自己的概览页仍将
    binds
    介绍为核心概念。
因此:本 skill 中的每份参考资料都会以一行
**Spec pinned:**
开头,缺少这一行时,本 pack 的 repository validator 会让构建失败。这是机械检查,不是愿景——它所防止的正是那种错误:页面未作说明,于是文字读起来像是当前状态。
在编写线路层代码前,先获取规范。 这些参考资料告诉你该查什么、变了什么;它们不能替代文档。读取锁定的版本,然后检查是否存在更新版本。下面链接映射中的每个条目都可获取。

Which protocol answers which question

哪种协议回答哪个问题

The question you actually haveThe answerWhere
I want to give a model a capability against a live systemMCP server
references/mcp.md
My server is written and the client cannot connect to itmounting and transports
references/mcp-ship.md
I want my application to consume other people's tool serversMCP client
references/mcp.md
, then
references/mcp-scale.md
I have more servers than fit in a context windowclient scaling patterns
references/mcp-scale.md
I want another team's autonomous agent to accomplish an outcome for meA2A
references/a2a.md
I want my agent discoverable and callable by other agentsA2A agent card
references/a2a.md
I want people to find and install my MCP serverMCP Registry
references/registry.md
I have many servers, many clients, and a security teama gateway
references/gateway.md
The one-line rule between the two big ones. MCP connects a model to a capability you control the shape of; A2A connects you to a peer whose insides you deliberately cannot see. The official framing is exact and worth keeping: "A2A is about agents partnering on tasks, while MCP is more about agents using capabilities." Real systems run both — an A2A server whose internals speak MCP — and that is the recommended architecture, not a compromise.
The dispatch criterion is WHAT the other side is, not how long it runs. MCP = a CAPABILITY / tool you control the shape of; A2A = an AUTONOMOUS PEER whose outcome you delegate and whose insides you cannot see. Duration is a SECOND question, and it is about a Tasks CAPABILITY, not a protocol. A long-running FIXED job you own — a ten-minute export, a batch transform — is MCP with the Tasks extension (a durable handle: poll, supply input mid-flight, retrieve later; see
references/mcp.md
), NOT A2A. So decide by the routing set, and never by the word long-running:
  • long-running FIXED export → MCP Tasks, when the client/SDK negotiates that extension;
  • autonomous outsourced negotiation → A2A (you delegate the outcome, not the steps);
  • Tasks unsupported by the reached client/SDK → an explicit fallback (chunk the job, a job id the caller polls with a plain
    tools/call
    , or a webhook) — reaching for A2A because Tasks is absent is picking a protocol to dodge a missing extension.
Check the client's ACTUALLY-negotiated extensions before building on Tasks; inventing a task lifecycle on top of
tools/call
when Tasks IS available is re-implementing the extension, and reaching for A2A when Tasks is merely unsupported is the mis-route this audit closes. Publishing an agent card for something that is one HTTP call with a JSON schema is still the MCP direction.

你真正要解决的问题答案位置
我想让模型调用实时系统中的某项能力MCP server
references/mcp.md
我的 server 已写好,但 client 无法连接它挂载与传输机制
references/mcp-ship.md
我想让应用消费其他人提供的 tool serverMCP client
references/mcp.md
,然后
references/mcp-scale.md
我的 server 数量超过 context window 可以容纳的数量client 扩展模式
references/mcp-scale.md
我想让另一个团队的自主 Agent替我完成某项结果A2A
references/a2a.md
我想让我的 Agent 可被其他 Agent 发现和调用A2A agent card
references/a2a.md
我想让人们找到并安装我的 MCP serverMCP Registry
references/registry.md
我有许多 server、许多 client,还有一个安全团队gateway
references/gateway.md
两大核心协议之间的一行规则。 MCP 将模型连接到你控制其形态的能力;A2A 将你连接到一个你刻意无法看见内部实现的对等方。官方表述非常准确,值得保留:“A2A 关注的是 Agent 在任务上协作,而 MCP 更多关注的是 Agent 使用能力。” 真实系统通常同时使用两者——一个内部使用 MCP 的 A2A server——这也是推荐架构,而非折中方案。
分派依据是对方是什么,而不是它运行多久。 MCP = 你控制其形态的 CAPABILITY / tool;A2A = 你委托结果、且无法看见其内部实现的 AUTONOMOUS PEER。时长是第二个问题,而且它关乎 Tasks CAPABILITY,而不是协议。 你拥有的长时间 FIXED 任务——例如十分钟导出、批量转换——应使用带 Tasks 扩展的 MCP(持久句柄:轮询、运行中提供输入、稍后检索;参见
references/mcp.md
),而不是 A2A。因此应根据路由集合来决定,绝不能只看“长时间运行”这个词:
  • 长时间运行的 FIXED 导出 → 当 client/SDK 支持协商该扩展时,使用 MCP Tasks;
  • 自主的外包协商 → A2A(你委托的是结果,而不是步骤);
  • 到达的 client/SDK 不支持 Tasks → 采取明确的 fallback(将任务分块、使用调用方通过普通
    tools/call
    轮询的 job id,或使用 webhook)——仅仅因为缺少 Tasks 就转向 A2A,是为了让协议来掩盖缺失的扩展。
在基于 Tasks 构建前,检查 client 实际协商出的扩展;当 Tasks 可用时,却基于
tools/call
自行发明 task 生命周期,就是重新实现该扩展;而当 Tasks 只是不受支持时转向 A2A,则是本次审查要纠正的错误路由。对于本质上只是一次带 JSON schema 的 HTTP 调用的事物,发布 agent card 仍然属于 MCP 方向。

References

参考资料

Each file opens with its own Load this when line and its revision stamp. This table is an index; the trigger lives in the file, so the two cannot drift apart.
FileRead it when
references/mcp.md
you are building or calling an MCP server — the layers, per-request
_meta
,
server/discover
, the three server primitives and the one surviving client primitive, notifications, caching, transports, and the full deprecation register
references/mcp-ship.md
the server is written and cannot be reached — mounting inside an existing web app, transport-level auth, client config, and the 404 that is really a double path
references/mcp-scale.md
the host has more servers and tools than context — progressive discovery, programmatic tool calling, cache interaction, and the security surface each one opens
references/a2a.md
the other side is another agent, not a tool — agent cards and discovery, the task lifecycle and its terminal states, three protocol bindings, streaming versus push
references/registry.md
you are publishing a server or building something that consumes the registry —
server.json
, reverse-DNS namespaces and how ownership is proved, the publish flow, and the registry's three refusals
references/gateway.md
agent traffic needs one controlled seam — what a gateway must do that an API gateway does not, federation and name collisions, where authorization actually belongs, and delegation — a token that says which agent acts for which person, and whether a call needs one at all (trust by machine: T0/T1/T2)

每个文件都以自己的 Load this when 行和 revision stamp 开头。该表只是一个索引;触发条件位于对应文件中,因此二者不会发生偏移。
文件何时阅读
references/mcp.md
你正在构建或调用 MCP server——各层、逐请求
_meta
、
server/discover
、三个 server 原语和唯一保留的 client 原语、notifications、caching、transports,以及完整的弃用登记表
references/mcp-ship.md
server 已编写完成但无法访问——挂载到现有 web app、传输层 auth、client config,以及实际上由双路径引起的 404
references/mcp-scale.md
宿主的 server 和 tool 数量超过 context——渐进式发现、程序化 tool calling、cache 交互,以及每个 server 引入的安全面
references/a2a.md
对方是另一个 Agent,而不是 tool——agent card 与发现、task 生命周期及其终态、三种 protocol binding、streaming 与 push
references/registry.md
你正在发布 server 或构建 registry 消费方——
server.json
、反向 DNS namespace 及所有权证明、发布流程,以及 registry 的三种拒绝情形
references/gateway.md
Agent 流量需要一个受控切面——gateway 必须完成哪些 API gateway 不必完成的事、federation 与名称冲突、authorization 实际应位于何处,以及 delegation——一种说明哪个 Agent 代表哪个人行动的 token,以及某次调用是否需要它(按机器信任划分:T0/T1/T2)

Boundaries — what this skill is not

边界——本 skill 不是什么

Against
make-skill
.
make-skill
owns the skill author's view: whether a job wants a skill or a server at all, declaring a server dependency in
compatibility
, and the fact that tool names differ per host (
mcp__<server>__<tool>
in Claude Code,
mcp__plugin_<plugin>_<server>__<tool>
for a plugin's own server). This skill owns the wire. If the question is "what does the protocol say", it is here; if it is "how does my skill declare that it needs one", it is there. The protocol is described in exactly one of the two places, and this is it.
Against the Fabric adapter and Observatory skills. Where an agent or service must join a Fabric estate, the HOW is theirs:
fabric-agent-adapter:creating-fabric-agents
,
fabric-agent-adapter:adapting-projects-to-fabric
and
fabric-agent-adapter:building-fabric-services
(the descriptor, the hub,
fabric-service/0.1
); credentials an agent uses go through
observatory-log:handling-secrets
(named vault slots, never a value). This skill keeps the protocol they speak — MCP, A2A, the gateway, delegation — and points to them rather than restating them.
Against
agent-orchestrator
.
That skill routes between model providers and manages the loop's own context. This one routes between processes. They meet at exactly one point: an orchestrator that federates many MCP servers is subject to
references/mcp-scale.md
, and one that fronts them with a proxy is subject to
references/gateway.md
.
Against
agent-orchestrator/references/governance.md
.
That file decides whether a boundary may be crossed and what an audit row must carry to prove a control was applied. This skill describes how the crossing is spoken. Permission there, protocol here.
Not covered at all: designing the tool set of one server (what tools, what schemas, what descriptions — that is a design problem, and Anthropic's
mcp-server-dev
plugin is built for it); prompt wording; a single LLM call in a script.

相对于
make-skill
。
make-skill
负责 skill 作者视角:某项工作究竟需要 skill 还是 server、如何在
compatibility
中声明 server 依赖,以及不同 host 的 tool 名称不同(Claude Code 中为
mcp__<server>__<tool>
,plugin 自有 server 中为
mcp__plugin_<plugin>_<server>__<tool>
)。本 skill 负责线路层。 如果问题是“协议怎么说”,答案在这里;如果问题是“我的 skill 如何声明需要它”,答案在那里。协议只在这两个地方之一描述,而这里就是协议本身。
相对于 Fabric adapter 和 Observatory skill。 当 Agent 或 service 必须加入 Fabric estate 时,具体做法归它们负责:
fabric-agent-adapter:creating-fabric-agents
、
fabric-agent-adapter:adapting-projects-to-fabric
和
fabric-agent-adapter:building-fabric-services
(descriptor、hub、
fabric-service/0.1
);Agent 使用的凭据应通过
observatory-log:handling-secrets
处理(使用命名的 vault slot,绝不存放值)。本 skill 保留它们所使用的协议——MCP、A2A、gateway、delegation——并指向相应 skill,而不重复描述。
相对于
agent-orchestrator
。
该 skill 在模型提供商之间进行路由并管理循环自身的 context。本 skill 则在进程之间路由。两者仅在一个点交汇:federate 多个 MCP server 的 orchestrator 适用
references/mcp-scale.md
,而以 proxy 作为这些 server 前端的 orchestrator 适用
references/gateway.md
。
相对于
agent-orchestrator/references/governance.md
。
该文件决定是否可以跨越边界,以及 audit row 必须包含哪些信息来证明控制措施已执行。本 skill 描述如何完成这种跨越。权限归那里,协议归这里。
完全不涉及: 设计单个 server 的 tool 集合(有哪些 tool、schema 和 description——这是设计问题,Anthropic 的
mcp-server-dev
plugin 正是为此而建);prompt 措辞;脚本中的一次 LLM 调用。

The neighbourhood — one verdict each

周边生态——每项一个结论

Named so an agent stops guessing, with the verdict stated rather than implied. Verdicts as of 2026-08-13, the day this skill's references were pinned — this ground moves, so re-verify anything marked watch before building on it.
ThingWhat it actually isVerdict
Agent Skills (
agentskills.io
)
the open
SKILL.md
format this very file is written in — originally Anthropic's, now an open standard with wide client adoption
Adopt, but not here. The family owns it in
make-skill
. Relevant to interop in one way: MCP has a Skills over MCP extension, so a server can ship skills — see
references/mcp.md
ACP (IBM's Agent Communication Protocol)a former A2A competitorDead as a choice. Merged into A2A under LF AI & Data on 2025-08-29; its team stopped developing it. If you meet ACP in a doc, the answer today is A2A
AGNTCY (Cisco/Outshift → Linux Foundation, July 2025)not an A2A rival — an infrastructure stack around multi-agent systems: OASF discovery, agent identity, SLIM messaging, observability. It archived its own competing protocolOrthogonal. Evaluate it for identity and observability if you run many agents; it does not replace A2A or MCP
AP2 (Agent Payments Protocol)Google's payments extension for A2A, standardising through FIDO Alliance working groups. Signs intent as Verifiable Digital Credentials — Checkout Mandates and Payment Mandates, each with an Open and a Closed stageWatch, do not build on it yet. Explicitly in progress rather than production-ready. It is the right shape for the problem — proving this user authorized this purchase — so track it if an agent will ever spend money
"ChatGPT apps" / OpenAI's plugin surfacechecked, and it is not a separate protocol: an MCP server, plus Agent Skills for the workflows, plus optional UINothing new to learn. Build the MCP server; the host packaging is the host's
MCP extensions — Tasks, MCP Apps, Skills over MCPopt-in additions to the core protocol, negotiated per connectionRead before inventing. Long-running work has a durable-handle answer already; see
references/mcp.md

给出名称是为了让 Agent 不再猜测,并明确陈述结论而非任其隐含。截至 2026-08-13 的结论,即本 skill 参考资料锁定之日——这一领域变化很快,因此基于任何标记为 watch 的内容构建之前都要重新核验。
对象实际是什么结论
Agent Skills(
agentskills.io
)
本文件所采用的开放
SKILL.md
格式——最初由 Anthropic 推出,现已成为被广泛客户端采用的开放标准
采用,但不放在这里。 该家族由
make-skill
负责。它与互操作性只有一点相关:MCP 有一个 Skills over MCP 扩展,因此 server 可以分发 skill——参见
references/mcp.md
ACP(IBM 的 Agent Communication Protocol)曾经的 A2A 竞争者不再是一个选择。 2025-08-29 在 LF AI & Data 下并入 A2A;其团队已停止开发。如果在文档中遇到 ACP,如今答案是 A2A
AGNTCY(Cisco/Outshift → Linux Foundation,2025 年 7 月)并非 A2A 的竞争者,而是围绕多 Agent 系统的基础设施栈:OASF discovery、Agent 身份、SLIM messaging、可观测性。它已归档自己的竞争协议正交。 如果运行大量 Agent,可评估它用于身份与可观测性;它不能替代 A2A 或 MCP
AP2(Agent Payments Protocol)Google 面向 A2A 的支付扩展,通过 FIDO Alliance 工作组推进标准化。以 Verifiable Digital Credentials 签署意图——分为 Checkout Mandates 和 Payment Mandates,二者都有 Open 和 Closed 阶段关注,但暂不要基于它构建。 它明确仍在推进中,尚未达到生产就绪状态。对于相应问题,它的形态是正确的——证明此用户授权此次购买——因此,如果 Agent 将来可能花钱,就持续跟踪它
"ChatGPT apps" / OpenAI 的 plugin 界面经核查,它不是一种独立协议:一个 MCP server,加上用于工作流的 Agent Skills,以及可选的 UI没有新东西需要学习。 构建 MCP server;host 的打包方式归 host
MCP extensions——Tasks、MCP Apps、Skills over MCP核心协议的可选扩展,按连接进行协商先阅读,不要自行发明。 长时间工作已有持久句柄方案;参见
references/mcp.md

The link map — where to go and read

链接映射——去哪里阅读

Nothing here is summarised well enough to build against. These are the documents.
ReadForURL
MCP specification (current)the normative requirements; always check the revision it serves
https://modelcontextprotocol.io/specification/latest
MCP architecturethe two layers, statelessness, the discovery exchange with real JSON
https://modelcontextprotocol.io/docs/2026-07-28/learn/architecture
MCP server conceptstools, resources, resource templates, prompts — who controls each
https://modelcontextprotocol.io/docs/2026-07-28/learn/server-concepts
MCP client conceptselicitation's two modes and the MRTR pattern; the deprecated client features
https://modelcontextprotocol.io/docs/2026-07-28/learn/client-concepts
MCP deprecation registerthe authoritative list of what is on the way out and its earliest removal
https://modelcontextprotocol.io/specification/2026-07-28/deprecated
MCP client best practicesprogressive discovery and code mode, with the numbers
https://modelcontextprotocol.io/docs/2026-07-28/develop/clients/client-best-practices
Build a server / build a clientthe SDK-level walkthroughs
https://modelcontextprotocol.io/docs/2026-07-28/develop/build-server
,
…/build-client
MCP + Agent Skillshow skills and servers compose, and the
mcp-server-dev
plugin
https://modelcontextprotocol.io/docs/2026-07-28/develop/build-with-agent-skills
MCP registry — about, quickstartwhat it is, and the exact publish flow
https://modelcontextprotocol.io/registry/about
,
https://modelcontextprotocol.io/registry/quickstart
MCP docs index for machinesfetch this first if you are an agent exploring
https://modelcontextprotocol.io/llms.txt
A2A home and specificationv1.0, the three bindings, the normative surface
https://a2a-protocol.org/latest/
,
https://a2a-protocol.org/latest/specification/
A2A key concepts / life of a task / discoverythe object model, the lifecycle, the well-known URI
https://a2a-protocol.org/latest/topics/key-concepts/
,
…/life-of-a-task/
,
…/agent-discovery/
A2A and MCPthe official statement of how they divide
https://a2a-protocol.org/latest/topics/a2a-and-mcp/
agentgateway — standalone, Kubernetesthe config model, and the Gateway API story
https://agentgateway.dev/docs/standalone/latest/
,
https://agentgateway.dev/docs/kubernetes/latest/
Source repositorieswhen the docs are behind the code
https://github.com/a2aproject/A2A
,
https://github.com/modelcontextprotocol/modelcontextprotocol
,
https://github.com/modelcontextprotocol/registry
,
https://github.com/agentgateway/agentgateway
Fetch the
llms.txt
first when you are an agent.
Both
modelcontextprotocol.io
and
agentgateway.dev
publish one, and both are versioned per docs release — which is how you find the page that exists rather than the page you remember.

这里的内容没有任何一项被充分总结到可以直接据此构建。以下才是原始文档。
阅读内容用途URL
MCP specification(当前版本)规范性要求;始终检查它所对应的 revision
https://modelcontextprotocol.io/specification/latest
MCP architecture两个层、无状态性,以及带真实 JSON 的 discovery exchange
https://modelcontextprotocol.io/docs/2026-07-28/learn/architecture
MCP server conceptstools、resources、resource templates、prompts——分别由谁控制
https://modelcontextprotocol.io/docs/2026-07-28/learn/server-concepts
MCP client conceptselicitation 的两种模式和 MRTR 模式;已弃用的 client 特性
https://modelcontextprotocol.io/docs/2026-07-28/learn/client-concepts
MCP deprecation register正在淘汰的项目的权威清单及其最早移除时间
https://modelcontextprotocol.io/specification/2026-07-28/deprecated
MCP client best practices渐进式发现与 code mode,以及相关数字
https://modelcontextprotocol.io/docs/2026-07-28/develop/clients/client-best-practices
Build a server / build a clientSDK 级操作指南
https://modelcontextprotocol.io/docs/2026-07-28/develop/build-server
、
…/build-client
MCP + Agent Skillsskill 与 server 如何组合,以及
mcp-server-dev
plugin
https://modelcontextprotocol.io/docs/2026-07-28/develop/build-with-agent-skills
MCP registry——about、quickstartregistry 是什么,以及确切的发布流程
https://modelcontextprotocol.io/registry/about
、
https://modelcontextprotocol.io/registry/quickstart
面向机器的 MCP docs index如果你是正在探索文档的 Agent,应先获取此文件
https://modelcontextprotocol.io/llms.txt
A2A 首页与 specificationv1.0、三种 bindings、规范接口
https://a2a-protocol.org/latest/
、
https://a2a-protocol.org/latest/specification/
A2A key concepts / life of a task / discovery对象模型、生命周期、well-known URI
https://a2a-protocol.org/latest/topics/key-concepts/
、
…/life-of-a-task/
、
…/agent-discovery/
A2A 与 MCP两者如何分工的官方说明
https://a2a-protocol.org/latest/topics/a2a-and-mcp/
agentgateway——standalone、Kubernetes配置模型及 Gateway API 相关内容
https://agentgateway.dev/docs/standalone/latest/
、
https://agentgateway.dev/docs/kubernetes/latest/
源代码仓库当文档落后于代码时查阅
https://github.com/a2aproject/A2A
、
https://github.com/modelcontextprotocol/modelcontextprotocol
、
https://github.com/modelcontextprotocol/registry
、
https://github.com/agentgateway/agentgateway
当你就是 Agent 时,先获取
llms.txt
。
modelcontextprotocol.io
和
agentgateway.dev
都发布了该文件,并且二者都按 docs release 进行版本管理——这正是找到实际存在的页面而非凭记忆查找页面的方法。

Checklist — shipping anything that speaks these protocols

检查清单——交付任何使用这些协议通信的内容

  • The revision you build against is written down — in
    compatibility
    , a constant, or a README line
  • You read the deprecation register before using a client feature
  • Version mismatch has a handled path, not a crash
  • Tool output is treated as untrusted input, including output from your own servers
  • Nothing secret is requested through an elicitation form — that is URL mode's job
  • Long-running work uses a durable handle rather than a held connection
  • If you federate: name collisions are resolved deliberately, not by load order
  • If you publish: the namespace is one you can prove you own
  • Authorization is enforced per hop, not only at the entrance
  • 已明确写出所基于的 revision——记录在
    compatibility
    、常量或 README 中的一行
  • 使用 client 特性前已阅读 deprecation register
  • Version mismatch 有可处理的应对路径,而不是直接崩溃
  • Tool output 被视为不可信输入,包括自身 server 的输出
  • 不会通过 elicitation form 请求任何 secret——这是 URL mode 的职责
  • 长时间工作使用持久句柄,而不是维持连接
  • 如果进行 federate:名称冲突经过有意解决,而不是由加载顺序决定
  • 如果进行发布:namespace 是你能够证明自己拥有所有权的 namespace
  • Authorization 在每一跳执行,而不仅仅在入口执行