Skip to main content
Glama

YAPI MCP Server

English | 中文

License: MIT

A Model Context Protocol (MCP) server for YAPI - enabling AI assistants to manage API documentation.

Features

Tool

Description

YAPI API

yapi_list_projects

List all configured projects

-

yapi_run_auto_test

Run automated tests

/api/open/run_auto_test

yapi_import_data

Import API data

/api/open/import_data

yapi_interface_add

Add new interface

/api/interface/add

yapi_interface_save

Save interface

/api/interface/save

yapi_interface_up

Update interface

/api/interface/up

yapi_interface_get

Get interface details

/api/interface/get

yapi_interface_list

List interfaces

/api/interface/list

yapi_interface_list_menu

Get interface menu

/api/interface/list_menu

yapi_interface_add_cat

Add interface category

/api/interface/add_cat

yapi_interface_get_cat_menu

Get all categories

/api/interface/getCatMenu

Related MCP server: YApi MCP Server

Installation

Clone the repository, then install dependencies and build in the project directory:

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

Configuration

Environment Variables

Variable

Required

Description

YAPI_BASE_URL

Yes

YAPI server URL, e.g., https://yapi.example.com

YAPI_PROJECTS

Yes

Project configuration in format: projectId1:token1,projectId2:token2

YAPI_PROJECTS Format

projectId1:token1,projectId2:token2

Example:

123:abc123token,456:def456token

You can get the project token from YAPI project settings page.

Usage with Cursor

Add to your Cursor MCP configuration file:

macOS/Linux

Edit ~/.cursor/mcp.json and replace /path/to/yapi-mcp with your actual project path:

{
  "mcpServers": {
    "yapi": {
      "command": "node",
      "args": ["/path/to/yapi-mcp/dist/index.js"],
      "env": {
        "YAPI_BASE_URL": "https://your-yapi-server.com",
        "YAPI_PROJECTS": "123:your-token-here,456:another-token"
      }
    }
  }
}

Windows

Edit %APPDATA%\Cursor\mcp.json and use your actual project path (e.g. C:\\Users\\YourName\\yapi-mcp\\dist\\index.js):

{
  "mcpServers": {
    "yapi": {
      "command": "node",
      "args": ["C:\\path\\to\\yapi-mcp\\dist\\index.js"],
      "env": {
        "YAPI_BASE_URL": "https://your-yapi-server.com",
        "YAPI_PROJECTS": "123:your-token-here"
      }
    }
  }
}

Usage with Claude Desktop

Add to your Claude Desktop configuration:

macOS

Edit ~/Library/Application Support/Claude/claude_desktop_config.json and replace /path/to/yapi-mcp with your actual project path:

{
  "mcpServers": {
    "yapi": {
      "command": "node",
      "args": ["/path/to/yapi-mcp/dist/index.js"],
      "env": {
        "YAPI_BASE_URL": "https://your-yapi-server.com",
        "YAPI_PROJECTS": "123:your-token-here"
      }
    }
  }
}

Windows

Edit %APPDATA%\Claude\claude_desktop_config.json with the same configuration, using your actual project path.

Tool Examples

List All Projects

{
  "name": "yapi_list_projects",
  "arguments": {}
}

Get Interface List (Default Project)

{
  "name": "yapi_interface_list",
  "arguments": {
    "page": 1,
    "limit": 20
  }
}

Get Interface List (Specific Project)

{
  "name": "yapi_interface_list",
  "arguments": {
    "project": 456,
    "page": 1,
    "limit": 20
  }
}

Add New Interface

{
  "name": "yapi_interface_add",
  "arguments": {
    "catid": 456,
    "title": "Get User Info",
    "path": "/api/user/info",
    "method": "GET",
    "desc": "Get user details by ID"
  }
}

Get Interface Details

{
  "name": "yapi_interface_get",
  "arguments": {
    "id": 789
  }
}

Run Automated Tests

{
  "name": "yapi_run_auto_test",
  "arguments": {
    "project": 456,
    "env_name": "dev"
  }
}

Development

# Clone the repository
cd yapi-mcp

# Install dependencies
npm install

# Development mode
npm run dev

# Build
npm run build

# Run
npm start

Security

  • Never commit your YAPI tokens to version control

  • Use environment variables to store sensitive configuration

  • Consider using a secrets manager for production deployments

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Available Tools

11 tools
yapi_import_dataC

导入接口数据到 YAPI

Inputs: type (required), json (required), url, project, +1 more.

yapi_interface_addD

新增接口

Inputs: catid (required), title (required), path (required), method (required), +12 more.

yapi_interface_add_catC

新增接口分类

Inputs: name (required), url, project, desc.

yapi_interface_getA

获取接口详情,可直接传入 YAPI 接口页面 URL 自动解析参数

Inputs: url, project, id.

yapi_interface_get_cat_menuC

获取所有接口分类

Inputs: url, project.

yapi_interface_listC

获取接口列表

Inputs: url, project, catid, page, +1 more.

yapi_interface_list_menuC

获取接口菜单(包含分类和接口列表)

Inputs: url, project.

yapi_interface_saveC

保存接口(新增或更新)

Inputs: catid (required), title (required), path (required), method (required), +13 more.

yapi_interface_upD

更新接口

Inputs: id (required), url, project, catid, +13 more.

yapi_list_projectsB

列出所有已配置的 YAPI 项目

Inputs: no named parameters.

yapi_run_auto_testC

运行 YAPI 自动化测试

Inputs: url, project, env_name.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.8/5.0

    Scored across 11 tools

    Disambiguation3/5

    The tools have clear distinctions for core operations like add, get, list, and save, but there is significant overlap between yapi_interface_add and yapi_interface_save (which handles both add and update), and between yapi_interface_list and yapi_interface_list_menu (both list interfaces with slight variations). This overlap could cause confusion for agents when selecting the appropriate tool.

    Naming Consistency4/5

    Most tools follow a consistent yapi_verb_noun pattern (e.g., yapi_interface_add, yapi_interface_get), with clear prefixes and snake_case throughout. However, there are minor deviations like yapi_interface_up instead of yapi_interface_update, and yapi_run_auto_test uses 'run' while others use verbs like 'add' or 'get', slightly breaking the pattern.

    Tool Count5/5

    With 11 tools, this server is well-scoped for managing YAPI interfaces and projects. The count aligns with the domain's needs, covering operations for projects, interfaces, categories, and testing without being overwhelming or too sparse.

    Completeness4/5

    The toolset provides strong coverage for YAPI management, including CRUD operations for interfaces and categories, project listing, and automated testing. A minor gap is the lack of explicit tools for deleting interfaces or categories, which might require workarounds, but core workflows are well-supported.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables reading and searching API documentation from YApi instances, allowing AI models to access interface definitions, project API lists, and search through API endpoints using YApi URLs or project IDs.
      5 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with YApi API management platform through natural language, allowing automated interface management including creating/updating APIs, managing categories, importing data, and retrieving project information.
      26 npm
      9
      GPL 3.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables direct interaction with YApi API management platforms from AI editors like Cursor and Claude Desktop, providing complete interface lifecycle management including browsing, creating, updating, and deleting API documentation.
      12 npm
      21
      MIT