criller-yapi-mcp-server
v1.0.0
Published
MCP Server for YAPI API Platform Integration
Maintainers
Readme
YAPI MCP Server
A Model Context Protocol (MCP) server for YAPI API Platform integration. Enable AI assistants to interact with YAPI seamlessly.
🚀 Quick Start
Recommended: Use with npx (No installation required)
Get your YAPI Token: Login to your YAPI platform and get the token from project settings
Configure Claude Desktop: Add the following to your MCP settings file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"yapi": {
"command": "npx",
"args": [
"-y",
"criller-yapi-mcp-server",
"--yapi-base-url=http://your-yapi-server.com",
"--yapi-token=your-token-here"
]
}
}
}- Start using: Restart Claude Desktop and you're ready to go!
✨ Features
This MCP server provides 11 tools covering all YAPI Open APIs:
Project Management (1 tool)
yapi_get_project- Get project information
Category Management (2 tools)
yapi_add_category- Add interface categoryyapi_get_category_menu- Get category menu list
Interface Management (7 tools)
yapi_get_interface- Get interface detailsyapi_list_interfaces_by_cat- List interfaces by categoryyapi_add_interface- Add new interfaceyapi_update_interface- Update interfaceyapi_get_interface_list- Get interface listyapi_update_interface_basic- Update interface basic infoyapi_get_interface_cat_list- Get interface menu tree
Data Import (1 tool)
yapi_import_data- Import data (Swagger, HAR, Postman, etc.)
📖 Usage Examples
Once configured, you can interact with YAPI using natural language:
- "Show me the details of project 123"
- "List all categories in project 456"
- "Get the interface with ID 789"
- "Add a new category called 'User Management' to project 123"
- "Import this Swagger file to project 456"
🔧 Alternative Configuration Methods
Method 1: Using Environment Variables
{
"mcpServers": {
"yapi": {
"command": "npx",
"args": ["-y", "criller-yapi-mcp-server"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "your-token-here"
}
}
}
}Method 2: Local Development
For development or debugging:
git clone https://github.com/criller/yapi-mcp-server.git
cd yapi-mcp-server
npm install
cp .env.example .env
# Edit .env and set your YAPI_BASE_URL and YAPI_TOKEN
npm run devThen configure Claude Desktop:
{
"mcpServers": {
"yapi": {
"command": "node",
"args": ["/absolute/path/to/yapi-mcp-server/dist/index.js"],
"env": {
"YAPI_BASE_URL": "http://your-yapi-server.com",
"YAPI_TOKEN": "your-token"
}
}
}
}🛠️ Development
Type Check
npm run typecheckBuild
npm run buildTesting with MCP Inspector
npx @modelcontextprotocol/inspector npx -y criller-yapi-mcp-server📁 Project Structure
yapi-mcp-server/
├── src/
│ ├── index.ts # MCP Server entry point
│ ├── config.ts # Configuration management
│ ├── types.ts # TypeScript types
│ ├── yapi-client.ts # YAPI API client
│ └── tools/ # MCP tools
│ ├── project-tools.ts # Project management
│ ├── category-tools.ts # Category management
│ ├── interface-tools.ts# Interface management
│ └── import-tools.ts # Data import
├── package.json
├── tsconfig.json
└── README.md🤝 Contributing
Contributions are welcome! Please check CONTRIBUTING.md for details.
📄 License
MIT
