YAPI MCP Server

YAPI MCP Server

Enables LLM clients to browse and inspect YAPI API documentation, including project info, categories, interfaces, and full API details with request/response schemas.

Category
Visit Server

README

YAPI MCP Server

中文文档

A Model Context Protocol (MCP) server for reading YAPI API documentation. Enables LLM clients (Claude Code, Cursor, etc.) to browse and inspect YAPI project interfaces.

Features

  • Browse project info, categories, and interfaces
  • Get full API detail including request/response schemas
  • Paginated listing with LLM-friendly Markdown output
  • Token-based authentication via environment variables

Requirements

  • Node.js >= 18.0.0

Installation

From npm

npx @zhuxian/yapi-mcp-server

From source

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

Configuration

The server requires three environment variables:

Variable Description Example
YAPI_BASE_URL Your YAPI instance URL https://yapi.example.com
YAPI_TOKEN Cookie token for authentication eyJhbGciOiJIUzI1NiIs...
YAPI_UID Your YAPI user ID 1828

How to get Token and UID: Open browser DevTools -> Application -> Cookies, find _yapi_token and _yapi_uid values.

Usage

Claude Code

Option 1: Using CLI command

# Add to current project
claude mcp add yapi -e YAPI_BASE_URL=https://yapi.example.com -e YAPI_TOKEN=your_token -e YAPI_UID=1828 -- npx -y @zhuxian/yapi-mcp-server

# Add globally (available in all projects)
claude mcp add yapi -s user -e YAPI_BASE_URL=https://yapi.example.com -e YAPI_TOKEN=your_token -e YAPI_UID=1828 -- npx -y @zhuxian/yapi-mcp-server

Option 2: Manual configuration

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "yapi": {
      "command": "npx",
      "args": ["-y", "@zhuxian/yapi-mcp-server"],
      "env": {
        "YAPI_BASE_URL": "https://yapi.example.com",
        "YAPI_TOKEN": "your_token",
        "YAPI_UID": "1828"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "yapi": {
      "command": "npx",
      "args": ["-y", "@zhuxian/yapi-mcp-server"],
      "env": {
        "YAPI_BASE_URL": "https://yapi.example.com",
        "YAPI_TOKEN": "your_token",
        "YAPI_UID": "1828"
      }
    }
  }
}

Local Development

YAPI_BASE_URL=https://yapi.example.com YAPI_TOKEN=xxx YAPI_UID=1828 npm run dev

Tools

yapi_get_project

Get project basic information including name, description, base path, and environment configurations.

Parameters:

Name Type Required Description
project_id number Yes The YAPI project ID

yapi_get_cat_menu

Get the list of interface categories (folders) for a project.

Parameters:

Name Type Required Description
project_id number Yes The YAPI project ID

yapi_list_interfaces

List interfaces in a project with pagination.

Parameters:

Name Type Required Description
project_id number Yes The YAPI project ID
page number No Page number (default: 1)
limit number No Items per page, max 100 (default: 20)

yapi_list_by_category

List interfaces belonging to a specific category with pagination.

Parameters:

Name Type Required Description
cat_id number Yes Category ID (from yapi_get_cat_menu)
page number No Page number (default: 1)
limit number No Items per page, max 100 (default: 20)

yapi_get_interface

Get complete details of a single API interface including request parameters, headers, body schema, and response schema.

Parameters:

Name Type Required Description
interface_id number Yes The interface ID

yapi_get_full_menu

Get all interfaces grouped by category. Returns the complete hierarchy for the project.

Note: May return large payloads for projects with many interfaces.

Parameters:

Name Type Required Description
project_id number Yes The YAPI project ID

yapi_get_by_url

Parse a YAPI page URL and fetch the corresponding data automatically.

Parameters:

Name Type Required Description
url string Yes Full YAPI page URL

Supported URL formats:

  • /project/{id}/interface/api - Project overview
  • /project/{id}/interface/api/{interfaceId} - Interface detail
  • /project/{id}/interface/api/cat_{catId} - Category listing

Typical Workflow

A recommended sequence when exploring a YAPI project:

1. yapi_get_project        → Understand the project
2. yapi_get_cat_menu       → See category structure
3. yapi_list_by_category   → Browse interfaces in a category
4. yapi_get_interface      → Get full detail for a specific API

Or simply use yapi_get_by_url with a YAPI page URL.

Scripts

Script Description
npm run build Compile with SWC + generate type declarations
npm run watch Watch mode compilation
npm run start Run the compiled server
npm run dev Run directly with tsx (no build needed)
npm run typecheck Type check without emitting

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured