MCP 一切
**注意:**该项目是从https://github.com/modelcontextprotocol/servers/tree/main/src/everything中提取出来的,以创建独立的实现。
此 MCP 服务器旨在测试 MCP 协议的所有功能。它并非旨在成为一个实用的服务器,而是为 MCP 客户端构建者提供的测试服务器。它实现了提示、工具、资源、采样等功能,以展示 MCP 的功能。
安装
本地安装
# Clone the repository
git clone https://github.com/modelcontextprotocol/mcp-everything.git
cd mcp-everything
# Install dependencies
npm install
# Build the project
npm run build
# Start the server
npm start
全局安装
# Install globally from npm
npm install -g mcp-everything
# Run the server
mcp-everything
Docker
# Build the Docker image
docker build -t mcp-everything .
# Run the container
docker run -it mcp-everything
与 Claude Desktop 一起使用
添加到您的claude_desktop_config.json
:
{
"mcpServers": {
"everything": {
"command": "npx",
"args": [
"-y",
"mcp-everything"
]
}
}
}
成分
工具
echo
- 回显输入消息的简单工具
- 输入:
- 返回:带有回显消息的文本内容
add
longRunningOperation
- 演示长时间操作的进度通知
- 输入:
duration
(数字,默认值:10):持续时间(以秒为单位)steps
(数字,默认值:5):进度步骤数
- 返回:包含持续时间和步骤的完成消息
- 执行期间发送进度通知
sampleLLM
- 使用 MCP 采样功能演示 LLM 采样能力
- 输入:
prompt
(字符串):发送给 LLM 的提示maxTokens
(数字,默认值:100):生成的最大令牌数
- 返回:生成的 LLM 响应
getTinyImage
- 返回一个小的测试图像
- 无需输入
- 返回:Base64编码的PNG图像数据
printEnv
- 打印所有环境变量
- 用于调试 MCP 服务器配置
- 无需输入
- 返回:所有环境变量的 JSON 字符串
annotatedMessage
- 演示如何使用注释来提供有关内容的元数据
- 输入:
messageType
(枚举:“error”|“success”|“debug”):用于演示不同注释模式的消息类型includeImage
(布尔值,默认值:false):是否包含示例图像
- 返回:带有不同注释的内容
资源
服务器提供两种格式的100个测试资源:
- 偶数资源:
- 明文格式
- URI 模式:
test://static/resource/{even_number}
- 内容:简单文字描述
- 奇数资源:
- 二进制 blob 格式
- URI 模式:
test://static/resource/{odd_number}
- 内容:Base64编码的二进制数据
资源特点:
- 支持分页(每页10条)
- 允许订阅资源更新
- 演示资源模板
- 每5秒自动更新订阅的资源
提示
simple_prompt
complex_prompt
- 演示参数处���的高级提示
- 必需参数:
- 可选参数:
- 返回:带有图像的多轮对话
日志记录
服务器每 15 秒发送一次随机级别的日志消息,以展示 MCP 的日志记录功能。