一个遵循 Model Context Protocol (MCP) 标准的 Node.js 服务,作为连接 AI 编程助手(如 Cursor, Claude Desktop)与 YApi 接口管理平台的桥梁。
- 🔍 查询项目: 列出所有可访问的YApi项目
- 📋 获取分类: 获取项目下的接口分类和概要
- 🔎 搜索接口: 根据关键词、路径、请求方法搜索接口
- 📖 接口详情: 获取完整的接口文档信息
- ✏️ 保存接口: 创建新接口或更新现有接口
- ⚡ 智能缓存: 内置缓存机制,提升查询性能
- 🚀 多种模式: 支持stdio和SSE两种传输模式
# 全局安装
npm install -g yapi-mcp-server
# 或使用npx(无需安装)
npx yapi-mcp-server --helpgit clone https://github.com/yoge/yapi-mcp-server.git
cd yapi-mcp-server
npm install创建 .env 文件:
# 必需配置
YAPI_BASE_URL=https://your-yapi-server.com
YAPI_TOKEN=123:your_token_123,456:your_token_456
# 可选配置
PORT=8080
CACHE_TTL=3600
LOG_LEVEL=info# 使用环境变量(推荐)
npm run dev:stdio
# 或使用命令行参数
npm run dev:stdio -- --yapi-base-url=https://your-yapi.com --yapi-token=123:abc123,456:def456# 使用环境变量(推荐)
npm run dev:sse
# 或使用命令行参数
npm run dev:sse -- --yapi-base-url=https://your-yapi.com --yapi-token=123:abc123 --port=8080npm run build
# 使用环境变量(推荐)
npm run start:stdio
# 或使用命令行参数
npm run start:stdio -- --yapi-base-url=https://your-yapi.com --yapi-token=123:abc123| 参数 | 环境变量 | 描述 | 示例 |
|---|---|---|---|
--yapi-base-url |
YAPI_BASE_URL |
必需. YApi服务地址 | https://yapi.example.com |
--yapi-token |
YAPI_TOKEN |
必需. 项目Token | 123:abc123,456:def456 |
--stdio |
- | 使用stdio传输模式 | - |
--sse |
- | 使用SSE传输模式 | - |
--port |
PORT |
SSE服务器端口 | 8080 |
--cache-ttl |
CACHE_TTL |
缓存TTL(秒) | 3600 |
--log-level |
LOG_LEVEL |
日志级别 | debug |
Token参数格式:projectId1:token1,projectId2:token2
例如:123:abcdef123456,456:ghijkl789012
在 .model-context-protocol/mcp-servers.json 中添加:
{
"mcpServers": {
"yapi-mcp": {
"command": "npx",
"args": [
"-y",
"yapi-mcp-server",
"--stdio"
],
"env": {
"YAPI_BASE_URL": "https://your-yapi.com",
"YAPI_TOKEN": "123:abc123,456:def456"
}
}
}
}在项目中创建 .cursorrules 文件:
你可以使用以下YApi MCP工具来查询和管理接口文档:
1. yapi_list_projects - 列出所有项目
2. yapi_get_categories - 获取项目分类
3. yapi_search_apis - 搜索接口
4. yapi_get_api_details - 获取接口详情
5. yapi_save_api - 创建/更新接口
请主动使用这些工具来帮助用户管理YApi接口文档。
列出当前配置Token可访问的所有项目。
输入: 无参数 输出: 项目列表
获取指定项目下的所有接口分类。
输入:
project_id: 项目ID
输出: 分类和接口概要列表
搜索接口。
输入:
query: 搜索关键词project_ids: 可选,指定项目ID列表method: 可选,请求方法过滤
输出: 匹配的接口列表
获取接口完整详情。
输入:
api_id: 接口ID
输出: 接口详细信息
创建或更新接口。
输入: 接口详细信息 输出: 操作结果
src/
├── types/ # TypeScript类型定义
├── config/ # 配置管理
├── cache/ # 缓存层
├── services/ # 业务逻辑层
├── server/ # MCP服务器层
└── index.ts # 入口文件
- Node.js ^20.17.0
- TypeScript ^5.0.0
- @modelcontextprotocol/sdk ^1.6.0
- Axios - HTTP客户端
- Zod - Schema验证
- Pino - 日志记录
- Express - SSE服务器
MIT License