mcpField
M
MCP SSE Sample

MCP SSE Sample

本地服务
github.com/iuill开发工具184 周前更新

关于 MCP SSE Sample

演示 SSE 实现的 MCP 服务端示例,供了解 MCP 的开发者参考。项目包含工具、进度通知、采样、注释和日志等示例。

主要功能

  1. 01回显与加法工具
  2. 02长操作进度通知
  3. 03MCP 采样示例
  4. 04测试图像与环境变量输出
  5. 05带注释的消息和定时日志

适用场景

  1. 01参考 MCP SSE 服务端示例
  2. 02测试工具调用与进度更新
  3. 03查看采样和注释行为

MCP 相关

这是一个侧重 SSE 的 MCP 服务端示例,提供回显、加法、进度通知、采样、图像、环境变量输出和注释等示例工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mcp_sse_sample": {
"command": "npx",
"args": [
"-y",
"mcp_sse_sample"
]
}
}
}
启动命令npx -y mcp_sse_sample

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp_sse_sample

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP SSE 示例

这是一个使用 SSE 的 MCP 服务示例。 这是一个展示 MCP 协议 SSE 实现的示例项目。

原始代码如下:

组件

工具
  1. echo

    • 用于回显输入消息的简单工具
    • 输入:
      • message(字符串):要回显的消息
    • 返回:包含回显消息的文本内容
  2. add

    • 将两个数字相加
    • 输入:
      • a(数字):第一个数字
      • b(数字):第二个数字
    • 返回:加法运算的文本结果
  3. longRunningOperation

    • 演示长时间操作的进度通知
    • 输入:
      • duration(数字,默认值:10):持续时间(秒)
      • steps(数字,默认值:5):进度步骤数
    • 返回:包含持续时间和步骤数的完成消息
    • 执行期间会发送进度通知
  4. sampleLLM

    • 演示如何使用 MCP sampling 功能进行大模型采样
    • 输入:
      • prompt(字符串):要发送给大模型的提示词
      • maxTokens(数字,默认值:100):要生成的最大令牌数
    • 返回:生成的大模型响应
  5. getTinyImage

    • 返回一张小型测试图片
    • 无需输入
    • 返回:Base64 编码的 PNG 图片数据
  6. printEnv

    • 输出所有环境变量
    • 有助于调试 MCP 服务配置
    • 无需输入
    • 返回:包含所有环境变量的 JSON 字符串
  7. annotatedMessage

    • 演示如何使用注释为内容提供元数据
    • 输入:
      • messageType(枚举:"error" | "success" | "debug"):消息类型,用于演示不同的注释模式
      • includeImage(布尔值,默认值: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:sse
在 Claude Desktop 中使用

请在 claude_desktop_config.json 中添加以下内容:

{
  "mcpServers": {
    "sse-sample": {
      "command": "npx",
      "args": [
        "-y",
        "mcp_sse_sample"
      ]
    }
  }
}

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。