An MCP server for the YApi interface management platform, enabling direct operation and full lifecycle management within AI editors.
一个功能强大的 Model Context Protocol (MCP) 服务器,专为 YApi 接口管理平台设计。支持在 Cursor、Claude Desktop 等 AI 编辑器中直接操作 YApi,提供完整的接口生命周期管理功能。
如果您遇到连接问题,首先检查这个:
# 1. 检查版本命令是否正常
npx yapi-mcp-pro --version
# 2. 如果上面命令没有正常输出版本号,执行清缓存:
npm cache clean --force
# 3. 然后重新测试
npx yapi-mcp-pro --version
🔍 判断标准:
0.2.1
💡 为什么会出现这个问题? NPM缓存可能损坏或过期,导致无法正确下载或运行包。清理缓存可以解决大部分连接问题。
检查项 | 正常状态 | 异常处理 |
---|---|---|
🔥 NPM包版本 | npx yapi-mcp-pro --version 有输出 | 必须执行: npm cache clean --force |
YApi服务可访问 | curl -I {YAPI_URL} 返回200 | 检查YApi服务状态、网络连接 |
Token有效性 | 能正常访问YApi接口 | 重新获取Token或检查权限 |
环境变量 | YAPI_BASE_URL 和YAPI_TOKEN 已设置 | 检查环境变量或配置文件 |
状态 | 含义 | 解决方案 |
---|---|---|
🟢 绿灯 | 连接正常 | 可以正常使用 |
🔴 红灯 | 连接失败 | 1. 先执行 npm cache clean --force 2. 检查配置文件3. 验证YApi连接 |
🟡 黄灯 | 连接超时 | 检查网络、防火墙设置 |
⚫ 无显示 | 配置错误 | 检查JSON语法、重新配置 |
如果遇到问题,复制以下命令一键修复:
# 清理NPM缓存并重新安装
npm cache clean --force && npx clear-npx-cache 2>/dev/null || true
# 验证安装
npx yapi-mcp-pro --version
# 测试YApi连接(替换为您的实际地址)
curl -I "http://your-yapi-server.com"
只需要2样东西:
⏱️ 配置时间:不到5分钟
🎯 推荐方式:使用NPM包的stdio模式,无需本地构建,开箱即用!
📦 自动更新:使用
npx -y yapi-mcp-pro
确保总是使用最新版本🔒 安全便捷:Cookie认证自动发现所有项目,配置简单
如果您是第一次接触,按这个顺序:
💡 已经有Node.js? 直接从第2步开始!
从浏览器地址栏复制您的YApi服务器地址,例如:http://your-yapi-server.com
F12
或右键选择"检查"💡 重要提示:
- Cookie必须包含
_yapi_token
和_yapi_uid
两个关键字段- 完整格式如:
_yapi_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...; _yapi_uid=1413; 其他cookie值
- 请复制完整的Cookie字符串,不要遗漏任何部分
🔍 Cookie内容示例:
_yapi_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...(您的完整token); _yapi_uid=您的用户ID; keep-alive
步骤:
.cursor
文件夹(如果不存在).cursor
文件夹中创建 mcp.json
文件💻 终端快速创建:
# 创建目录和文件
mkdir -p .cursor
touch .cursor/mcp.json
# 然后编辑文件内容
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "npx",
"args": ["-y", "yapi-mcp-pro"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "_yapi_token=您的真实token; _yapi_uid=您的用户ID",
"NODE_ENV": "cli"
}
}
}
}
📝 配置示例(请替换为您的真实信息):
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "npx",
"args": ["-y", "yapi-mcp-pro"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "_yapi_token=您的真实token值; _yapi_uid=您的用户ID",
"NODE_ENV": "cli"
}
}
}
}
编辑Cursor全局配置文件:
~/Library/Application Support/Cursor/User/settings.json
%APPDATA%\Cursor\User\settings.json
~/.config/Cursor/User/settings.json
添加相同的配置内容。
请获取我的YApi用户信息
请列出所有YApi项目
请搜索用户相关的接口
YAPI_BASE_URL
是否正确_yapi_token
和 _yapi_uid
在开始配置之前,请确保您的系统满足以下要求:
要求项 | 最低版本 | 推荐版本 | 验证命令 |
---|---|---|---|
Node.js | 16.0.0+ | 18.0.0+ | node --version |
npm | 7.0.0+ | 9.0.0+ | npm --version |
网络访问 | - | - | 能访问YApi服务器和NPM Registry |
💡 如果您已经安装了Node.js,可以跳过此部分
检查是否已安装:在终端/命令提示符中输入
node --version
- 如果显示版本号(如
v18.17.0
),说明已安装- 如果提示 "command not found" 或类似错误,需要安装
第一步:访问官网下载
第二步:根据您的操作系统选择
操作系统 | 下载文件 | 安装方式 |
---|---|---|
Windows | node-v18.x.x-x64.msi | 双击运行,按向导安装 |
macOS | node-v18.x.x.pkg | 双击运行,按向导安装 |
Linux | node-v18.x.x-linux-x64.tar.xz | 解压或使用包管理器 |
第三步:安装过程
🪟 Windows 用户:
.msi
文件🍎 macOS 用户:
.pkg
文件🐧 Linux 用户:
# 下载并解压(以Ubuntu为例)
wget https://nodejs.org/dist/v18.17.0/node-v18.17.0-linux-x64.tar.xz
tar -xf node-v18.17.0-linux-x64.tar.xz
# 移动到系统目录
sudo mv node-v18.17.0-linux-x64 /opt/nodejs
# 创建软链接
sudo ln -s /opt/nodejs/bin/node /usr/local/bin/node
sudo ln -s /opt/nodejs/bin/npm /usr/local/bin/npm
sudo ln -s /opt/nodejs/bin/npx /usr/local/bin/npx
🪟 Windows (使用 Chocolatey):
# 首先安装Chocolatey (如果没有)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# 安装Node.js
choco install nodejs
# 验证安装
node --version
npm --version
🍎 macOS (使用 Homebrew):
# 首先安装Homebrew (如果没有)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装Node.js
brew install node
# 验证安装
node --version
npm --version
🐧 Linux (使用包管理器):
# Ubuntu/Debian
sudo apt update
sudo apt install nodejs npm
# CentOS/RHEL (使用dnf)
sudo dnf install nodejs npm
# CentOS/RHEL (使用yum)
sudo yum install nodejs npm
# Arch Linux
sudo pacman -S nodejs npm
# 验证安装
node --version
npm --version
安装完成后,请执行以下命令验证:
# 检查Node.js版本(应显示 v16.0.0 或更高版本)
node --version
# 检查npm版本(应显示 7.0.0 或更高版本)
npm --version
# 检查npx是否可用
npx --version
# 测试npm连接(可选)
npm ping
✅ 成功安装的标志:
node --version
显示版本号(如:v18.17.0
)npm --version
显示版本号(如:9.6.7
)npx --version
显示版本号(如:9.6.7
)❌ "node: command not found"
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
❌ 版本过低
# 更新到最新版本
npm install -g npm@latest
# 或重新下载安装最新版Node.js
❌ 权限问题
# macOS/Linux: 修复npm权限
sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) /usr/local/lib/node_modules
❌ 网络问题(中国用户)
# 切换到国内镜像源
npm config set registry https://registry.npmmirror.com
# 验证镜像源
npm config get registry
# 设置npm全局安装目录(避免权限问题)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
# 添加到环境变量(macOS/Linux)
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.profile
source ~/.profile
# Windows用户需要手动添加 %USERPROFILE%\.npm-global 到PATH环境变量
安装Node.js后,立即测试我们的工具:
# 测试YApi MCP Pro是否可以正常运行
npx -y yapi-mcp-pro --help
# 如果看到帮助信息,说明环境配置成功!
看到类似输出表示成功:
选项:
--version 显示版本号
--yapi-base-url YApi服务器基础URL
--yapi-token YApi服务器授权Token
--help 显示帮助信息
一键检查所有环境要求:
# Windows (PowerShell)
echo "=== YApi MCP Pro 环境检查 ===" && echo "Node.js版本:" && node --version && echo "NPM版本:" && npm --version && echo "网络连通性:" && npm ping
# macOS/Linux
echo "=== YApi MCP Pro 环境检查 ===" && echo "Node.js版本:" && node --version && echo "NPM版本:" && npm --version && echo "测试NPM连接:" && npm ping
# 检查NPX可用性
npx --version
问题: 系统未安装Node.js 解决方案:
# macOS (使用Homebrew)
brew install node
# Ubuntu/Debian
sudo apt update && sudo apt install nodejs npm
# Windows (使用Chocolatey)
choco install nodejs
问题: NPX未正确安装 解决方案:
# 重新安装NPM (NPX包含在NPM中)
npm install -g npm@latest
# 或单独安装NPX
npm install -g npx
问题: 权限不足 解决方案:
# macOS/Linux: 修复NPM权限
sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) /usr/local/lib/node_modules
# 或配置NPM使用不同目录
npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH
问题: 无法下载NPM包 解决方案:
# 检查NPM Registry连接
npm config get registry
# 切换到国内镜像(如果在中国)
npm config set registry https://registry.npmmirror.com
# 测试网络连接
curl -I https://registry.npmjs.org
第一步:安装依赖
# 安装Node.js (推荐使用Homebrew)
brew install node
# 验证安装
node --version && npm --version
第二步:配置Cursor
# 创建配置目录
mkdir -p ~/.config/Cursor/User
# 编辑配置文件
code ~/.config/Cursor/User/settings.json
# 或使用任意文本编辑器
第三步:添加MCP配置
在 settings.json
中添加:
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "npx",
"args": ["-y", "yapi-mcp-pro"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "您的完整Cookie字符串",
"NODE_ENV": "cli"
}
}
}
}
第一步:安装依赖
# 使用官方安装器
# 访问 https://nodejs.org/ 下载Windows安装包
# 或使用Chocolatey
choco install nodejs
# 验证安装
node --version; npm --version
第二步:配置Cursor
# 打开配置目录
explorer %APPDATA%\Cursor\User\
# 编辑settings.json文件
# 如果文件不存在,创建它
第三步:添加MCP配置
创建或编辑 %APPDATA%\Cursor\User\settings.json
:
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "npx",
"args": ["-y", "yapi-mcp-pro"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "您的完整Cookie字符串",
"NODE_ENV": "cli"
}
}
}
}
第一步:安装依赖
# Ubuntu/Debian
sudo apt update
sudo apt install nodejs npm
# CentOS/RHEL/Fedora
sudo dnf install nodejs npm # Fedora
sudo yum install nodejs npm # CentOS/RHEL
# Arch Linux
sudo pacman -S nodejs npm
# 验证安装
node --version && npm --version
第二步:配置Cursor
# 创建配置目录
mkdir -p ~/.config/Cursor/User
# 编辑配置文件
nano ~/.config/Cursor/User/settings.json
# 或使用您喜欢的编辑器
第三步:添加MCP配置
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "npx",
"args": ["-y", "yapi-mcp-pro"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "您的完整Cookie字符串",
"NODE_ENV": "cli"
}
}
}
}
完成配置后,使用以下步骤验证:
# 在任意目录运行
npx -y yapi-mcp-pro --help
检查Cursor配置:
验证连接状态:
✅ 成功配置的标志:
npx -y yapi-mcp-pro --help
能正常显示帮助信息yapi-mcp-pro
编辑器 | 支持状态 | 配置方式 |
---|---|---|
Cursor | ✅ 完全支持 | MCP配置 |
Claude Desktop | ✅ 完全支持 | MCP配置 |
VS Code | 🔄 开发中 | 插件形式 |
其他支持MCP的工具 | ✅ 理论支持 | 标准MCP协议 |
# 全局安装
npm install -g yapi-mcp
# 或使用pnpm
pnpm add -g yapi-mcp
# 克隆项目
git clone https://github.com/your-username/yapi-mcp.git
cd yapi-mcp
# 安装依赖
npm install
# 或使用 pnpm (推荐)
pnpm install
# 构建项目
npm run build
项目的所有敏感信息都集中在 .env
文件中,这个文件不会被提交到Git,确保您的隐私安全。
# 1. 复制配置模板
cp .env.example .env
# 2. 编辑配置文件(选择您喜欢的编辑器)
vim .env
# 或者
nano .env
# 或者
code .env
💡 提示: .env.example
文件包含了超详细的配置指南,包括:
强烈建议先阅读 .env.example
文件中的详细说明!
打开 .env
文件,您需要填写以下必填项:
# === 必填项 ===
YAPI_BASE_URL=http://your-yapi-server.com # 替换为您的YApi服务器地址
YAPI_TOKEN=your_auth_token # 替换为您的认证信息(见下方获取方法)
# === 可选项(有默认值)===
PORT=3388 # MCP服务端口,默认3388
YAPI_CACHE_TTL=10 # 缓存时间(分钟),默认10分钟
YAPI_LOG_LEVEL=info # 日志级别,默认info
优势: 自动发现所有有权限的项目,配置简单
步骤:
F12
打开开发者工具Network
(网络)面板Request Headers
中的 Cookie
字段# Cookie认证示例(复制您自己的Cookie)
YAPI_TOKEN=_yapi_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...; _yapi_uid=1234; other_cookies=values
优势: 长期有效,更安全
步骤:
设置
→ Token配置
# Token认证示例
# 格式:项目ID:项目Token,项目ID:项目Token
YAPI_TOKEN=PROJECT_ID_1:your_project_token_1,PROJECT_ID_2:your_project_token_2
# 单个项目示例
YAPI_TOKEN=PROJECT_ID:your_project_token
# ================================
# YAPI MCP PRO 配置文件
# ================================
# ⚠️ 重要:此文件包含敏感信息,不要提交到Git仓库!
# === 基础配置(必填)===
YAPI_BASE_URL=http://yapi.yourcompany.com
YAPI_TOKEN=_yapi_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...; _yapi_uid=1234
# === 服务配置(可选)===
PORT=3388
YAPI_CACHE_TTL=10
YAPI_LOG_LEVEL=info
# === 高级配置(可选)===
# YAPI_GROUP_ID=YOUR_GROUP_ID # 默认分组ID(创建项目时使用)
# YAPI_ENABLE_CACHE=true # 是否启用缓存,默认true
# 使用项目管理脚本(推荐)
./start-mcp.sh start
# 或手动启动
npm run dev
优势: 自动发现所有项目,配置简单,权限完整
获取步骤:
.env
文件# Cookie认证配置
YAPI_BASE_URL=http://your-yapi-server.com
YAPI_TOKEN=_yapi_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...; _yapi_uid=YOUR_USER_ID
优势: 长期有效,安全性高,适合生产环境
获取步骤:
# Token认证配置
YAPI_BASE_URL=http://your-yapi-server.com
YAPI_TOKEN=PROJECT_ID:YOUR_PROJECT_TOKEN,ANOTHER_PROJECT_ID:ANOTHER_TOKEN
# === 基础配置 ===
YAPI_BASE_URL=http://your-yapi-server.com # YApi服务器地址
PORT=3388 # MCP服务端口
# === 认证配置 ===
YAPI_TOKEN=your_auth_info # 认证信息(Cookie或Token)
# === 性能配置 ===
YAPI_CACHE_TTL=10 # 缓存时间(分钟)
YAPI_LOG_LEVEL=info # 日志级别
# === 可选配置 ===
YAPI_GROUP_ID=YOUR_GROUP_ID # 默认分组ID(创建项目时使用)
YAPI MCP PRO 支持多种MCP连接方式,满足不同使用场景的需求。
.cursor/mcp.json
~/Library/Application Support/Cursor/User/settings.json
%APPDATA%\Cursor\User\settings.json
~/.config/Cursor/User/settings.json
优势:
项目级配置 .cursor/mcp.json
:
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "npx",
"args": ["-y", "yapi-mcp-pro"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "_yapi_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...; _yapi_uid=YOUR_USER_ID",
"NODE_ENV": "cli",
"YAPI_LOG_LEVEL": "info",
"YAPI_CACHE_TTL": "10"
}
}
}
}
全局配置 settings.json
:
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "npx",
"args": ["-y", "yapi-mcp-pro"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "your_cookie_or_token_here",
"NODE_ENV": "cli"
}
}
}
}
优势:
步骤:
# 启动服务
./start-mcp.sh start
# 检查状态
./start-mcp.sh status
{
"mcpServers": {
"yapi-mcp-pro": {
"url": "http://localhost:3388/sse"
}
}
}
适用场景: 需要自定义修改源码
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "node",
"args": ["/path/to/yapi-mcp/dist/index.js"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "your_token"
}
}
}
}
编辑 claude_desktop_config.json
:
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "npx",
"args": ["-y", "yapi-mcp-pro"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "your_cookie_or_token",
"NODE_ENV": "cli"
}
}
}
}
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "node",
"args": ["/path/to/yapi-mcp/dist/index.js"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "your_token"
}
}
}
}
任何支持MCP协议的工具都可以连接,只需按照对应工具的MCP配置格式进行配置。
配置方式 | 优势 | 缺点 | 适用场景 |
---|---|---|---|
NPM包模式 | 🟢 配置简单🟢 自动更新🟢 无需构建 | 🔴 首次启动稍慢 | 🎯 推荐,适合大多数用户 |
HTTP/SSE模式 | 🟢 性能最佳🟢 支持实时推送🟢 多客户端共享 | 🔴 需要启动服务🔴 占用端口 | 🎯 重度使用,多项目协作 |
本地构建模式 | 🟢 完全控制🟢 可自定义修改 | 🔴 需要构建🔴 维护成本高 | 🎯 开发者,需要定制功能 |
环境变量 | 说明 | 默认值 | 示例 |
---|---|---|---|
YAPI_BASE_URL | YApi服务器地址 | 无 | http://yapi.example.com |
YAPI_TOKEN | 认证Token或Cookie | 无 | _yapi_token=xxx; _yapi_uid=123 |
NODE_ENV | 运行环境 | production | cli , development |
YAPI_LOG_LEVEL | 日志级别 | info | debug , warn , error |
YAPI_CACHE_TTL | 缓存时效(分钟) | 10 | 30 |
YAPI_ENABLE_CACHE | 是否启用缓存 | true | false |
配置完成后,在AI编辑器中测试连接:
# 测试连接
请获取我的YApi用户信息
# 测试项目列表
请列出所有YApi项目
# 测试接口搜索
请搜索用户相关的接口
YAPI MCP PRO 提供 19个专业工具,涵盖YApi的完整功能生态:
yapi_get_api_desc
- 获取接口详细信息功能: 获取指定接口的完整定义信息 参数:
projectId
(string): 项目IDapiId
(string): 接口ID返回信息:
yapi_save_api
- 新增或更新接口功能: 创建新接口或更新现有接口 参数:
projectId
(string): 项目IDcatid
(string): 分类IDtitle
(string): 接口标题path
(string): 接口路径method
(string): 请求方法id
(string, 可选): 接口ID(更新时必填)desc
(string, 可选): 接口描述req_*
(可选): 各种请求参数配置res_*
(可选): 响应配置yapi_search_apis
- 搜索接口功能: 多维度搜索接口 参数:
nameKeyword
(string, 可选): 接口名称关键字pathKeyword
(string, 可选): 接口路径关键字projectKeyword
(string, 可选): 项目关键字limit
(number, 可选): 返回结果数量限制搜索能力:
yapi_delete_interface
- 删除接口功能: 删除指定接口 参数:
interfaceId
(string): 接口IDprojectId
(string): 项目IDyapi_copy_interface
- 复制接口功能: 复制接口到指定分类 参数:
interfaceId
(string): 源接口IDprojectId
(string): 项目IDcatId
(string, 可选): 目标分类IDyapi_list_projects
- 列出项目功能: 获取所有可访问的项目列表 返回信息:
yapi_create_project
- 创建项目功能: 创建新的YApi项目 参数:
name
(string): 项目名称basepath
(string): 基础路径group_id
(number): 所属分组IDdesc
(string, 可选): 项目描述color
(string, 可选): 项目颜色icon
(string, 可选): 项目图标yapi_update_project
- 更新项目功能: 更新项目信息 参数:
id
(number): 项目IDname
(string, 可选): 项目名称basepath
(string, 可选): 基础路径desc
(string, 可选): 项目描述color
(string, 可选): 项目颜色icon
(string, 可选): 项目图标yapi_get_categories
- 获取分类列表功能: 获取项目下的所有接口分类 参数:
projectId
(string): 项目ID返回信息:
yapi_create_category
- 创建分类功能: 在项目中创建新的接口分类 参数:
name
(string): 分类名称project_id
(number): 项目IDdesc
(string, 可选): 分类描述yapi_update_category
- 更新分类功能: 更新分类信息 参数:
catId
(string): 分类IDname
(string): 分类名称desc
(string, 可选): 分类描述yapi_delete_category
- 删除分类功能: 删除指定分类 参数:
catId
(string): 分类IDyapi_get_user_info
- 获取用户信息功能: 获取当前登录用户的详细信息 返回信息:
yapi_get_user_groups
- 获取用户分组功能: 获取用户所属的分组列表 返回信息:
yapi_get_test_collections
- 获取测试集合功能: 获取项目的测试集合列表 参数:
projectId
(string): 项目ID返回信息:
yapi_create_test_collection
- 创建测试集合功能: 创建新的测试集合 参数:
name
(string): 集合名称project_id
(number): 项目IDdesc
(string, 可选): 集合描述yapi_import_swagger
- 导入Swagger数据功能: 将Swagger文档导入到YApi项目 参数:
projectId
(string): 目标项目IDcatId
(string): 目标分类IDswaggerData
(string): Swagger JSON数据merge
(string, 可选): 合并模式支持的合并模式:
normal
: 普通模式good
: 智能合并merge
: 完全覆盖yapi_export_project
- 导出项目数据功能: 导出项目数据为指定格式 参数:
projectId
(string): 项目IDtype
(string, 可选): 导出格式支持的导出格式:
json
: JSON格式markdown
: Markdown文档swagger
: Swagger格式yapi_run_interface
- 运行接口测试功能: 执行接口测试请求 参数:
interface_id
(string): 接口IDproject_id
(string): 项目IDenv_id
(string, 可选): 环境IDdomain
(string, 可选): 测试域名headers
(array, 可选): 自定义请求头params
(object, 可选): 请求参数body
(object, 可选): 请求体# 搜索登录相关接口
请搜索包含"登录"的接口
# 获取特定接口详情
请获取项目YOUR_PROJECT_ID中接口ID为123的详细信息
# 创建新接口
请在项目YOUR_PROJECT_ID的"用户管理"分类中创建一个用户注册接口:
- 路径:/api/user/register
- 方法:POST
- 描述:用户注册接口
# 创建新项目
请创建一个名为"电商系统"的项目,基础路径为"/api"
# 为项目创建分类结构
请为项目YOUR_PROJECT_ID创建以下分类:
1. 用户管理
2. 商品管理
3. 订单管理
4. 支付管理
# 批量创建接口
请为用户模块创建以下接口,都放在项目YOUR_PROJECT_ID的用户管理分类中:
1. GET /api/user/profile - 获取用户信息
2. PUT /api/user/profile - 更新用户信息
3. DELETE /api/user/account - 删除账户
# 导入Swagger文档
请将以下Swagger数据导入到项目YOUR_PROJECT_ID的API分类中:
[粘贴Swagger JSON]
# 创建测试集合
请为项目YOUR_PROJECT_ID创建一个名为"用户模块测试"的测试集合
# 运行接口测试
请测试项目YOUR_PROJECT_ID中接口ID为123的接口,使用测试环境
项目提供了便捷的管理脚本 start-mcp.sh
:
# 启动服务
./start-mcp.sh start
# 检查状态
./start-mcp.sh status
# 停止服务
./start-mcp.sh stop
# 重启服务
./start-mcp.sh restart
# 查看日志
./start-mcp.sh logs
# 查看实时日志
./start-mcp.sh logs -f
# 查看错误日志
grep "ERROR" yapi-mcp.log
# 查看特定时间的日志
grep "2024-01-01" yapi-mcp.log
# 清理日志
> yapi-mcp.log
# 查看缓存目录
ls -la .yapi-cache/
# 清理缓存
rm -rf .yapi-cache/*
# 重新构建缓存
./start-mcp.sh restart
问题: "请登录..." 错误
# 解决方案
1. 重新登录YApi获取新Cookie
2. 检查Cookie格式是否完整
3. 确认YApi服务器地址正确
问题: "未配置项目ID,无法加载项目信息"
# 解决方案
1. 确保Cookie包含 _yapi_token 和 _yapi_uid
2. 检查Cookie是否被截断
3. 重新复制完整的Cookie字符串
问题: "未配置项目ID xxx 的token"
# 解决方案
1. 检查 .env 中 YAPI_TOKEN 格式
2. 确认项目ID和Token匹配
3. 验证Token是否有效
问题: "与YApi服务器通信失败"
# 诊断步骤
1. ping your-yapi-server.com
2. curl -I http://your-yapi-server.com
3. 检查防火墙设置
4. 确认YApi服务器状态
问题: 端口被占用
# 查找占用进程
lsof -i :3388
# 修改端口
echo "PORT=3389" >> .env
# 重启服务
./start-mcp.sh restart
# 启用调试日志
echo "YAPI_LOG_LEVEL=debug" >> .env
# 重启服务
./start-mcp.sh restart
# 查看详细日志
./start-mcp.sh logs -f
# 调整缓存时间
echo "YAPI_CACHE_TTL=30" >> .env
# 监控内存使用
ps aux | grep node
# 清理无用缓存
find .yapi-cache -name "*.json" -mtime +7 -delete
// 扩展新的MCP工具
this.server.tool(
"yapi_custom_tool",
"自定义工具描述",
{
param1: z.string().describe("参数描述")
},
async ({ param1 }) => {
// 工具实现逻辑
const result = await this.yapiService.customMethod(param1);
return {
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
};
}
);
// 批量导入接口
const interfaces = [
{ title: "接口1", path: "/api/test1", method: "GET" },
{ title: "接口2", path: "/api/test2", method: "POST" }
];
for (const interfaceData of interfaces) {
await yapiService.saveInterface({
...interfaceData,
project_id: "YOUR_PROJECT_ID",
catid: "123"
});
}
# GitHub Actions 示例
name: YApi Sync
on:
push:
branches: [main]
jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '16'
- name: Install dependencies
run: npm install
- name: Sync to YApi
run: |
npm run build
node scripts/sync-to-yapi.js
env:
YAPI_BASE_URL: ${{ secrets.YAPI_BASE_URL }}
YAPI_TOKEN: ${{ secrets.YAPI_TOKEN }}
# 克隆项目
git clone git@github.com:guocong-bincai/YAPI_MCP_PRO.git
cd YAPI_MCP_PRO
# 安装依赖
pnpm install
# 启动开发模式
pnpm run dev
# 运行测试
pnpm test
# 代码格式化
pnpm run format
# 类型检查
pnpm run type-check
# 功能开发
git commit -m "feat: 添加新的MCP工具"
# 问题修复
git commit -m "fix: 修复Cookie认证问题"
# 文档更新
git commit -m "docs: 更新使用指南"
# 性能优化
git commit -m "perf: 优化缓存机制"
MIT License - 详见 LICENSE 文件
yapi-mcp.log
文件提交Issue时请包含:
欢迎提交功能建议和改进意见:
# 1. 克隆项目
git clone git@github.com:guocong-bincai/YAPI_MCP_PRO.git
cd YAPI_MCP_PRO
# 2. 安装依赖
pnpm install
# 或者使用 npm
npm install
# 3. 创建配置文件
cp .env.example .env
📖 重要: 在编辑 .env
文件之前,请先查看 .env.example
文件,它包含了完整的配置指南和获取方法!
编辑 .env
文件,填写您的YApi信息:
# 首先查看详细配置指南
cat .env.example
# 然后使用任意编辑器打开配置文件
code .env # VS Code
vim .env # Vim
nano .env # Nano
最小配置示例:
# 必填项
YAPI_BASE_URL=http://your-yapi-server.com
YAPI_TOKEN=your_cookie_or_token
# 可选项(推荐保持默认)
PORT=3388
YAPI_CACHE_TTL=10
YAPI_LOG_LEVEL=info
F12
→ Network
面板Request Headers
中的 Cookie
YAPI_TOKEN=
后面YAPI_TOKEN=项目ID:Token
# 构建项目
pnpm run build
# 启动MCP服务
./start-mcp.sh start
# 检查状态
./start-mcp.sh status
.cursor/mcp.json
~/.cursor/mcp.json
优势: 自动下载最新版本,无需本地构建,配置简单
项目级配置 .cursor/mcp.json
:
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "npx",
"args": ["-y", "yapi-mcp-pro"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "_yapi_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...; _yapi_uid=YOUR_USER_ID",
"NODE_ENV": "cli",
"YAPI_LOG_LEVEL": "info",
"YAPI_CACHE_TTL": "10"
}
}
}
}
优势: 性能更好,支持实时推送,多客户端共享
步骤:
./start-mcp.sh start
{
"mcpServers": {
"yapi-mcp-pro": {
"url": "http://localhost:3388/sse"
}
}
}
适用场景: 需要自定义修改源码
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "node",
"args": ["/path/to/YAPI_MCP_PRO/dist/index.js"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "your_token"
}
}
}
}
编辑 claude_desktop_config.json
:
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "npx",
"args": ["-y", "yapi-mcp-pro"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "your_cookie_or_token",
"NODE_ENV": "cli"
}
}
}
}
{
"mcpServers": {
"yapi-mcp-pro": {
"command": "node",
"args": ["/path/to/YAPI_MCP_PRO/dist/index.js"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "your_token"
}
}
}
}
配置方式 | 优势 | 缺点 | 适用场景 |
---|---|---|---|
NPM包模式 | 🟢 配置简单🟢 自动更新🟢 无需构建 | 🔴 首次启动稍慢 | 🎯 推荐,适合大多数用户 |
HTTP/SSE模式 | 🟢 性能最佳🟢 支持实时推送🟢 多客户端共享 | 🔴 需要启动服务🔴 占用端口 | 🎯 重度使用,多项目协作 |
本地构建模式 | 🟢 完全控制🟢 可自定义修改 | 🔴 需要构建🔴 维护成本高 | 🎯 开发者,需要定制功能 |
在AI编辑器中输入以下任意命令测试:
请列出所有YApi项目
请搜索用户相关的接口
请帮我创建一个新的接口分类
.env.example
文件的详细配置指南 📋.env
文件 (cp .env.example .env
)YAPI_BASE_URL
(YApi服务器地址)YAPI_TOKEN
(Cookie或Token,按 .env.example
指南获取)pnpm run build
)./start-mcp.sh start
)⚠️ 重要安全事项:
.env
文件包含敏感信息,绝对不要提交到Git仓库./start-mcp.sh stop
✅ 项目已配置安全防护:
.gitignore
已忽略所有敏感文件Q: 提示"与YApi服务器通信失败"?
A: 检查 YAPI_BASE_URL
是否正确,确保网络能访问YApi服务器
Q: 提示"请登录"或"未配置token"? A: 重新获取Cookie或Token,确保格式正确
Q: 端口3388被占用?
A: 修改 .env
中的 PORT=3389
,然后重启服务
Q: 如何确保我的Token安全? A:
🚀 现在你已经拥有了最强大且安全的YApi AI助手!
环境变量 | 说明 | 默认值 | 示例 |
---|---|---|---|
YAPI_BASE_URL | YApi服务器地址 | 无 | http://yapi.example.com |
YAPI_TOKEN | 认证Token或Cookie | 无 | Token: projectId:token 或 Cookie: _yapi_token=xxx; _yapi_uid=123 |
PORT | MCP服务器端口 | 3388 | 3000 |
YAPI_CACHE_TTL | 缓存时效(分钟) | 10 | 30 |
YAPI_LOG_LEVEL | 日志级别 | info | debug , info , warn , error |
YAPI_ENABLE_CACHE | 是否启用缓存 | true | false 禁用缓存,true 启用缓存 |
npx yapi-mcp-pro
自动下载最新版本(推荐)连接方式 | 特点 | 适用场景 |
---|---|---|
📦 NPM包模式 | 🚀 开箱即用,自动更新 | 🎯 推荐给所有用户 |
🌐 HTTP/SSE模式 | ⚡ 高性能,实时推送 | 🎯 重度使用,多项目协作 |
🛠️ 本地构建模式 | 🔧 完全控制,可定制 | 🎯 开发者,需要自定义功能 |
选择适合您的连接方式,按照对应的配置指南进行设置,几分钟内即可开始使用强大的YApi AI助手!
🎉 享受您的YApi AI助手之旅!
A command-line tool to run MCP servers from a single file, with support for automatic dependency resolution, environment setup, and package installation from local or S3 sources.
Add translation keys to Lokalise projects. Requires a Lokalise API key.
Single tool to control all 100+ API integrations, and UI components
An MCP server for interacting with the Tenable Nessus vulnerability scanner.
Refines and structures prompts for large language models using the Anthropic API.
An interactive sandbox to safely execute Python code and install packages in isolated Docker containers.
Answers Swift and SwiftUI questions based on the '100 Days of SwiftUI' course using a local SQLite database.
Query A/B test data using the Hackle API.
A server for CodeFuse-CGM, a graph-integrated large language model designed for repository-level software engineering tasks.
A server for generating and verifying CAD models using the CAD-Query Python library.