使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的 API 服务器实现,旨在为大型语言模型 (LLM) 应用提供标准化的 API 工具访问能力。它通过动态注册 OpenAPI 定义的 API 接口为 MCP 工具,使得 LLM 可以安全、便捷地调用后端 API 服务,扩展 LLM 的能力边界。
主要功能点
- 动态 API 工具注册: 无需手动配置,自动从 OpenAPI 规范中发现并注册 API 接口为 MCP 工具,简化工具管理。
- 安全 API 访问控制: 支持 Token 认证和 API 访问控制列表 (ALLOWED_APIS),保障 API 调用的安全性。
- 标准 MCP 协议支持: 完全遵循 MCP 协议规范,确保与任何兼容 MCP 协议的客户端无缝对接。
- 易于部署和配置: 采用 Node.js 和 TypeScript 技术栈开发,跨平台兼容性好,易于安装、配置和维护。
安装步骤
- 克隆仓库
git clone https://github.com/qingtianyu/mcp-server.git cd mcp-server - 安装依赖
npm install - 构建项目
npm run build
服务器配置
为了让 MCP 客户端能够连接到此 MCP 服务器,您需要在客户端配置中添加以下服务器配置信息。请根据您的实际环境修改以下参数,无需修改代码。
{ "mcpServers": { "api-server": { // 服务器名称,客户端用于标识和引用 "command": "node", // 启动服务器的命令,通常为 node "args": [ // 启动命令的参数,指向编译后的服务器入口文件 "path/to/mcp-server/build/index.js" // 请替换为实际的 build 目录路径,例如 "./build/index.js" ], "env": { // 环境变量配置,用于API服务器的身份验证和授权 "BASE_URL": "https://your-api-server-url", // 后端API的基础URL,例如:https://127.0.0.1:8080,请替换为您的实际API服务地址 "CLIENT_ID": "your_client_id", // OAuth2 客户端 ID,用于API服务的身份验证 "CLIENT_SECRET": "your_client_secret", // OAuth2 客户端密钥,用于API服务的身份验证 "USERNAME": "your_username", // API服务用户名,用于密码模式的身份验证 "PASSWORD": "your_password", // API服务密码,用于密码模式的身份验证 "TENANT_ID": "your_tenant_id", // 租户ID,用于多租户API服务的租户隔离 "REJECT_UNAUTHORIZED": "false", // 是否拒绝未授权的HTTPS请求,开发环境可设置为 "false",生产环境建议设置为 "true" "ALLOWED_APIS": "/api/endpoint1,/api/endpoint2" // 允许暴露为MCP工具的API端点列表,从OpenAPI文档中获取,多个端点用逗号分隔,例如:"/admin-api/system/user/page,/admin-api/system/user/create" }, "disabled": false, // 是否禁用此服务器配置,默认为 false,设置为 true 则客户端不会连接此服务器 "autoApprove": [] // 自动批准的工具列表,默认为空,客户端调用列表中的工具时无需用户授权 } } }
基本使用方法
- 确保已正确配置 MCP 客户端,并将上述服务器配置添加到客户端的配置文件中。
- 启动 MCP 服务器:在项目根目录下运行 'npm run start' 命令。
- 在 MCP 客户端中,您应该能够发现并调用此服务器提供的 API 工具。工具名称通常与 OpenAPI 规范中定义的 'operationId' 对应。
- 调用工具时,请根据工具的 'inputSchema' 提供请求参数。服务器将自动调用后端 API,并将API响应结果以 MCP 协议规定的格式返回给客户端。
信息
分类
网页与API