新闻详情

新闻详情

首页 / 资讯中心 / 详情

VoltAgent 与 MCP:用 Model Context Protocol 为 AI Agent 接入外部工具

发布时间:2026/11/6 17:20:56来源:尧图网络
VoltAgent 与 MCP:用 Model Context Protocol 为 AI Agent 接入外部工具
人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆【免费下载链接】voltagentAI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework项目地址https://gitcode.com/gh_mirrors/vo/voltagent点击查看免费下载导读本文围绕 VoltAgent 项目中关于 Model Context ProtocolMCP的官方博客内容展开系统讲解 MCP 是什么、为什么它对构建 AI Agent 至关重要以及如何通过 VoltAgent 的MCPConfiguration把第三方 MCP 服务器如文件系统服务器接入自己的 Agent。读完本文你将掌握 MCP 的核心概念、四种服务器传输类型stdio / http / sse / streamable-http的配置方式并能从零搭建一个可以读写本地文件系统的 VoltAgent 实战项目。MCP 是什么把 AI Agent 想象成一个罐子里的聪明大脑它非常擅长理解和生成语言但被封闭在数字容器里没有手也没有眼睛去直接操作外部世界——文件、网站、数据库、API 都不在它的直接触达范围内。要让 Agent 真正完成有用的任务它需要工具tools。MCPModel Context Protocol模型上下文协议解决的核心问题就是连接方式。可以把它类比成一个万能转换插头或标准电源插座如果你有一堆电动工具电钻、电锯、打磨机每个工具都需要一种完全不同的电源线那将是一场噩梦而 MCP 为 Agent 与工具即MCP 服务器之间的通信提供了一种标准方式。有了这个标准一个用支持 MCP 的框架构建的 Agent就可以连接任何同样说 MCP 语言的服务或工具例如访问本地计算机的文件系统读写文件浏览网页与数据库交互连接特定API如 GitHub、Slack、Google Maps 等运行本地脚本或应用程序。对开发者来说最大的收益是标准化开发者可以创建一次 MCP 服务器任何兼容的 Agent 都能直接使用Agent 构建者也能轻松接入多样化的能力而无需为每个工具手写大量定制集成代码。为什么你应该关心 MCPMCP 的实际价值体现在四个方面更轻松的工具集成不必成为每个 API 或系统的专家。只要有人已经为某个能力如读取文件、搜索网页构建了 MCP 服务器通常只需在 Agent 配置里插上即可更少的自定义代码、更快的开发。接入专业化工具社区正在构建大量强大的 MCP 服务器金融数据分析、智能家居控制、特定类型图片生成等MCP 让你可以在自己的 Agent 中直接复用这些专业工作。可复用性为一个目的构建的 MCP 服务器例如与 GitHub 交互不绑定某个特定 Agent 或框架。只要另一个 Agent 或平台支持 MCP同一台服务器就能被复用——构建一次多处使用。专注于 Agent 逻辑MCP 处理了通信的怎么做你可以把更多精力花在设计 Agent 的做什么和为什么上——目标、性格、核心决策逻辑——而不是陷在工具连接的管道细节里。去哪里寻找 MCP 服务器MCP 生态正在快速成长虽然目前还没有一个官方的、包罗万象的单一目录但可以从几个渠道寻找官方示例MCP 的创建方Anthropic和社区维护着参考实现与示例服务器列表是很好的起点社区聚合站已有多个网站专门收集和分类社区开发的 MCP 服务器这些站点往往是宝矿工具/平台文档某些服务或工具数据库、Stripe 这类 API 平台、甚至 Blender 这类软件的官方文档中可能会提到官方或社区构建的 MCP 服务器包管理器在 npmNode.js/TypeScript 项目中搜索modelcontextprotocol/server-*之类命名的包。VoltAgent 与 MCPVoltAgent 是一个开源 TypeScript AI Agent 框架详见 README.md它简化了复杂 AI Agent 的构建负责处理状态管理、工具使用等基础设施问题而 MCP 服务器的集成正是它的核心能力之一。VoltAgent 集成 MCP 的核心思路是在MCPConfiguration对象中声明要使用的服务器然后把该配置提供的工具tools传给Agent。VoltAgent 会自动完成以下工作启动服务器运行你为 MCP 服务器指定的命令如npx modelcontextprotocol/server-filesystem ...连接与运行中的服务器建立通信获取工具询问服务器它提供哪些能力工具暴露工具将这些工具如readFile、writeFile暴露给 Agent 的 LLM使其理解并能决定是否使用。你只需要声明要哪个服务器、它在哪剩下的事情由 VoltAgent 负责接线。从源码看 MCP 的传输层实现从源码结构看MCPConfiguration的底层客户端能力由MCPClient提供packages/core/src/mcp/client/index.ts它封装了官方 MCP SDK并根据配置的type选择不同的传输实现type: stdio使用StdioClientTransport以本地命令行子进程方式运行通过标准输入/输出通信构造函数中通过getDefaultEnvironment()继承默认环境变量并可合并env与cwd配置见 packages/core/src/mcp/types.ts 中的StdioServerConfigtype: http先尝试 Streamable HTTP失败后自动回退到 SSE对应HTTPServerConfig的自动回退设计packages/core/src/mcp/types.tstype: sse显式使用 SSE 传输SSEServerConfigtype: streamable-http显式使用 Streamable HTTP不做回退StreamableHTTPServerConfig可携带sessionId。同时MCPClient.getAgentTools 会把 MCP 服务器返回的 JSON Schema 工具定义通过zod-from-json-schema转换成 zod schema并以${serverName}_${toolName}的命名空间形式包装成 Agent 可执行的createTool工具——这就是readFile、writeFile等远程工具能被 Agent LLM 理解并调用的底层机制。MCPConfigurationpackages/core/src/mcp/registry/index.ts则负责按服务器名管理客户端连接缓存并提供getTools()、getToolsets()、getRawTools()等不同粒度的工具获取方式还支持通过authorization配置在发现discovery和执行execution阶段对工具调用进行权限控制filterOnDiscovery、checkOnExecution。此外如果你希望反过来把 VoltAgent 的 Agent、工作流和工具暴露为 MCP 服务器例如让 Cursor、Windsurf、VS Code 扩展等 MCP 客户端发现并调用可以查看 examples/with-mcp-server/README.md它演示了用voltagent/mcp-server的MCPServer将注册表镜像到 MCP 客户端并通过voltagent/server-hono挂载 HTTP/SSE 路由/mcp/*也支持--stdio模式直接供 IDE 以子进程方式连接。示例完整代码见 examples/with-mcp-server/src/index.ts。实战用 VoltAgent 连接文件系统 MCP 服务器下面我们来构建一个基础项目连接标准的文件系统 MCP 服务器让 Agent 能读取本地特定目录中的文件。完整的示例参考仓库中的 examples/with-mcp-server。创建项目最快的起步方式是使用create-voltagent-app命令行工具。我们把项目命名为mcp-filesystem-agentnpm create voltagent-applatest mcp-filesystem-agent命令会引导你完成配置多数选项使用默认值即可但要记得选择TypeScript。更多细节可参考 快速开始指南。完成后进入项目目录cd mcp-filesystem-agent此时项目结构如下mcp-filesystem-agent/ ├── src/ │ └── index.ts # 主 Agent 逻辑写在这里 ├── package.json # 项目依赖 ├── tsconfig.json # TypeScript 配置 ├── .gitignore # Git 忽略文件 └── .env # 存放 API Key需要手动添加编写 Agent 与 MCP 配置打开src/index.ts设置 MCP 配置和 Agent 定义import { openai } from ai-sdk/openai; import { VoltAgent, Agent, MCPConfiguration } from voltagent/core; import { VercelAIProvider } from voltagent/vercel-ai; // Node.js path 模块用于生成安全、跨平台的文件路径 import path from node:path; const mcpConfig new MCPConfiguration({ servers: { filesystem: { // stdio 表示 VoltAgent 会把它作为本地命令行进程运行 // 并通过标准输入/输出与其通信。 type: stdio, command: npx, args: [-y, modelcontextprotocol/server-filesystem, path.resolve(./data)], }, }, }); const mcpAgent new Agent({ name: MCP Filesystem Agent, instructions: You can interact with the local filesystem. List files, read files, write files., llm: new VercelAIProvider(), model: openai(gpt-4o-mini), tools: await mcpConfig.getTools(), }); new VoltAgent({ agents: { fsAgent: mcpAgent, }, });代码逐段解析MCPConfiguration在这里定义filesystem服务器连接。type: stdio告诉 VoltAgent 这是一个本地命令command: npx指定如何运行它args: [...]提供细节MCP 服务器包modelcontextprotocol/server-filesystem以及关键的path.resolve(./data)——这会把服务器锁在项目内的./data目录中让它只能看到这个目录。之后必须实际创建data目录mkdir data这对安全至关重要MCP 服务器被限制在最小可见范围内Agent 无法越界访问其他文件。Agent定义创建Agent实例核心是tools: await mcpConfig.getTools()。这一行告诉 VoltAgent去连接我在mcpConfig里定义的所有服务器找出它们提供的工具比如文件系统服务器的readFile、writeFile并把它们提供给这个 Agent 的 LLM 使用。VoltAgent初始化启动 VoltAgent 主服务器并把mcpAgent注册到fsAgent这个键名下。这个键名就是之后在 VoltOps LLM 可观测性平台中选中该 Agent 的方式。运行前的准备运行前需要两样东西LLM 的 API Key以及我们限制 MCP 服务器访问的data目录。创建.env文件在mcp-filesystem-agent项目根目录创建.env添加 API Key在.env中写入 OpenAI KeyOPENAI_API_KEYyour_openai_api_key_here把your_openai_api_key_here替换为你的真实 Key创建data目录与测试文件在项目根目录执行mkdir data echo Hello from the MCP agents accessible file! data/test.txt安装依赖npm install # 或 yarn install / pnpm install启动 Agentnpm run dev # 或 yarn dev / pnpm dev启动后会看到 VoltAgent 服务器的启动信息包括 VoltOps 平台的链接══════════════════════════════════════════════════ VOLTAGENT SERVER STARTED SUCCESSFULLY ══════════════════════════════════════════════════ ✓ HTTP Server: http://localhost:3141 VoltOps Platform: https://console.voltagent.dev ══════════════════════════════════════════════════此时文件系统 MCP 服务器进程也会在后台自动启动。在 Console 中测试接下来就是见证时刻打开控制台在浏览器中访问 VoltOps 平台找到 AgentAgent 会以键名fsAgent名称为 MCP Filesystem Agent列出点击进入聊天点击右下角的聊天图标打开聊天窗口让它读取文件输入并发送Please read the file named test.txt in the data directory.背后发生的事情可以在控制台的 trace 中看到Agent 收到消息LLM 理解用户想读取文件并且看到自己有一个readFile工具可用得益于 MCP 和 VoltAgentAgent 决定调用readFile工具传入参数test.txtVoltAgent 把这个工具调用路由到正在运行的文件系统 MCP 服务器进程MCP 服务器被安全限制在./data目录内读取test.txt并把内容返回VoltAgent 把内容回传给 Agent 的 LLMLLM 组织出类似好的我读了 test.txt 文件。内容是Hello from the MCP agents accessible file!的回复并在聊天中发给你。就这样Agent 通过 MCP 使用外部工具与本地文件系统完成了交互——完全符合预期。总结MCP 起初可能显得有些抽象但真正跑通之后它的价值就清晰了它确实像一个万能转换插头让 AI Agent 只需配置正确的 MCP 服务器就能获得新能力比如访问文件。VoltAgent 让连接服务器到 Agent 的过程变得相当轻松——你声明服务器框架负责启动、连接、拉取工具并暴露给 LLM。通过提供这层标准通信协议MCP 为 Agent 安全、可靠地与海量外部系统交互打开了大门。如果你想进一步探索可以从仓库中的 examples/with-mcp-server 入手查看完整的服务器端示例MCPServer配置、stdio/HTTP/SSE 三种协议同时启用、工作流与 elicitation 适配器要深入理解客户端底层实现可以阅读 packages/core/src/mcp/registry/index.ts 与 packages/core/src/mcp/client/index.ts。赞分享人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆【免费下载链接】voltagentAI Agent Engineering Platform built on an Open Source TypeScript AI Agent Framework项目地址https://gitcode.com/gh_mirrors/vo/voltagent点击查看免费下载相关推荐VoltAgent MCP 接入指南用 Model Context Protocol 为 AI Agent 连接任意外部系统VoltAgent MCP 接入指南用 Model Context Protocol 为 AI Agent 连接任意外部系统 导读 本教程面向希望在 Volt人工智能AI AgentAgent 框架后端多智能体RAG工具调用Agent 记忆Agent 工作流AI 评测MCP 服务MCP Clients语音Pydantic AI MCP Agent 实战基于 Model Context Protocol 无缝接入外部工具Pydantic AI MCP Agent 实战基于 Model Context Protocol 无缝接入外部工具 导读 本文将围绕 pydantic ai示例工程OpenManus 中的 MCPModel Context Protocol为 Agent 动态接入外部工具的即插即用协议OpenManus 中的 MCPModel Context Protocol为 Agent 动态接入外部工具的即插即用协议 本篇技术指南聚焦 OpenMa人工智能AI 应用AI Agent上一篇HeidiSQL完全攻略数据库管理零基础到精通下一篇5个关键场景深度解析go2rtc流媒体服务器的实战部署指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/6 6:37:16

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/6 0:32:51

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/6 1:10:54

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/5 15:28:55

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/6 14:29:05

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/6 14:29:07

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉