使用说明
项目简介
本仓库是一个使用 Next.js 框架搭建的 MCP 服务器示例模板,它基于 Mastra 框架,展示了如何构建一个提供 Agent 和 Tool 功能的 MCP 服务。该模板预置了一个天气查询 Agent 和 Tool,帮助开发者快速了解和上手 MCP 服务器的开发。
主要功能点
- 资源 (Resources) 管理 (未在示例中显式展示): Mastra 框架支持资源管理,但本示例模板可能未直接展示资源管理功能,重点在于 Agent 和 Tool 的实现。
- 工具 (Tools) 注册和执行: 示例中包含一个 'weatherTool',演示了如何注册和实现工具,该工具可以根据用户提供的地点查询天气信息。
- Prompt 模板 (Prompts) 定义和渲染 (未在示例中显式展示): Mastra 框架支持 Prompt 模板,本示例可能侧重于 Agent 的指令定义,Prompt 模板的使用可能需要进一步探索 Mastra 框架的文档。
- Agent 管理和调用: 示例中包含一个 'weatherAgent',演示了如何创建和配置 Agent,该 Agent 可以利用 'weatherTool' 为用户提供天气查询服务。
- 基于 JSON-RPC 协议的通信: Mastra 框架作为 MCP 服务器,预期使用 JSON-RPC 协议与 MCP 客户端进行通信,具体的协议交互细节可能需要在 Mastra 框架的文档中查找。
安装步骤
-
创建 Next.js 应用: 如果本地没有安装 Next.js 环境,请先安装 Node.js 和 npm。然后使用以下命令创建 Next.js 应用:
npx create-next-app@latest nextjs-mastra-sample按照提示选择 TypeScript, ESLint, Tailwind CSS, 'src/' 目录, App Router 等选项 (根据您的偏好选择即可)。
-
进入项目目录:
cd nextjs-mastra-sample -
初始化 Mastra: 运行 Mastra 初始化命令,安装 Mastra 核心依赖并配置项目:
npx mastra@latest init根据提示选择配置项,例如选择安装 Agents 组件,添加 Tools,选择 OpenAI provider (可以先跳过 API Key 设置),添加示例等。
-
安装依赖: 确保所有依赖安装完成:
npm install -
启动开发服务器: 运行 Next.js 开发服务器,Mastra MCP 服务器通常会集成在 Next.js 开发环境中一同启动:
npm run dev
服务器配置
对于 MCP 客户端,需要配置连接到 Mastra MCP 服务器的信息。以下是一个可能的配置示例,请注意,实际配置可能需要根据 Mastra 框架的文档和具体实现进行调整。
{ "serverName": "MastraDevServer", "command": "npm", "args": ["run", "dev"], "description": "Mastra MCP 开发服务器 (集成在 Next.js 开发环境)", "transport": "stdio" // 传输协议,根据 Mastra 实际支持的协议配置,例如 stdio, websocket, sse // ... 其他可能的配置项,例如 serverUrl (如果使用 HTTP 协议) ... }
参数注释:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 启动 MCP 服务器的命令,这里使用 'npm' 命令。
- 'args': 启动命令的参数,'run dev' 表示运行 'package.json' 中定义的 'dev' 脚本,通常用于启动 Next.js 开发服务器,Mastra MCP 服务器预期会随之启动。
- 'description': 对该服务器配置的描述,方便识别。
- 'transport': MCP 客户端与服务器通信的传输协议。 'stdio' 表示标准输入输出,也可能是 'websocket' 或 'sse',需要参考 Mastra 框架文档确定。
注意: 上述配置是一个基础示例,实际的 Mastra MCP 服务器可能需要更详细的配置,例如端口号、API 路径等。请务必参考 Mastra 框架的官方文档以获取准确的服务器配置信息。
基本使用方法
- 启动 MCP 服务器 (通过 'npm run dev')。
- 配置 MCP 客户端,连接到运行中的 Mastra MCP 服务器 (使用上述提供的服务器配置示例作为参考)。
- 在 MCP 客户端中,可以调用 'weatherAgent' 或 'weatherTool' 来查询天气信息。具体的调用方式和请求格式需要参考 MCP 协议和 Mastra 框架的文档。
- 例如,在 MCP 客户端中,可以向服务器发送请求,指示 'weatherAgent' 处理用户关于天气的查询,或者直接调用 'weatherTool' 并提供地点参数来获取天气数据。
更详细的使用方法和 API 文档,请参考 Mastra 框架的官方文档和示例。
信息
分类
网页与API