关于 mcp-transport-prototype
mcp-transport-prototype 是用于学习构建自定义 MCP 服务的原型,支持 stdio 和 SSE 传输,适合探索基于进程与 HTTP 的通信方式。
主要功能
- 01自定义 MCP 服务原型
- 02stdio 传输
- 03SSE 传输
- 04客户端测试脚本
适用场景
- 01学习 MCP 传输模式
- 02通过 SSE 测试 MCP 服务
MCP 相关
该项目演示可通过 stdio 和 SSE 访问的 MCP 服务,并附带 mcp_client.py 脚本用于测试 SSE 模式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-transport-prototype
一个原型实现,用于了解如何构建可通过 stdio 和 SSE 传输访问的自定义 MCP 服务。此项目旨在帮助理解 SSE 和 stdio 传输。
SSE 传输
Server-Sent Events (SSE) 是一种简单高效的方式,可通过 HTTP 将实时更新从服务端推送到客户端。
- 与 WebSockets 不同,SSE 是单向的:服务端可以向客户端流式传输数据,但反向则不行。
- 它通过标准 HTTP 运行,非常适合实时更新、通知或流式响应等场景。
与 stdio 不同,SSE 会将 MCP 服务作为独立的 HTTP 服务运行。这使其非常适合 Web 仪表板或基于浏览器的应用等用例,这些应用需要通过网络接收服务端推送的流式更新。
Stdio 传输
Stdio(标准输入/输出的简称)是一种传统的程序间通信方式,通过读取和写入终端或相连进程来实现。
stdin(标准输入):接收输入数据,通常来自键盘、文件或其他程序。stdout(标准输出):发送输出数据,通常打印到终端或通过管道传递给其他程序。
与 SSE 相比,基于 stdio 的 MCP 服务更像进程内工具。如果你要将 MCP 服务作为子进程启动,例如从命令行工具、大模型 Agent 或需要高效发送和接收结构化数据且不使用网络的后台脚本中启动,它们会非常适合。
查看实际效果
mcp_client.py 是一个用于快速测试 SSE 模式下 MCP 服务的脚本。
# Run in Terminal 1
uv run main.py
# Run in Terminal 2
uv run mcp_client.py
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。