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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zhhbinn/yapi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server