关于 Yapi Mcp Server
Yapi Mcp Server 将 YApi 接口管理数据接入 MCP 客户端,并生成 TypeScript 类型、Mock 数据和 API 请求代码。它读取项目配置,并将获取的 YApi 数据缓存 30 分钟。
主要功能
- 01读取 yapi.config.json
- 02获取并缓存 YApi 数据
- 03生成 TypeScript 类型定义
- 04根据 Schema 生成 Mock 数据
- 05生成 Axios 或 Fetch 代码
适用场景
- 01为 YApi 接口生成类型
- 02为 API 创建 Mock 数据
- 03生成 Axios 或 Fetch 请求函数
MCP 相关
提供五种 MCP 工具,用于读取配置、获取 YApi 数据、生成类型、创建 Mock 数据和生成 API 代码。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| projectPath | string | 否 | 项目路径,如果不提供则使用当前工作目录 |
详细介绍
来自项目 READMEYApi MCP Server
这是一个 Model Context Protocol (MCP) 服务器,用于与 YApi 接口管理平台集成,支持自动生成 TypeScript 类型定义、Mock 数据和 API 请求代码。
✨ 功能特性
🔧 核心功能
- 配置文件读取: 自动读取项目中的
yapi.config.json配置文件 - YApi 数据获取: 通过配置的 remoteUrl 获取 YApi 项目的完整接口信息(支持缓存)
- TypeScript 类型生成: 根据接口响应 Schema 自动生成 TypeScript interface 定义
- Mock 数据生成: 智能生成符合接口结构的 Mock 测试数据
- API 请求代码生成: 自动生成 Axios 或 Fetch 风格的 API 请求函数
- 智能缓存机制: 自动缓存 YApi 数据 30 分钟,减少网络请求
特别说明(强烈推荐!!!)
推荐使用最新的yapi-cli, 相比当前项目支持了以下功能:
- 支持 cli
- 支持 mcp
- 支持 skill
- 支持多 yapi 项目和多 yapi 空间,配置更方便
- 改用 yapiopenapi 接口获取,减少上下文占用,更省 token了
✨ 快速开始
1. cursor 中安装 yapi-mcp-server
{
"mcpServers": {
"yapi-mcp": {
"command": "npx",
"args": ["-y", "@vtian/yapi-mcp-server", "--stdio"]
}
}
}
2. 获取 yapi 参数

3. 项目中配置 yapi.config.json
在您的前端项目根目录下创建 yapi.config.json 文件:
{
"remoteUrl": "https://your-yapi-domain.com/api/open/plugin/export-full?type=json&pid=1437&status=all&token=your-token",
"type": "yapi",
"dataKey": "data",
"mockPath": "src/mocks",
"typePath": "src/types",
"apiPath": "src/api"
}
必填字段
remoteUrl: YApi 项目导出接口 URLtype: 平台类型,固定为 "yapi"
可选字段
dataKey: 响应数据字段名,默认 "data"mockPath: Mock 文件输出路径,默认 "src/mocks"typePath: 类型文件输出路径,默认 "src/types"apiPath: API 代码输出路径,默认 "src/api"
✨ 可用工具
本项目提供以下 5 个 MCP 工具,可以通过支持 MCP 协议的客户端(如 Claude Desktop、cursor)调用:
1️⃣ read_config - 读取配置文件
从项目中查找并读取 yapi.config.json 配置文件。
2️⃣ get_yapi_data - 获取 YApi 数据
从 YApi 服务器获取接口数据,支持缓存机制(30 分钟)。
3️⃣ generate_types - 生成 TypeScript 类型
根据接口 JSON Schema 生成 TypeScript 类型定义。
4️⃣ generate_mock_from_yapi - 生成 Mock 数据
根据接口 Schema 智能生成符合结构的 Mock 数据。
5️⃣ generate_api_code - 生成 API 请求代码
生成 Axios 或 Fetch 风格的 API 请求函数代码。
✨ prompt 使用
🔧 yapi 中有哪些接口?

🔧 帮我更新一下 yapi 接口数据

🔧 帮我生成 109220 的 mock 数据
- 可以是 yapi 上接口对应的 id,也可以直接是接口名称

🔧 帮我根据接口 109220 更新对应的 ts 类型
- 可以是 yapi 上接口对应的 id,也可以直接是接口名称

🔧 帮我根据接口 109220 生成 axios 代码
- 效果同上
✨ 生成的文件示例
TypeScript 类型定义
/** 用户信息接口 */
export interface UserInfoData {
/** 用户ID */
userId: number
/** 用户名 */
username: string
/** 邮箱 */
email: string
}
API 请求代码 (Axios)
/**
* 用户信息接口
*/
export const getUserInfo = async (): Promise<UserInfoData> => {
const response = await axios.get('/api/user/info')
return response.data
}
Mock 数据
{
"code": "200",
"success": true,
"message": "操作成功",
"data": {
"userId": 12345,
"username": "测试用户",
"email": "[email protected]"
}
}
📄 许可证
MIT License
🤝 支持与反馈
如有问题或建议,请通过 Issues 或内部渠道联系开发团队。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。