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

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.