MCP

Everything MCP:给客户端作者用 npx 跑通协议特性

适合正在做 MCP 客户端、需要一台能练习 tools/prompts/resources/sampling 的测试服务器的人,它不是生产工具。

官方来源 · Everything MCP Server

安装

npx @modelcontextprotocol/server-everything

适合谁

正在实现或调试 MCP 客户端、需要一台能把协议功能跑一遍的测试服务器的人。它明确「not intended to be a useful server」,只用来 exercise MCP 协议特性。适合能用 npx 拉起 @modelcontextprotocol/server-everything、并接受返回值可能是演示数据而不是业务结果的人。不适合把它当生产抓取、仓库或搜索工具。官方页面: https://github.com/modelcontextprotocol/servers/tree/main/src/everything

3 分钟完成第一次尝试

只走一条官方路径:默认 stdio。

前置:本机有 npx。这是给客户端构建者的测试床,不是给最终业务用的。

安装与配置位置:在 MCP 客户端把启动命令写成:

npx @modelcontextprotocol/server-everything

等价的配置片段是 command: npx,参数 -y 与 @modelcontextprotocol/server-everything。

低风险动作:连上之后,让客户端列出该服务器声明的 tools,然后调用清单里的第一个 tool。不要手写一个文档里没出现的工具名。服务器还实现 prompts、resources、sampling;如果客户端把 prompts 或 resources 列了出来,也可以改成取出第一条 prompt 或读一条 resource。这些调用的目的是验证客户端能否完成一次真实的 tool / prompt / resource 往返,而不是完成业务任务。

成功信号:客户端列出至少一类(tools、prompts 或 resources),并且你选中的那一次调用返回了内容。空列表或进程立刻退出都算未完成。若失败,先确认命令是默认 stdio,而不是已弃用的 HTTP+SSE。

使用案例

案例一:验证 tools。对应「It implements prompts, tools, resources, sampling, and more」。用测试客户端走一遍 list tools → call tool。返回值可能是占位或演示载荷,只能用来判断客户端解析是否正确。证据没有给出任何一个 tool 的名字或参数,所以案例止于「对清单中真实出现的 tool 发一次调用」。

案例二:验证 prompts、resources 或 sampling。同一句能力说明。让客户端取出一条 prompt,或读取一条 resource;若客户端实现了 sampling,再观察服务器是否触发采样流程。证据只点到能力类别,没有写出 prompt 名称、resource URI 或 sampling 的消息格式。缺的部分以客户端运行时列出的对象为准,不要编 URI。

使用边界

这是测试服务器,不是有用的业务服务器。不要用它访问真实客户数据,也不要指望稳定的业务语义。

HTTP+SSE Transport 已于 2025-03-26 弃用。源码目录下的 npm install 与 npm run start:sse 不是第一次尝试路径。

官方推荐是 npx 默认 stdio。即便某次 tool 调用看起来像只读,测试实现仍可能发通知、要采样或写入演示资源,不能当成零副作用。没有客户端名单,也没有托管 URL。