mlx-serve-mcp
mlx-serve-mcp
MCP-сервер, который превращает удалённый экземпляр mlx-serve в вызываемые инструменты — так что любой MCP-клиент (Claude Code, Claude Desktop, Cline, ...) на любом устройстве может генерировать изображения, речь, музыку, видео и 3D-сетки через ip:port вашего Mac.
mlx-serve запускает модели нативно на Apple Silicon; этот мост говорит на MCP с одной стороны и на OpenAI-совместимом медиа-API mlx-serve (/v1/images, /v1/audio, /v1/video, /v1/3d) — с другой. Локально ничего не генерируется — ваша машина только общается с сервером по HTTP.
┌──────────────┐ stdio/MCP ┌────────────────┐ HTTP ┌──────────────────┐
│ MCP client │ ◄──────────► │ mlx-serve-mcp │ ──────────► │ mlx-serve server │
│ (any device) │ │ (this package)│ ip:port │ (Apple Silicon) │
└──────────────┘ └────────────────┘ └──────────────────┘Установка и запуск
Требуется Python ≥ 3.10. При установленном uv:
cd mlx-serve-mcp
uv sync # create venv + install deps
uv run mlx-serve-mcp --url 192.168.1.10:11234URL принимает просто ip:port (подразумевается http), host:port или полный URL вида http(s)://....
Конфигурация
Флаги CLI переопределяют переменные окружения:
Флаг | Переменная окружения | По умолчанию | Значение |
|
|
| адрес mlx-serve |
|
| (нет) | ключ Bearer, если сервер работает с аутентификацией по API-ключу |
|
|
| куда записываются сгенерированные медиафайлы |
|
|
| таймаут HTTP в секундах (видео/музыка могут занимать много минут) |
Модели по умолчанию
Каждый медиа-инструмент принимает необязательный аргумент model. Если он опущен, инструмент использует настраиваемое значение по умолчанию (переменная окружения → встроенное):
Переменная окружения | Инструмент | Встроенное значение по умолчанию |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рекомендация по моделям (основано на реальном тестировании на mlx-serve):
ddalcu/Mage-Flow-Turbo-MLX-Serve-8bitбыстр, но его качество ниже, чем уRunpod/FLUX.2-klein-4B-mflux-4bit— в частности, генерация лиц часто получается искажённой. Однако он гораздо надёжнееmlx-community/flux2-klein-9b-4bitпри отрисовке текста на изображениях, поэтому для работ, где важен текст (постеры, типографика, вывески), а не портреты, рекомендуется выбиратьddalcu/Mage-Flow-Turbo-MLX-Serve-8bit.
ddalcu/Mage-Flow-Edit-Turbo-MLX-Serve-8bitможет вызывать ошибку весов/параметров на mlx-serve (Model load failed: MissingMageFlowWeight), из-за чего модель становится непригодной к использованию.
mlx-community/flux2-klein-9b-4bitимеет аналогичную проблему с загрузкой.Итог: используйте
Runpod/FLUX.2-klein-4B-mflux-4bitи дляgenerate_image, и дляedit_image— это единственная модель из этой группы, которая и загружается стабильно, и даёт хорошие результаты (включая лица).
Укажите их в конфигурации вашего MCP-клиента, чтобы закрепить модели, которые реально установлены на сервере:
{
"mcpServers": {
"mlx-serve": {
"command": "uv",
"args": ["--directory", "/path/to/mlx-serve-mcp", "run", "mlx-serve-mcp", "--url", "192.168.1.10:11234"],
"env": {
"MLX_SERVE_API_KEY": "private",
"MLX_SERVE_IMAGE_MODEL": "ddalcu/Mage-Flow-Turbo-MLX-Serve-8bit",
"MLX_SERVE_TTS_MODEL": "mlx-community/Qwen3-TTS-12Hz-1.7B-Base-bf16"
}
}
}
}Related MCP server: imagine-mcp
Подключение к вашему MCP-клиенту
Claude Code (.mcp.json / claude mcp add):
{
"mcpServers": {
"mlx-serve": {
"command": "uv",
"args": [
"--directory", "/absolute/path/to/mlx-serve-mcp",
"run", "mlx-serve-mcp",
"--url", "192.168.1.10:11234"
]
}
}
}Claude Desktop (claude_desktop_config.json) использует ту же структуру command/args. Добавьте "env": {"MLX_SERVE_API_KEY": "..."}, если сервер требует ключ.
Инструменты
Инструмент | Эндпоинт | Возвращает |
|
| текст доступности |
|
| идентификаторы моделей + флаги возможностей (image/speech/music/video/3d/chat) |
|
| загрузить в память GPU (опционально как модель по умолчанию) |
|
| освободить память GPU |
|
| изображение inline + путь к сохранённому PNG |
| тот же | изображение inline + путь к сохранённому PNG |
|
| путь к сохранённому WAV |
|
| путь к сохранённому WAV |
|
| путь к закодированному MP4 |
|
| путь к сохранённому GLB |
Выходные файлы сохраняются в <output-dir>/{images,audio,video,mesh}/ с именами на основе временной метки; каждый инструмент сообщает абсолютные пути в тексте результата.
Промпты
Шаблоны промптов в один клик, доступные через prompts/list / prompts/get:
Промпт | Что делает |
| Постер/типографика с акцентом на текст (Mage-Flow-Turbo — лучший в отрисовке текста) |
| Реалистичный портрет (FLUX.2-klein-4B — лучший для лиц) |
| Lo-fi хип-хоп трек (MiniMax-Music3) |
| Естественный TTS (Qwen3-TTS) |
| Вырезанное фото → текстурированный GLB (Hunyuan3D-2.1) |
| Превью-видео из 9 кадров (самый быстрый путь) |
Ресурсы
Живые источники данных, доступные через resources/list / resources/read:
Ресурс | URI | Содержимое |
|
| Живой список моделей с флагами возможностей |
|
| Состояние, версия, загруженные модели |
|
| Рекомендуемая модель для каждого инструмента (проверено на практике) |
LobeHub Marketplace
Этот пакет опубликован в LobeHub MCP Marketplace с полным манифестом lhm.plugin.json и skill.md для обнаружения агентами.
Заметки по дизайну
Видео: mlx-serve отвечает сырыми байтами кадров RGB8 (+ опционально дорожка PCM s16le), а не закодированным файлом. Этот мост мультиплексирует их в H.264/AAC MP4 через ffmpeg — предпочитая системный
ffmpeg, с откатом на статический бинарник из зависимостиimageio-ffmpeg, так что отдельная установка не требуется.Изображения возвращаются и inline (MCP image content, мгновенный предпросмотр), и как сохранённые PNG-файлы.
Ошибки: именованные сообщения mlx-serve с кодом 400 (например,
'speed' must be in (0, 5]) передаются дословно, чтобы вызывающая LLM могла исправиться.Поля LoRA намеренно не раскрываются: они требуют пути к
.safetensorsна диске сервера, что редко имеет смысл для удалённых вызывающих.Долгая генерация здесь — это просто медленные HTTP-запросы; увеличьте
--timeout, если ваши клипы амбициозны.
Разработка
uv sync
uv run pytest # unit tests (mocked HTTP, no server required)
uv run mlx-serve-mcp --helpMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for AI-powered image, audio, and video generation, enabling media creation directly from Claude, Cursor, and other MCP clients.1144MIT
- AlicenseBqualityAmaintenanceProduction-grade MCP server for image and video understanding and generation across Gemini, OpenAI, and Grok.54Apache 2.0
- FlicenseAqualityCmaintenanceLocal multimodal MCP server for vision, document, audio, video, and GUI automation, all processed locally on Apple Silicon for privacy and security.9
- AlicenseAqualityAmaintenanceStateless MCP server that wraps OpenAI's Sora, Whisper, GPT-4o Audio, and TTS APIs for generating videos, images, and processing audio.96MIT
Related MCP Connectors
MCP server for MiniMax H3 multimodal video generation
Remote MCP server for RunComfy Serverless API (ComfyUI): deployments and async inference.
MCP server for Wan AI video generation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Congenital/mlx-serve-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server