项目简介
'template-docs-chatbot' 是一个全面的单体仓库模板,用于构建基于 Mastra 框架的文档问答机器人。它将架构清晰地划分为独立的MCP服务器、代理(Agent)和前端应用。其中,MCP服务器作为核心后端,负责托管和暴露文档相关的工具和数据,供代理或其他LLM客户端调用。
主要功能点
- MCP服务器功能: 作为核心后端,通过HTTP/SSE协议提供结构化的文档查询工具。它能够响应客户端的工具列表请求,并执行具体的功能调用(如查询特定函数的详细信息)。
- 工具托管与管理: 托管 'docsTool' 工具,该工具能获取Kepler项目函数的详细文档,包括参数、描述和使用提示。数据来源于内部的 'functions.json' 文件。
- 模块化与可扩展性: MCP服务器独立部署,可以被多个代理或前端应用复用和扩展,提高了系统的灵活性和可伸缩性。
安装步骤
- 安装依赖: 在项目根目录下,打开终端运行:
pnpm install - 设置环境变量: 复制示例环境变量文件:
cp apps/mcp-server/.env.example apps/mcp-server/.env cp apps/agent/.env.example apps/agent/.env - 配置OpenAI API Key (可选,仅当需要运行Agent时): 在 'apps/agent/.env' 文件中添加您的OpenAI API Key:
OPENAI_API_KEY=your_openai_api_key_here - 启动开发服务器: 要启动MCP服务器,可以在项目根目录下运行:
MCP服务器默认运行在端口 '4111'。pnpm dev:mcp
服务器配置 (面向MCP客户端)
此MCP服务器是独立运行的,MCP客户端(例如本仓库中的'apps/agent')通过HTTP/SSE协议连接。MCP客户端需要配置此服务器的访问地址(URL)以建立连接。以下是基于本仓库'apps/agent'中MCP客户端配置方式的示例说明:
{ "servers": { "localTools": { "url": "http://localhost:4111/mcp", "description": "本地文档MCP服务器,提供Kepler项目文档工具。" } } }
- 'servers': 这是一个JSON对象,用于定义MCP客户端可以连接的MCP服务器列表。每个键(例如'localTools')代表一个服务器的逻辑名称。
- 'localTools': 此处是为本特定MCP服务器定义的连接标识符,你可以根据实际用途为你的MCP客户端修改此名称。
- 'url': 这是MCP服务器的入口点URL。当服务器在本地运行时,默认地址是 'http://localhost:4111/mcp'。MCP客户端将通过此URL发起JSON-RPC请求。
- 'description': 对该MCP服务器提供功能的简要描述,方便理解其用途。
基本使用方法
- 检查服务器状态:
curl http://localhost:4111/mcp - 请求工具列表:
curl -X POST http://localhost:4111/mcp/message \ -H "Content-Type: application/json" \ -d '{"method": "tools/list"}' - 调用 'docsTool' 获取函数信息 (例如获取 'getPlanetaryData'):
curl -X POST http://localhost:4111/mcp/message \ -H "Content-Type: application/json" \ -d '{"method": "tool_call", "tool": "docsTool", "input": {"functionName": "getPlanetaryData"}}'
信息
分类
AI与计算