@solumon/mcp-server-yapi
v0.1.0
Published
YApi MCP server with LDAP login and Cookie session authentication
Maintainers
Readme
@solumon/mcp-server-yapi
YApi MCP Server:通过 LDAP 账号登录,用 Cookie 会话访问 YApi,让 LLM 用自然语言管理接口文档。
基于 kales0202/mcp-server-yapi 改造,鉴权改为 LDAP + 本地会话缓存。
核心功能
- LDAP 登录:
/api/user/login_by_ldap,无需配置项目 Token - 会话缓存: Cookie 持久化到
~/.mcp-server-yapi/session.json,进程重启可复用 - 项目管理: 获取项目基本信息、列出可访问项目
- 接口管理: 创建/保存、获取接口信息
- 接口分类: 创建分类、获取分类菜单
- 接口列表: 获取项目或分类下的接口列表
- 路径模糊匹配: 按 path 模糊查询接口,无需记住接口 ID
客户端配置
安装要求
- Node.js >= 18.19.0
- Cursor / Windsurf / Claude Desktop 等支持 MCP 的客户端
配置示例
{
"mcpServers": {
"mcp-server-yapi": {
"command": "npx",
"args": ["-y", "@solumon/mcp-server-yapi"],
"env": {
"YAPI_BASE_URL": "https://yapi.example.com",
"YAPI_USERNAME": "your_ldap_username",
"YAPI_PASSWORD": "your_password",
"MCP_DEBUG_CONSOLE": "false"
}
}
}
}| 环境变量 | 说明 |
|---------|------|
| YAPI_BASE_URL | YApi 服务地址 |
| YAPI_USERNAME | LDAP 登录账号(请求时映射为接口字段 email) |
| YAPI_PASSWORD | LDAP 登录密码 |
| YAPI_SESSION_FILE | 可选,会话 Cookie 本地缓存路径,默认 ~/.mcp-server-yapi/session.json |
| MCP_DEBUG_CONSOLE | 是否输出调试日志,默认 false |
登录成功后会把 Cookie 缓存到本地(权限 0600)。进程重启后会优先复用,失效(40011)时自动重新登录。
访问不同 YApi 项目时,在工具参数中传入对应的 project_id 即可(账号需对该项目有权限)。
本地开发调试
git clone https://github.com/solumon/mcp-server-yapi.git
cd mcp-server-yapi
npm install
npm run build本地联调配置:
{
"mcpServers": {
"mcp-server-yapi": {
"command": "node",
"args": ["/absolute/path/to/mcp-server-yapi/dist/index.js"],
"env": {
"YAPI_BASE_URL": "https://yapi.example.com",
"YAPI_USERNAME": "your_ldap_username",
"YAPI_PASSWORD": "your_password",
"MCP_DEBUG_CONSOLE": "false"
}
}
}
}可用工具
list_project: 列出可访问项目(可传group_id限定分组;不传则汇总所有分组)get_project: 获取项目基本信息(需提供project_id)add_cat: 新增接口分类get_cat_menu: 获取分类菜单列表list_cat: 获取某个分类下接口列表get_interface: 按接口 ID 获取完整详情,或按project_id+router_path模糊匹配list_interface: 获取接口列表数据save_interface: 新增或者更新接口
发布
npm login
npm publishscoped 包已配置 "publishConfig": { "access": "public" },可直接公开发布。
