article
README
🚀 mcp-transport-prototype
本项目是一个原型实现,旨在帮助你理解如何构建自定义MCP服务器。该服务器可通过stdio和SSE这两种传输协议进行访问,项目的核心目标是深入探究SSE和stdio传输协议。
🚀 快速开始
若你想查看示例,可参考 mcp_client.py ,这是一个简单的脚本,用于测试MCP服务器在SSE模式下的运行情况。
# 在终端1中运行
uv run main.py
# 在终端2中运行
uv run mcp_client.py
✨ 主要特性
SSE 传输协议
服务器发送事件(Server-Sent Events,SSE) 是一种借助HTTP将实时更新从服务器推送到客户端的简单高效方式。
- 与WebSocket不同,SSE是单向的,即服务器可向客户端推送数据,但客户端无法反向发送数据。
- 它基于标准HTTP运行,非常适用于需要实时更新、通知或流式响应的场景。
⚠️ 重要提示
与stdio相比,SSE将MCP服务器作为单独的HTTP服务运行,这使其非常适合用于Web仪表板或基于浏览器的应用程序,这些应用程序需要从服务器接收网络上的实时更新。
Stdio 传输协议
Stdio(标准输入输出)是程序间通信的传统方式,它通过读取来自终端、文件或其他程序的标准输入(stdin),以及向终端、文件或其他程序发送标准输出(stdout)来实现。
stdin(标准输入):用于接收输入数据,通常来自键盘、文件或另一个程序。stdout(标准输出):用于发送输出数据,通常显示在终端上,或通过管道传递给另一个程序。
⚠️ 重要提示
与SSE相比,基于Stdio的MCP服务器更像是内部工具。它们非常适合以子进程形式启动MCP服务器,例如从命令行工具、大语言模型(LLM)代理或需要高效发送和接收结构化数据而无需使用网络的背景脚本中使用。
微信扫一扫