所有MCP服务器
此MCP服务器尝试执行MCP协议的所有功能。它不是一个有用的服务器,而是MCP客户端构建者的测试服务器。它实现了提示、工具、资源、采样等,以展示MCP的功能。
组件
工具
echo
- 回显输入消息的简单工具 - 输入: - message (string):要回显的消息 - 返回:带有回显消息的文本内容
add
- 将两个数字相加 - 输入: - a (number):第一个数字 - b (number):第二个数字 - 返回:加法的文本结果
longRunningOperation
- 演示长时间操作的进度通知 - 输入: - duration (数字,默认值:10):持续时间(秒) - steps (数字,默认值:5):进度步骤数 - 返回:带有持续时间和步骤的完成消息 - 在执行过程中发送进度通知
printEnv
- 打印所有环境变量 - 可用于调试MCP服务器配置 - 无需输入 - 返回:所有环境变量的JSON字符串
sampleLLM
- 使用MCP采样功能演示LLM采样能力 - 输入: - prompt (string):发送给LLM的提示 - maxTokens (数字,默认值:100):要生成的最大令牌数 - 返回:生成的LLM响应
getTinyImage
- 返回一个小测试图像 - 无需输入 - 返回:Base64编码的PNG图像数据
annotatedMessage
- 演示如何使用注释提供有关内容的元数据 - 输入: - messageType (枚举:“error”|“success”|“debug”):用于演示不同注释模式的消息类型 - includeImage (boolean,默认值:false):是否包含示例图像 - 返回:带有不同注释的内容: - 错误消息:高优先级(1.0),用户和助手都可以看到 - 成功信息:中等优先级(0.7),以用户为中心 - 调试消息:低优先级(0.3),以助手为中心 - 可选图像:中等优先级(0.5),以用户为中心 - 注释示例:
{
"priority": 1.0,
"audience": ["user", "assistant"]
}getResourceReference
- 返回MCP客户端可以使用的资源引用 - 输入: - resourceId (数字,1-100):要引用的资源的ID - 返回:一个资源引用,具有: - 文本介绍 - 嵌入式资源 type: "resource" - 使用资源URI的文本说明
startElicitation
- 在MCP客户端内发起启发(交互)。 - 输入: - color (string):最喜欢的颜色 - number (数字,1-100):最喜欢的数字 - pets (枚举):最喜欢的宠物 - 返回:使用选择摘要确认启发演示。
structuredContent
- 使用规范中的示例演示返回结构化内容的工具
- 提供输出模式,以允许测试客户端应咨询,从而使用模式验证结果
- 输入:
- location (string):位置或邮政编码,无论值如何,都会返回模拟数据
- 返回:一个响应
- structuredContent 字段符合输出模式 - 向后兼容的文本内容字段,规范中的应该建议
listRoots
- 列出客户端提供的当前MCP根
- 演示根协议功能,即使此服务器不访问文件
- 无需输入
- 返回:当前根及其URI和名称的列表,如果没有设置根,则返回一条消息
- 展示服务器如何与MCP根协议交互
资源
服务器以两种格式提供100个测试资源:
- 偶数资源:
- 纯文本格式 - URI模式: test://static/resource/{even_number} - 内容:简单的文字描述
- 奇数资源:
- 二进制blob格式 - URI模式: test://static/resource/{odd_number} - 内容:Base64编码二进制数据
资源特征:
- 支持分页(每页10个项目)
- 允许订阅资源更新
- 演示资源模板
- 每5秒自动更新订阅的资源
提示
simple_prompt
- 无参数的基本提示 - 返回:单消息交换
complex_prompt
- 高级提示演示论证处理 - 必需参数: - temperature (string):温度设置 - 可选参数: - style (string):输出样式首选项 - 返回:带图像的多回合对话
resource_prompt
- 演示在提示中嵌入资源引用 - 必需参数: - resourceId (number):要嵌入的资源的ID(1-100) - 返回:带有嵌入式资源引用的多回合对话 - 演示如何在提示消息中直接包含资源
根
服务器演示了MCP根协议功能:
- 宣布
roots: { listChanged: true }指示根系支持的能力 - 手柄
roots/list_changed来自客户端的通知 - 在服务器初始化期间请求初始根
- 提供
listRoots显示当前根目录的工具 - 记录根相关事件以供演示
注意:此服务器实际上并不访问文件,但演示了服务器如何与需要了解哪些目录可用于文件操作的客户端的根协议进行交互。
日志记录
服务器每15秒发送一次随机分级日志消息,例如:
{
"method": "notifications/message",
"params": {
"level": "info",
"data": "Info-level message"
}
}使用Claude Desktop(使用 stdio运输)
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"everything": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-everything"
]
}
}
}使用VS代码
为了快速安装,请使用下面的一键安装按钮。..
](https://insiders.vscode.dev/redirect/mcp/install?name=everything&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22mcp%2Feverything%22%5D%7D) ](https://insiders.vscode.dev/redirect/mcp/install?name=everything&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22mcp%2Feverything%22%5D%7D&quality=insiders)
对于手动安装,您可以使用以下方法之一配置MCP服务器:
方法1:用户配置(推荐) 将配置添加到用户级MCP配置文件中。打开命令选项板(Ctrl + Shift + P)然后跑 MCP: Open User Configuration。这将打开您的用户 mcp.json 您可以在其中添加服务器配置的文件。
方法2:工作空间配置 或者,您可以将配置添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。
有关VS Code中MCP配置的更多详细信息,请参阅 官方VS Code MCP文档.
NPX
{
"servers": {
"everything": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"]
}
}
}从源代码运行 HTTP+SSE传输 (已弃用 2025-03-26)
cd src/everything
npm install
npm run start:sse从源代码运行 可流式HTTP传输
cd src/everything
npm install
npm run start:streamableHttp作为已安装的软件包运行
安装
npm install -g @modelcontextprotocol/server-everything@latest运行默认(stdio)服务器
npx @modelcontextprotocol/server-everything或者明确指定stdio
npx @modelcontextprotocol/server-everything stdio运行SSE服务器
npx @modelcontextprotocol/server-everything sse运行可流式传输的HTTP服务器
npx @modelcontextprotocol/server-everything streamableHttp