# Midjourney Best Experience MCP Server
English | [简体中文](./README.md) | [繁體中文](./README_ZH-TW.md)
An MCP server for accessing Midjourney Best Experience API.
## 🚀 Quick Start with EMCP Platform
**[EMCP](https://sit-emcp.kaleido.guru)** is a powerful MCP server management platform that allows you to quickly use various MCP servers without manual configuration!
### Quick Start:
1. 🌐 Visit **[EMCP Platform](https://sit-emcp.kaleido.guru)**
2. 📝 Register and login
3. 🎯 Go to **MCP Marketplace** to browse all available MCP servers
4. 🔍 Search or find this server (`bach-midjourney_best_experience`)
5. 🎉 Click the **"Install MCP"** button
6. ✅ Done! You can now use it in your applications
### EMCP Platform Advantages:
- ✨ **Zero Configuration**: No need to manually edit config files
- 🎨 **Visual Management**: Easy-to-use GUI for managing all MCP servers
- 🔐 **Secure & Reliable**: Centralized API key and authentication management
- 🚀 **One-Click Install**: Rich selection of servers in MCP Marketplace
- 📊 **Usage Statistics**: Real-time service call monitoring
Visit **[EMCP Platform](https://sit-emcp.kaleido.guru)** now to start your MCP journey!
---
## Introduction
This is an MCP server for accessing the Midjourney Best Experience API.
- **PyPI Package**: `bach-midjourney_best_experience`
- **Version**: 1.0.0
- **Transport Protocol**: stdio
## 安装
### 从 PyPI 安装:
```bash
pip install bach-midjourney_best_experience
```
### 从源码安装:
```bash
pip install -e .
```
## 运行
### 方式 1: 使用 uvx(推荐,无需安装)
```bash
# 运行(uvx 会自动安装并运行)
uvx --from bach-midjourney_best_experience bach_midjourney_best_experience
# 或指定版本
uvx --from bach-midjourney_best_experience@latest bach_midjourney_best_experience
```
### 方式 2: 直接运行(开发模式)
```bash
python server.py
```
### 方式 3: 安装后作为命令运行
```bash
# 安装
pip install bach-midjourney_best_experience
# 运行(命令名使用下划线)
bach_midjourney_best_experience
```
## Configuration
### API Authentication
This API requires authentication. Please set environment variable:
```bash
export API_KEY="your_api_key_here"
```
### Environment Variables
| Variable | Description | Required |
|----------|-------------|----------|
| `API_KEY` | API Key | Yes |
| `PORT` | N/A | No |
| `HOST` | N/A | No |
### Using with Cursor
Edit Cursor MCP config file `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"bach-midjourney_best_experience": {
"command": "uvx",
"args": ["--from", "bach-midjourney_best_experience", "bach_midjourney_best_experience"],
"env": {
"API_KEY": "your_api_key_here"
}
}
}
}
```
### Using with Claude Desktop
Edit Claude Desktop config file `claude_desktop_config.json`:
```json
{
"mcpServers": {
"bach-midjourney_best_experience": {
"command": "uvx",
"args": ["--from", "bach-midjourney_best_experience", "bach_midjourney_best_experience"],
"env": {
"API_KEY": "your_api_key_here"
}
}
}
}
```
## 可用工具
此服务器提供以下工具:
### `action_relaxuu0026v`
- Do the relax action - You can perform upsample (same as the UI, U2...), variation (V1, V2...), zoom out 1.5x, zoom out 2x, pan, and other operations on the images generated in the first step
**端点**: `POST /mj/action-relax`
**参数**:
- `action` (string) *必需*: the action is the enumeration values returned in the action list in the callback
- `image_id` (string) *必需*: the params image_id in the relax job callback or task_id eg: 9c4410a2-2bb4-2428-b0e4-0a3b41f48e3b
- `hook_url` (string): if set will notify the result to your hook_url
---
### `action_fastuu0026v`
- Do the fast action - You can perform upsample (same as the UI, U2...), variation (V1, V2...), zoom out 1.5x, zoom out 2x, pan, and other operations on the images generated in the first step
**端点**: `POST /mj/action-fast`
**参数**:
- `action` (string) *必需*: the action is the enumeration values returned in the action list in the callback
- `image_id` (string) *必需*: the params image_id in the fast job callback or task_id eg: 6a028074-884e-7840-2ef4-715a5ab3b6c7
- `hook_url` (string): Example value: https://www.google.com
---
### `generate_relax`
generate the images relax Generate queue asynchronous notifications to hook_ url, overall generation time is Depends on account status and task queuing
**端点**: `POST /mj/generate-relax`
**参数**:
- `prompt` (string) *必需*: Example value: a beautiful cat --ar 1920:1080
- `hook_url` (string): if set will notify the result to your hook_url
---
### `generate_fast`
generate the images fast Generate queue asynchronous notifications to hook_ url, overall generation time is around 40-60s
**端点**: `POST /mj/generate-fast`
**参数**:
- `prompt` (string) *必需*: Example value: a beautiful cat --ar 1920:1080
- `hook_url` (string): if set will notify the result to your hook_url
---
### `get_job_by_task_id`
you can get the generate job and action job status by the task_id, and the task_id will expired at 24 hours after
**端点**: `GET /mj/get-task-id`
**参数**:
- `task_id` (string) *必需*: Example value: 6ddd8121-2ae4-af61-b73d-eaefc8318d09
---
## Tech Stack
- **Transport Protocol**: stdio
- **HTTP Client**: httpx
## License
MIT License - See [LICENSE](./LICENSE) file for details.
## Development
This server is generated by [API-to-MCP](https://github.com/BACH-AI-Tools/api-to-mcp) tool.
Version: 1.0.0