merdekiti/mimi-panda-mcp-server
If you are the rightful owner of mimi-panda-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Mimi Panda MCP Server is a Model Context Protocol server that facilitates interaction with the Mimi Panda API, enabling AI assistants to access various image processing services.
Mimi Panda MCP Server
A Model Context Protocol (MCP) server that provides seamless access to the Mimi Panda API, enabling AI assistants like Claude to interact with coloring pages, paint by numbers, AI image generation, and image processing services.
Features
- 🎨 Coloring Pages: Convert images into coloring pages with various styles
- 🖼️ Paint by Numbers: Generate paint-by-numbers images from photos or prompts
- 🤖 AI Image Generation: Create images from text prompts
- 🎭 AI Filters: Apply artistic filters to images
- 📈 Image Upscaling: Enhance and upscale images up to 4x
- 🔐 Authentication: Built-in support for API token authentication
- 📋 Route Discovery: List and explore available API endpoints
Prerequisites
- Node.js 18+ (required by
@modelcontextprotocol/sdk) - Access to the Mimi Panda API (either self-hosted or cloud instance)
Installation
# Clone the repository
git clone https://github.com/mimipanda/mcp-server.git
cd mcp-server
# Install dependencies
npm install
Configuration
The server can be configured using environment variables. Copy .env.example to .env and update with your values, or set them in your environment:
| Variable | Purpose | Default |
|---|---|---|
MCP_API_BASE_URL | Base URL for the Mimi Panda API endpoint (e.g. https://mimi-panda.com) | http://localhost |
MCP_API_PREFIX | API prefix appended to every request | /api |
MCP_API_TOKEN | Optional default Bearer token for authenticated routes (can be retrieved later via auth/login) | unset |
MCP_API_HEADERS | JSON object with extra headers (e.g. {"X-Api-Key":"secret"}) | {} |
MCP_API_TIMEOUT | Request timeout in milliseconds (1000–120000) | 60000 |
Example .env file
Copy .env.example to .env and customize:
cp .env.example .env
Then edit .env with your values (you can leave MCP_API_TOKEN blank until you obtain one from the auth APIs):
MCP_API_BASE_URL=https://mimi-panda.com
MCP_API_PREFIX=/api
MCP_API_TOKEN=your-api-token-here
MCP_API_TIMEOUT=60000
Obtain your API token by logging into the Mimi Panda application (web or desktop) and copying the token from your account settings. Store the token in
.envor supply it per request once you have it.
Usage
Running the Server
The MCP server communicates via STDIO and is designed to be used with MCP-compatible clients like Claude Desktop.
# Run directly
npm start
# Or with node
node src/mcp-server.mjs
Claude Desktop Configuration
Add the server to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mimi-panda": {
"command": "node",
"args": ["/path/to/mcp-server/src/mcp-server.mjs"],
"env": {
"MCP_API_BASE_URL": "https://mimi-panda.com",
"MCP_API_PREFIX": "/api",
"MCP_API_TOKEN": "your-token-here"
}
}
}
}
After adding the configuration, restart Claude Desktop to connect to the server.
Available Tools
The server exposes two main tools:
1. list_api_routes
List all available API routes with their descriptions, authentication requirements, and schemas.
Each route in the response includes structured metadata (types, descriptions, enum values, nested objects) and the plaintext summary now lists every field and its allowed values, so MCP clients can see accepted parameters before issuing a request.
Parameters:
filter(optional): Case-insensitive filter for method, path, or descriptiongroup(optional): Filter by logical group (authorservice)
Example:
List all routes in the "service" group
2. call_api
Perform HTTP requests to any Mimi Panda API endpoint.
Parameters:
method(default:GET): HTTP method (GET,POST,PUT,PATCH,DELETE)path: API path relative to the prefix (e.g.,service/coloring)query(optional): Query string parametersbody(optional): Request payload (objects/arrays are JSON-encoded)token(optional): Bearer token (usesMCP_API_TOKENif omitted)Leave the environment variable empty until you copy an API token from the Mimi Panda application; once you have it, set the value in
.envor pass it per-request.headers(optional): Additional headerstimeoutMs(optional): Request timeout override (max 120000ms)
Example:
Call the coloring API with an image URL
LLM token workflow: Sign up and log in through the Mimi Panda application first, then copy your API token into .env or pass it via the token field. The MCP server will continue to manage the Bearer prefix automatically, but it no longer provisions accounts or tokens on its own.
API Endpoints
The server provides access to the following Mimi Panda API endpoints:
Authentication
POST /api/auth/login- Authenticate and receive API tokenGET /api/user/me- Get authenticated user profilePOST /api/user/logout- Invalidate current token
Accounts must now be created and authenticated inside the Mimi Panda application. After logging in there, copy the API token from your profile before using this MCP server.
Services
POST /api/service/coloring- Create coloring pages from imagesPOST /api/service/pbn- Generate paint-by-numbers imagesPOST /api/service/ai/coloring- Generate AI coloring pages from promptsPOST /api/service/ai/image- Generate AI images from promptsPOST /api/service/image/upscale- Upscale images (2x or 4x)POST /api/service/image/filter- Apply AI filters to imagesGET /api/service/item/{uuid}- Retrieve task results by UUID
For detailed information about each endpoint, use the list_api_routes tool.
Development
Project Structure
mcp-server/
├── src/
│ ├── mcp-server.mjs # Main server implementation
│ └── mcp-ai-filter-types.json # AI filter type definitions
├── .github/ # GitHub templates and workflows
├── .gitignore
├── .npmignore
├── .env.example # Sample environment configuration
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE
├── PRODUCTION_CHECKLIST.md
├── package.json
├── package-lock.json
└── README.md
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the file for details.
Support
For issues, questions, or contributions, please open an issue on GitHub.
Related Projects
- Model Context Protocol - The protocol specification
- MCP SDK - Official MCP SDK
Made with ❤️ by Slava R. and Ira R. - Mimi Panda team