一个基于 MCP 的 YApi 只读服务,供大模型或 MCP 客户端直接读取 YApi 中的项目、分类和接口文档,而不需要手动打开 YApi 页面。
npm install
本项目不再读取 config.json,而是从进程环境变量读取 YApi 凭据。
需要提供以下 3 个环境变量:
YAPI_BASE_URL=https://yapi.example.com YAPI_USERNAME=your-account@example.com YAPI_PASSWORD=your-password
YAPI_BASE_URL: YApi 站点地址,必须是 http 或 https 开头的完整 URLYAPI_USERNAME: 用于登录 YApi 的用户名,当前实现按邮箱字段提交YAPI_PASSWORD: 对应账号密码macOS / Linux:
YAPI_BASE_URL=https://yapi.example.com \ YAPI_USERNAME=your-account@example.com \ YAPI_PASSWORD=your-password \ npm start
Windows PowerShell:
$env:YAPI_BASE_URL="https://yapi.example.com" $env:YAPI_USERNAME="your-account@example.com" $env:YAPI_PASSWORD="your-password" npm start
OpenCode 支持为本地 MCP 服务配置 environment,也支持在配置文件中使用 {env:VAR_NAME} 引用外部环境变量。
下面是一个 opencode.json 示例:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"yapi": {
"type": "local",
"command": ["npx", "-y", "yapi-mcp"],
"environment": {
"YAPI_BASE_URL": "{env:YAPI_BASE_URL}",
"YAPI_USERNAME": "{env:YAPI_USERNAME}",
"YAPI_PASSWORD": "{env:YAPI_PASSWORD}"
}
}
}
}
如果你不想依赖外层 shell 环境,也可以直接把值写进 environment:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"yapi-mcp": {
"type": "local",
"command": ["npx", "-y", "@npmjyj/yapi-mcp"],
"environment": {
"YAPI_BASE_URL": "https://yapi.example.com",
"YAPI_USERNAME": "your-account@example.com",
"YAPI_PASSWORD": "your-password"
}
}
}
}
trae配置方式:
{
"mcpServers": {
"yapi-mcp": {
"command": "npx -y @npmjyj/yapi-mcp",
"env": {
"YAPI_BASE_URL": "https://yapi.example.com",
"YAPI_USERNAME": "your-account@example.com",
"YAPI_PASSWORD": "your-password"
}
}
}
}
npm run build
npm start
开发模式:
npm run dev
构建完成后可执行:
npm run validate
该命令会输出 JSON,包含:
这个项目通过标准输入输出运行 MCP Server,启动命令为:
node dist/index.js
如果你的 MCP 客户端支持命令行方式配置,可以将它注册为一个 stdio 服务。
yapi_status: 检查配置、登录和会话状态list_projects: 列出当前账号可见项目list_categories: 列出指定项目分类search_apis: 搜索接口get_api_detail: 获取接口详情export_project: 导出项目定义npm run dev: 直接运行 TypeScript 入口npm run build: 编译到 distnpm start: 运行编译后的 MCP Servernpm run validate: 校验环境变量与 YApi 连接状态