API文档检索服务

一个用于从YAPI项目中检索API文档详细信息的MCP服务器,支持列出接口、获取接口详情和搜索接口功能。

  • by xrf-9527
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 YYvanYang/yapi-mcp-server

使用说明

YAPI MCP服务器

一种模型上下文协议(MCP)服务器,用于与 雅皮 例子该服务器使LLM能够从YAPI项目中检索API文档的详细信息。

特性

  • 列出接口:获取项目中的所有接口类别和基本接口信息
  • 获取接口详细信息:通过特定接口的ID检索其详细信息
  • 搜索接口:按标题或路径中的关键字搜索接口

工具

yapi_list_interfaces

列出特定YAPI项目的所有接口类别及其内的接口。

输入:

  • project_token (可选):YAPI项目的令牌。如果满足以下条件,则不需要 YAPI_PROJECT_TOKEN env已设置。

退货:具有简化接口对象(id、标题、路径、方法、状态)的JSON类别数组。

yapi_get_interface_details

通过特定YAPI接口的ID获取其详细信息。

输入:

  • project_token (可选):YAPI项目的令牌。如果满足以下条件,则不需要 YAPI_PROJECT_TOKEN env已设置。
  • interface_id (number,必填):特定YAPI接口的ID。

退货:具有完整接口规范(请求/响应参数、标头、正文模式等)的JSON对象。

yapi_search_interfaces

按标题或路径中的关键字搜索接口。

输入:

  • project_token (可选):YAPI项目的令牌。如果满足以下条件,则不需要 YAPI_PROJECT_TOKEN env已设置。
  • keyword (string,必填):要搜索的关键字。

退货:匹配接口及其类别信息的JSON数组。

先决条件

  1. 正在运行的YAPI实例
  2. 访问要与之交互的YAPI项目的项目令牌(在YAPI项目“设置”->“令牌”中找到)
  3. 已安装Node.js 18+

环境变量

变量 必填 描述
YAPI_URL 是 您的YAPI实例的基本URL(例如。, http://yapi.example.com)
YAPI_PROJECT_TOKEN 否 默认项目令牌。如果设置, project_token 参数在工具调用中变为可选

安装和配置

从源代码构建

git clone <this-repo>
cd yapi-mcp-server
npm install
npm run build

本地开发(npm链接)

对于当地发展,使用 npm link 要创建全局符号链接,请执行以下操作:

cd yapi-mcp-server
npm link

这使得 mcp-server-yapi 命令全局可用,避免硬编码路径。

克劳德桌面版

添加到您的 claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %AppData%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "yapi": {
      "command": "mcp-server-yapi",
      "env": {
        "YAPI_URL": "<your-yapi-url>",
        "YAPI_PROJECT_TOKEN": "<your-project-token>"
      }
    }
  }
}

克劳德代码(CLI)

使用 claude mcp 添加服务器的命令:

# Add to user config (available in all projects)
claude mcp add-json yapi -s user '{
  "type": "stdio",
  "command": "mcp-server-yapi",
  "env": {
    "YAPI_URL": "<your-yapi-url>",
    "YAPI_PROJECT_TOKEN": "<your-project-token>"
  }
}'

# Or add to project config (only for current project)
claude mcp add-json yapi -s project '{
  "type": "stdio",
  "command": "mcp-server-yapi",
  "env": {
    "YAPI_URL": "<your-yapi-url>",
    "YAPI_PROJECT_TOKEN": "<your-project-token>"
  }
}'

# Verify the configuration
claude mcp list
claude mcp get yapi

光标IDE

添加到光标MCP设置中:

macOS: ~/.cursor/mcp.json 视窗: %USERPROFILE%\.cursor\mcp.json

{
  "mcpServers": {
    "yapi": {
      "command": "mcp-server-yapi",
      "env": {
        "YAPI_URL": "<your-yapi-url>",
        "YAPI_PROJECT_TOKEN": "<your-project-token>"
      }
    }
  }
}

使用npx(建议分发)

如果发布到npm,请使用npx进行自动版本管理:

{
  "mcpServers": {
    "yapi": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-yapi"],
      "env": {
        "YAPI_URL": "<your-yapi-url>",
        "YAPI_PROJECT_TOKEN": "<your-project-token>"
      }
    }
  }
}

使用示例

配置后,您可以要求Claude:

  • “列出我的YAPI项目中的所有API”
  • “获取接口ID 12345的详细信息”
  • “在我的项目中搜索与'user'相关的API”
  • “显示所有POST端点”

故障排除

服务器未启动

  • 确保已安装Node.js 18+
  • 验证路径 dist/index.js 是正确的
  • 检查一下 YAPI_URL 已设置且可访问

身份验证错误

  • 验证您的 YAPI_PROJECT_TOKEN 是正确的
  • 检查YAPI项目设置中的令牌权限

网络错误

  • 确保您的YAPI实例可以从您的计算机访问
  • 如果使用内部网络,请检查防火墙设置

发展

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run watch

# Run directly (requires env vars)
YAPI_URL=http://yapi.example.com npm start

许可证

麻省理工学院