十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Mastra 安装 MCP 指南:为你的 AI Agent 接入 Model Context Protocol 工具生态

Mastra 安装 MCP 指南:为你的 AI Agent 接入 Model Context Protocol 工具生态 Mastra 安装 MCP 指南为你的 AI Agent 接入 Model Context Protocol 工具生态【免费下载链接】mastraMastra is the modern TypeScript framework for AI-powered applications and agents.项目地址: https://gitcode.com/GitHub_Trending/ma/mastra本篇指南是 Mastra 官方教程《Agent Tools MCP》系列的第二课聚焦于安装mastra/mcp包——这是在 Mastra 中为 Agent 接入 MCPModel Context Protocol服务器的第一步也是最基础的一步。读完本文你将掌握如何通过一条 npm 命令为项目引入 MCP 基础设施、理解安装包在源码层面为你提供的能力边界并预览后续配置服务器、初始化工具、挂载到 Agent 的完整路径。为什么 Mastra Agent 需要 MCP 与mastra/mcp在动手安装之前先明确这个包解决什么问题。MCPModel Context Protocol是一种标准协议它让 AI 模型可以通过统一的接口访问外部工具与服务。Mastra 官方教程的第一课指出将 MCP 服务器与 Mastra Agent 集成后你的 Agent 可以接入Gmail 等邮件服务GitHub 等代码仓库社交媒体平台天气信息新闻源文件系统以及大量其他服务关键价值在于你不需要为每一项服务手写自定义工具函数而是通过 MCP 的标准接口统一接入。mastra/mcp包正是 Mastra 对这一协议的封装实现——它提供必要的基础设施负责在你创建的 Mastra Agent 与各种 MCP 服务器之间建立通信让 Agent 能够访问这些服务器提供的工具和服务。第一步安装mastra/mcp教程给出的安装命令非常直接npm install mastra/mcplatest安装这个包是增强 Agent MCP 能力的第一步。安装完成后你还需要配置它去连接具体的 MCP 服务器如何配置在后续步骤中展开。从命令本身可以提取几个要点mastra/mcp是 Mastra 官方发布在 npm registry 上的包与mastra/coreMastra 核心框架并列属于官方维护的独立工具包latest标签确保你安装的是最新发布版本从而获得最新的协议支持与功能修复。环境与依赖要求从仓库中mastra/mcp包自身的 package.json 可以看到安装前需要注意的约束Node.js 版本engines字段要求node 22.13.0安装或运行前请确认运行环境满足要求核心框架版本peerDependencies 声明了mastra/core必须为1.64.0-0 2.0.0-0也就是说安装mastra/mcp时你的项目中必须同时存在一个兼容版本的mastra/core协议 SDK 依赖包内部依赖modelcontextprotocol/*系列包client、core、node、server、sdk 等这意味着 MCP 的协议层通信已经由官方 SDK 实现mastra/mcp是在其上做 Mastra 化封装的桥梁。安装之后你得到了什么从源码看包的结构装完包之后我们可以通过仓库源码了解它的构成从而清楚基础设施具体指什么。包的主入口 src/index.ts 只有三行导出export * from ./client; export * from ./server; export * from ./shared;从源码结构看mastra/mcp由三大模块组成模块对应源码目录职责client客户端packages/mcp/src/client连接 MCP 服务器、拉取工具、管理 OAuth 授权、处理资源/提示词/进度等客户端能力server服务端packages/mcp/src/server将 Mastra 自身的能力暴露为 MCP 服务器供其他 MCP 客户端调用shared共享packages/mcp/src/shared客户端与服务端共用的类型定义与元数据工具其中与安装后下一步直接相关的是client 模块核心类为MCPClient定义于 configuration.ts它的职责注释写得非常明确管理 Model Context Protocol 服务器连接与工具命名空间并提供对工具、资源、提示词和 elicitation 的访问。它内部通过InternalMastraMCPClientclient.ts维护与每个服务器的低层连接、传输层管理与协议通信。换句话说安装这个包后你就拥有了一个完整的 MCP 客户端管理骨架支持同时管理多个服务器连接、自动处理连接生命周期并在配置相同时缓存实例以避免内存泄漏、支持 stdio 与 HTTP 两种主流传输方式。安装后的第一步创建 MCP 客户端配置安装完成后教程紧接着的步骤第三课 03-setting-up-mcp-configuration.md是创建基础 MCP 配置。在你的 Agent 文件如src/mastra/agents/index.ts中添加导入import { MCPClient } from mastra/mcp然后创建配置对象const mcp new MCPClient({ servers: { // 后续步骤中在这里添加服务器 }, })这个配置对象用于指定你的 Agent 要连接哪些 MCP 服务器。servers是一个对象每个key 是服务器的唯一标识符对应的value 是该服务器的连接配置。对照源码可以更精确地理解MCPClient的构造参数MCPClientOptions见 configuration.tsid?可选唯一标识符。源码中维护了一个实例缓存mcpClientInstances当以完全相同的配置创建多个实例时会复用已有实例如果你确实需要创建多个相同配置的实例必须提供不同的id否则会抛出错误——这是源码中明确处理的防泄漏逻辑servers服务器名到连接配置的映射必填timeout?所有服务器的全局超时时间毫秒源码默认值为DEFAULT_REQUEST_TIMEOUT_MSEC60000ms。关于服务器的 value 配置从 client.ts 的连接逻辑可以看到每个服务器支持两种核心传输方式stdio本地命令通过command字段指定可执行命令配合args、env、cwd、stderr等选项Mastra 会以子进程方式启动该 MCP 服务器HTTP远程服务通过url字段指定服务器地址。连接时优先尝试 Streamable HTTP 传输若服务器仅支持旧版 HTTPSSE返回 400/404/405 状态码客户端会自动回退到 SSE 传输对应 client.ts 中SSE_FALLBACK_STATUS_CODES常量对于需要鉴权的服务器还可配置authProvider走 OAuth 授权码流程。MCPClient的官方使用示例来自源码注释很好地展示了远程服务器的配置形态import { MCPClient } from mastra/mcp; const mcp new MCPClient({ servers: { remote: { url: yourServerUrl }, }, });初始化 MCP 工具并挂载到 Agent配置就绪后第四课 04-initializing-mcp-tools.md需要初始化 MCP 工具const mcpTools await mcp.listTools()这是一个异步调用它会连接到servers配置中指定的每个服务器通过 MCP 协议的tools/list方法拉取各服务器可用的工具返回一个可以直接被 Mastra Agent 使用的工具对象。从源码看listTools()的实现在 configuration.ts 中它内部调用listToolsWithErrors()会并行地对所有配置的服务器做工具发现并支持按服务器返回结构化错误信息errors与errorDetails即使某个服务器连接失败也不会拖垮其他服务器的工具获取。对每个工具条目客户端会通过buildToolFromListEntryclient.ts把 MCP 工具转换为 Mastra 的Tool对象——包括输入/输出 Schema 转换、requireApproval工具审批与onToolError出错策略等配置的透传。拿到mcpTools后第五课 05-updating-your-agent.md 教你把它挂载到 Agent 上export const personalAssistantAgent new Agent({ name: Personal Assistant, instructions: You are a helpful personal assistant that can help with various tasks. Keep your responses concise and friendly. , model: openai/gpt-5.4, tools: { ...mcpTools }, // 将 MCP 工具加入你的 Agent })通过展开运算符spread把mcpTools并入 Agent 的tools属性配置的所有 MCP 服务器的工具就都对 Agent 可用。后续每添加一个 MCP 服务器mcpTools会自动包含该服务器的新工具Agent 的能力随之扩展无需改动listTools()之后的任何代码——这正是 MCP 设计的核心收益工具即插即用Agent 定义保持稳定。验证安装与基础环境第六课 06-testing-mcp-setup.md 给出了验证步骤。在尚未配置任何 MCP 服务器的情况下基础环境应该已经可以跑通运行npm run dev启动开发服务器打开 Playground教程中使用http://localhost:4111/在 Agent 列表中应能看到 Personal Assistant发送一条类似 Hello, what can you help me with? 的消息。此时 Agent 可以正常回复但还没有特殊能力——因为servers配置为空。这恰好验证了安装、MCP 客户端创建、工具初始化、Agent 挂载这一整条链路是通的剩下的只是往配置里填充具体的服务器。安装之后的路教程的后续地图本次安装是整条课程链的起点。回顾课程目录docs/src/course/02-agent-tools-mcp安装完成后你将依次经历配置服务器03-setting-up-mcp-configuration.md——创建MCPClient与servers骨架初始化工具04-initializing-mcp-tools.md——mcp.listTools()更新 Agent05-updating-your-agent.md——把工具展开进tools属性测试基础环境06-testing-mcp-setup.md——在 Playground 中验证链路。此后课程会以真实服务器为例逐步加码Zapier邮件与社交媒体、GitHub代码仓库、HackerNews新闻、Filesystem文件系统每个案例都遵循获取服务器 URL → 更新 MCP 配置 → 更新 Agent 指令 → 测试集成 → 故障排查的完整闭环你可以顺着 07-what-is-zapier-mcp.md 继续学习。小结mastra/mcp是 Mastra Agent 接入 MCP 生态的桥梁包。一次npm install mastra/mcplatest之后你便获得了多服务器连接管理、stdio/HTTP 双传输自动选择、OAuth 授权支持、工具 Schema 转换与命名空间管理。紧接着的MCPClient配置、listTools()初始化、tools展开挂载三个动作就能让 Agent 具备调用任意 MCP 服务器工具的能力——后续教程将以 Zapier、GitHub 等真实服务器带你完成从安装到实战的完整落地。【免费下载链接】mastraMastra is the modern TypeScript framework for AI-powered applications and agents.项目地址: https://gitcode.com/GitHub_Trending/ma/mastra创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表