使用说明
项目简介
本项目 'AEP MCP Server' 是一个基于 Model Context Protocol (MCP) 的服务器实现,它利用 OpenAPI (Swagger) 规范来定义和管理资源 (Resources) 和工具 (Tools)。该服务器旨在为大型语言模型 (LLM) 应用提供结构化的上下文信息和功能调用能力。通过标准输入输出 (stdio) 与 MCP 客户端进行通信,实现了简单而有效的集成方式。
主要功能点
- 资源管理 (Resources): 通过解析 OpenAPI 规范,自动将 API 接口转换为 MCP 资源。服务器可以托管和管理这些资源,并提供数据访问能力。
- 工具注册 (Tools): 将 OpenAPI 规范中的 API 操作注册为 MCP 工具。允许 LLM 客户端调用这些工具来执行外部功能。
- 基于 OpenAPI: 使用广泛采用的 OpenAPI 规范作为资源和工具的定义标准,易于理解和扩展。
- 标准输入输出 (Stdio) 通信: 采用 Stdio 作为 MCP 服务器的传输协议,简化了部署和集成过程。
- 动态 Schema: 利用 Zod 库根据 OpenAPI Schema 动态生成数据验证和处理逻辑。
安装步骤
- 克隆仓库
git clone https://github.com/aep-dev/aep-mcp-server cd aep-mcp-server - 安装依赖
npm install
服务器配置
MCP 客户端需要配置以下 JSON 信息以连接到 'AEP MCP Server'。请注意,本服务器默认通过标准输入输出进行通信,并使用预定义的 OpenAPI 规范文件。
{ "serverName": "Demo", "command": "node", "args": [ "src/server.js" ], "transport": "stdio", "capabilities": [ "resources", "tools", "prompts" ], "description": "Demo MCP Server based on OpenAPI" }
配置参数说明:
- 'serverName': MCP 服务器的名称,这里设置为 "Demo",与代码中 'McpServer' 初始化时的 'name' 保持一致。
- 'command': 启动 MCP 服务器的命令,这里使用 'node' 命令来执行 JavaScript 文件。
- 'args': 传递给启动命令的参数,这里指定了服务器入口文件 'src/server.js'。
- 'transport': 指定 MCP 服务器使用的传输协议,这里设置为 'stdio',表示使用标准输入输出进行通信。
- 'capabilities': 声明服务器支持的 MCP 功能,包括 'resources'(资源管理), 'tools'(工具注册), 和 'prompts'(Prompt 模板,虽然代码中未显式实现 Prompt 模板功能,但 capability 声明包含在内)。
- 'description': 对 MCP 服务器的简要描述,方便客户端用户理解其用途。
基本使用方法
-
启动 MCP 服务器 在克隆仓库的根目录下,执行以下命令启动服务器:
npm start或者直接运行:
node src/server.js服务器将通过标准输出开始运行,并等待 MCP 客户端的连接和请求。
-
配置并连接 MCP 客户端 在 MCP 客户端应用中,根据上述 服务器配置 部分提供的 JSON 信息配置你的 MCP 客户端,确保客户端能够通过 Stdio 与服务器建立连接。
-
通过客户端与服务器交互 客户端连接成功后,即可向 'AEP MCP Server' 发送 MCP 请求,例如:
- 请求获取资源列表
- 调用已注册的工具 (Tools)
- (如果 Prompt 模板功能已实现) 请求获取 Prompt 模板
服务器会根据请求处理并返回 MCP 响应。具体的交互方式和请求格式需要参考 MCP 协议文档以及客户端的具体实现。
注意:
- 本示例服务器默认加载预定义的 OpenAPI 规范文件 (Roblox Cloud API)。你可以修改 'src/server.ts' 中的 'openapiUrl' 变量来加载不同的 OpenAPI 规范文件,以管理不同的资源和工具。
- 服务器工具的实际功能实现较为简单 (默认返回 "Success"),你需要根据实际需求修改 'src/server.ts' 中 'server.tool()' 方法的回调函数,来实现工具的具体业务逻辑。
信息
分类
开发者工具