视频加载失败

大模型的得力干将MCP(3) - SSE服务

671 字
3 分钟
大模型的得力干将MCP(3) - SSE服务

今天我们将继续学习,将了解MCP服务的另一种通信方式。当然这两种都是有不同的适用场景的,并非竞争的关系。后面也会说明,其各自的优缺点和场景。

等系列课学习完成,你将能了解什么是MCP,如何开发MCP和如何实际使用它(当然我们会回归到Dify中,配合LLM,更加完善我们的AI应用适用场景)。

**01.**动手准备#

在我们动手写一个自己的SSE版本的MCP之前,又需要了解协议的一些概念,这样做起来就得心应手了。

  1. Resoures:暴露结构化数据的内容给LLM。

  2. Prompts:提供给LLM应用的可重用Prompt模板。

  3. Tools:提供在服务端给LLM应用特别是Agent使用的工具。

  4. Roots:定义API的接入点和访问路径

  5. Sampling:允许服务器通过客户端请求LLM完成

    当然以上不是全部都必须,比如可以只实现Tools功能,那我们同样从TypeScript的SDK开始。

    上一课的例子是通过stdio传输数据,即数据是本地机器的进程间通信。适合AI助手工具来软件使用。

    而今天我们来尝试实现远程通信。

**02.**动手做一做#

复制一下上节课的项目,做以下修改:
const app = express();
// to support multiple simultaneous connections we have a lookup object from
// sessionId to transport
// const transports: {[sessionId: string]: SSEServerTransport} = {};
let transport: SSEServerTransport;
app.get("/sse", async (_: Request, res: Response) => {
console.log("Received connection");
transport = new SSEServerTransport("/message", res);
await server.connect(transport);
});
app.post("/messages", async (req: Request, res: Response) => {
console.log("Received message");
await transport.handlePostMessage(req, res);
});
const PORT = process.env.PORT || 3001;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});

记得把express包依赖也加入到package.json。

npm run build
node index.js

图片
图片

测试一下是否工作正常。使用API测试工具,访问http://localhost:3001/sse,如果成功,会出现如下图结果。

图片
图片

同时,刚刚启动node的窗口,也会打印”Received connection”的日志。

这样,就完成了SSE的MCP服务改造。

**03.**补充说明#

看起来一切都是那么的简单。但是仅仅靠测试工具测试它工作,这才是第一步。而我们要让它服务大模型,所以还需要一个相对于的MCP client,让它们之间正常交互数据,才算完整。

不要着急,麦金叔接下来会继续介绍,请耐心等待。

总结

今天学习了MCP服务的SSE实现。理解stdio的方式与封装为远程服务之间的代码差异。但是,还有更多的MCP的模块没有引入,后面的文章将继续探讨,敬请期待。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
大模型的得力干将MCP(3) - SSE服务
https://blog.huhaha.vip/posts/6d128846/
作者
小王的博客
发布于
2025-07-23
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
1
大模型的得力干将MCP(2) - 开发服务
AI本文实战演示MCP服务端开发全流程。基于TypeScript SDK构建高德天气查询工具→配置Stdio/SSE双模通信→实现API密钥管理与HTTP请求封装。详解服务注册及协议适配技巧,展示如何通过Cursor助手工具验证服务调用,为AI助手生态提供标准化能力扩展方案,较传统插件开发效率提升3倍。
2
大模型的得力干将MCP(1) - 基础入门
AI本文系统解析MCP协议核心架构与实战应用。详解主机-客户端-服务器三元组模型,对比stdio/SSE双模通信机制差异。通过npm包安装→Cursor工具配置→服务启停测试全流程演示,实现版本查询MCP服务对接,为AI工具生态提供标准化扩展方案,较传统API集成效率提升2倍,下篇将深入开发实践。
3
大模型的得力干将MCP(4) - 开发客户端
AI本文实战演示MCP客户端开发全流程。基于TypeScript SDK构建SSEClientTransport→配置Node.js环境EventSource→实现SSE协议双向通信。详解跨协议客户端差异处理及依赖注入技巧,展示如何通过服务发现机制获取工具列表,为AI助手工具集成提供标准化通信模块,较传统HTTP接口开发效率提升2-3倍。
4
大模型的得力干将MCP(5) - 应用场景和发展方向,窥探先机,不容错过
AI本文深度解析MCP服务技术架构与发展趋势。对比stdio与SSE两种部署模式优劣,详解官方Roadmap远程支持、服务发现、分层代理三大演进方向。预判AI助手工具优化、SaaS化服务市场、垂直领域服务升级、个体开发者生态四大机遇赛道,为AI与业务系统深度融合提供协议层支撑,较传统API集成效率提升5-8倍。
5
Dify应用实战(17) - 使用MCP服务
AI本文实战演示Dify集成MCP服务的全流程。通过mcp-proxy搭建代理服务→配置SSE插件→部署支持MCP的Agent节点,实现对接MySQL等第三方服务。详解Docker容器化部署及服务授权机制,展示如何突破服务端限制调用本地工具,为智能客服、数据分析等场景提供跨系统集成方案,较传统API对接效率提升50%。
随机文章随机推荐

评论区

Profile Image of the Author
小王的博客
一个上了年纪的猿人.
分类
标签
最新动态
站点统计
文章
209
分类
15
标签
161
总字数
478,322
运行时长
0
最后活动
0 天前
站点信息
构建平台
Vercel
博客版本
Firefly v6.16.7
文章许可
CC BY-NC-SA 4.0
文章目录