mcp运输原型
一个原型实现,用于理解构建可通过stdio和SSE传输访问的自定义MCP服务器。这里的目标是了解SSE和stdio传输。
苏格兰和南方能源公司运输
服务器发送事件(SSE) 是一种通过HTTP将实时更新从服务器推送到客户端的简单有效的方法。
- 与WebSockets不同,SSE是单向的:服务器可以将数据流式传输到客户端,但反之则不然。
- 它基于标准HTTP工作,非常适合实时更新、通知或流式响应等场景。
与stdio不同,SSE将MCP服务器作为单独的HTTP服务运行。这使得它非常适合需要通过网络从服务器接收流式更新的web仪表板或基于浏览器的应用程序等用例。
标准运输
工作室 (标准输入/输出的缩写)是程序通过读写终端或连接进程进行通信的传统方式。
stdin(标准输入):接收输入数据——通常来自键盘、文件或其他程序。stdout(标准输出):发送输出数据——通常打印在终端上或通过管道传输到另一个程序。
与SSE相比,基于stdio的MCP服务器更像是进程内工具。当您将MCP服务器作为子进程启动时,它们是理想的,例如从命令行工具、LLM代理或需要在不使用网络的情况下高效发送和接收结构化数据的后台脚本启动。
在行动中看
mcp_client.py 是一个在SSE模式下测试MCP服务器的快速脚本。
# Run in Terminal 1
uv run main.py
# Run in Terminal 2
uv run mcp_client.py
