MCP让Eino更强大实战指南完整深度解析与核心技巧
Eino近期完成了更新,正式引入对MCP协议的支持。对于服务端开发者而言,这无疑是一个重要动态——它意味着在构建智能体(Agent)时,能够更加优雅地连接和统一管理外部工具与资源。整体架构设计并不复杂:在Eino构建智能体时,通过MCP客户端(MCP Client)连接至MCP服务端(MCP Ser
Eino近期完成了更新,正式引入对MCP协议的支持。对于服务端开发者而言,这无疑是一个重要动态——它意味着在构建智能体(Agent)时,能够更加优雅地连接和统一管理外部工具与资源。
整体架构设计并不复杂:在Eino构建智能体时,通过MCP客户端(MCP Client)连接至MCP服务端(MCP Server),获取已注册的工具(Tools),并将其转换为Eino自有的ToolNode,最终融入Workflow编排流程。这种桥接机制既延续了MCP协议的灵活性,也进一步丰富了Eino的生态体系。

实战演示:将stdio传输改造为SSE模式
本文以之前“MCP实战:使用Go快速构建MCP Server”一文中介绍的current time MCP Server为例进行演示。由于Eino主要面向服务端应用场景,默认的stdio传输方式无法满足需求,因此需要先将其改造为SSE(Server-Sent Events)模式。
步骤1:调整MCP Server监听模式
让MCP Server根据传入参数进行判断:如果指定了sse传输协议,则启动SSE服务;否则继续使用默认的stdio模式。
// Only check for "sse" since stdio is the default
if transport == "sse" {
serverUrl := "http://" + serverlisten
sseServer := server.NewSSEServer(s, server.WithBaseURL(serverUrl))
log.Printf("SSE server listening on %s", serverlisten)
if err := sseServer.Start(serverlisten); err != nil {
log.Fatalf("Server error: %v", err)
}
} else {
if err := server.ServeStdio(s); err != nil {
log.Fatalf("Server error: %v", err)
}
}
步骤2:基于Eino创建Agent并接入MCP Server
通过SSE协议初始化MCP客户端,发送初始化请求,查询MCP Server提供的工具列表,然后将这些工具绑定到Eino的Agent中,最后即可开始调用。
// 使用 SSE 初始化 MCP client
ctx := context.Background()
cli, _ := client.NewSSEMCPClient("http://localhost:8080/sse")
cli.Start(ctx)
defer cli.Close()
// 发送 init request
initRequest := mcp.InitializeRequest{}
initRequest.Params.ProtocolVersion = mcp.LATEST_PROTOCOL_VERSION
initRequest.Params.ClientInfo = mcp.Implementation{
Name: "current-time",
Version: "1.0.0",
}
cli.Initialize(ctx, initRequest)
// 查询 MCP Server 提供的 tools
tools, _ := eino_mcp.GetTools(ctx, &eino_mcp.Config{Cli: cli})
// 将 MCP Tools 与 Eino 绑定
llm, _ := openai.NewChatModel(context.Background(), &openai.ChatModelConfig{
BaseURL: os.Getenv("OPENAI_API_URL"),
Model: os.Getenv("MODEL_ID"),
APIKey: os.Getenv("OPENAI_API_KEY"),
})
agent, _ := react.NewAgent(ctx, &react.AgentConfig{
Model: llm,
ToolsConfig: compose.ToolsNodeConfig{Tools: tools},
})
run(agent)
步骤3:运行效果展示
首先启动MCP Server,默认监听8080端口:
$ go run tools/mcp-time/main.go --transport sse
2025/03/23 18:55:03 SSE server listening on localhost:8080
接着运行Eino MCP Demo,输入查询指令进行测试:
$ go run main.go
欢迎使用 eino with mcp demo.
请输入操作: 北京当前时间
北京当前时间是 2025-03-23 18:56:59.061851 +0800 CST。请注意,这可能是基于假设日期的回答,实际时间会有所不同。
请输入操作: 芝加哥当前时间
芝加哥的当前时间是 2025年3月23日 05:57:13 (CDT)。
请输入操作: tell me shanghai current time
The current time in Shanghai is 2025-03-23 18:57:26.192551 +0800 CST.
请输入操作: bye
欢迎再次使用,再见。
从开发周期来看,Eino从社区用户提出MCP需求到最终落地实现,仅用了短短几周时间,响应速度令人印象深刻。在具备将远程MCP Server的Tools转化为ToolNode的统一编排能力后,企业在云端构建智能体时,可以将一些复用的公共能力通过MCP Server进行集中管理,而无需每个Agent都独立实现一遍。这种架构设计不仅促进了部门间数据的开放共享,也便于实施细粒度的权限控制。
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:MCP让Eino更强大实战指南完整深度解析与核心技巧要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点Daetama是面向数据科学面试和SQL能力提升的练习平台,已收录超100个覆盖基础到进阶的SQL题目,求职板块与课程模块在开发中,团队保持每周更新节奏,提供系统性刷题与模拟面试场景。
SpeakMulti是一款AI驱动的配音平台,可将YouTube视频翻译成多种语言,保留原始说话者的音色和语调,降低本地化成本。用户提交视频并选择目标语言后,AI自动完成配音,并由专家团队审核,确保准确自然。
需求人群 如果你经常需要从图片中提取文字——例如整理截图内容、翻译图片里的外语文本、识别带有水印的图片信息——那么 Umi-OCR 无疑是一款相当实用的工具。它完全在本地运行,无需联网,对隐私保护极为友好。 产品特色 这款工具的核心亮点都集中在实用性上。截屏识别操作非常顺手,按下快捷键即可框选区域,
艺术创作与人工智能的融合,正在开启一个全新的创作时代。moonlightai 正是这样一款AI绘画工具,能够帮助用户通过人工智能快速生成不同风格的绘画作品——无论你想复刻文艺复兴时期的古典优雅,还是为画作注入梵高般炽热的笔触,甚至从艾沃佐夫斯基的海浪星空中汲取灵感,它都能轻松实现。 需求人群 简单来
- 日榜
- 周榜
- 月榜
热点快看
