MCP SSE样本
SSE使用MCP服务器示例。 MCP协议SSE这是一个示例项目,表示实现。
原始代码如下。
- https://github.com/modelcontextprotocol/servers/tree/main/src/everything
组件
工具
echo
- 回显输入消息的简单工具 - 输入: - message (string):要回显的消息 - 返回:带有回显消息的文本内容
add
- 将两个数字相加 - 输入: - a (number):第一个数字 - b (number):第二个数字 - 返回:加法的文本结果
longRunningOperation
- 演示长时间操作的进度通知 - 输入: - duration (数字,默认值:10):持续时间(秒) - steps (数字,默认值:5):进度步骤数 - 返回:带有持续时间和步骤的完成消息 - 在执行过程中发送进度通知
sampleLLM
- 使用MCP采样功能演示LLM采样能力 - 输入: - prompt (string):发送给LLM的提示 - maxTokens (数字,默认值:100):要生成的最大令牌数 - 返回:生成的LLM响应
getTinyImage
- 返回一个小测试图像 - 无需输入 - 返回:Base64编码的PNG图像数据
printEnv
- 打印所有环境变量 - 可用于调试MCP服务器配置 - 无需输入 - 返回:所有环境变量的JSON字符串
annotatedMessage
- 演示如何使用注释提供有关内容的元数据 - 输入: - messageType (枚举:“error”|“success”|“debug”):用于演示不同注释模式的消息类型 - includeImage (boolean,默认值:false):是否包含示例图像 - 返回:带有不同注释的内容: - 错误消息:高优先级(1.0),用户和助手都可以看到 - 成功信息:中等优先级(0.7),以用户为中心 - 调试消息:低优先级(0.3),以助手为中心 - 可选图像:中等优先级(0.5),以用户为中心 - 注释示例:
{
"priority": 1.0,
"audience": ["user", "assistant"]
}日志记录
服务器每15秒发送一次随机分级日志消息,例如:
{
"method": "notifications/message",
"params": {
"level": "info",
"data": "Info-level message"
}
}使用方法
在本地运行
# インストール
npm install
# ビルド
npm run build
# 実行(STDIOモード)
npm run start
# 実行(SSEモード)
npm run start:sseClaude Desktop在中使用
claude_desktop_config.json中添加:
{
"mcpServers": {
"sse-sample": {
"command": "npx",
"args": [
"-y",
"mcp_sse_sample"
]
}
}
}