mlx-serve-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mlx-serve-mcpgenerate an image of a serene mountain lake at sunset"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mlx-serve-mcp
MCP server that turns a remote mlx-serve instance into callable tools — so any MCP client (Claude Code, Claude Desktop, Cline, ...) on any device can generate images, speech, music, video and 3D meshes through your Mac's ip:port.
mlx-serve runs the models natively on Apple Silicon; this bridge speaks MCP on one side and mlx-serve's OpenAI-style media API (/v1/images, /v1/audio, /v1/video, /v1/3d) on the other. Nothing is generated locally — your machine only talks HTTP to the server.
┌──────────────┐ stdio/MCP ┌────────────────┐ HTTP ┌──────────────────┐
│ MCP client │ ◄──────────► │ mlx-serve-mcp │ ──────────► │ mlx-serve server │
│ (any device) │ │ (this package)│ ip:port │ (Apple Silicon) │
└──────────────┘ └────────────────┘ └──────────────────┘Install & run
Requires Python ≥ 3.10. With uv installed:
cd mlx-serve-mcp
uv sync # create venv + install deps
uv run mlx-serve-mcp --url 192.168.1.10:11234The URL accepts bare ip:port (http is assumed), host:port, or a full http(s)://... URL.
Configuration
CLI flags override environment variables:
Flag | Env var | Default | Meaning |
|
|
| mlx-serve address |
|
| (none) | Bearer key when the server runs with API-key auth |
|
|
| Where generated media files are written |
|
|
| HTTP timeout in seconds (video/music can take many minutes) |
Default models
Each media tool accepts an optional model argument. When omitted, the tool
falls back to a configurable default (env var → built-in):
Env var | Tool | Built-in default |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Model recommendation (based on real-world testing on mlx-serve):
ddalcu/Mage-Flow-Turbo-MLX-Serve-8bitis fast, but its quality is belowRunpod/FLUX.2-klein-4B-mflux-4bit— in particular, face generation tends to come out distorted. However, it is far more reliable thanmlx-community/flux2-klein-9b-4bitat rendering text in images, so for text-centric art (posters, typography, signs) rather than portraits,ddalcu/Mage-Flow-Turbo-MLX-Serve-8bitis the recommended choice.
ddalcu/Mage-Flow-Edit-Turbo-MLX-Serve-8bitcan hit a weight/parameter error on mlx-serve (Model load failed: MissingMageFlowWeight), which makes the model unusable.
mlx-community/flux2-klein-9b-4bithas a similar load-failure issue.Bottom line: use
Runpod/FLUX.2-klein-4B-mflux-4bitfor bothgenerate_imageandedit_image— it is the only image model in this group that both loads reliably and produces good results (including faces).
Set them in your MCP client config to pin the models you actually have installed on the server:
{
"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
Wire into your MCP client
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) uses the same command/args shape. Add "env": {"MLX_SERVE_API_KEY": "..."} if the server requires a key.
Tools
Tool | Endpoint | Returns |
|
| reachability text |
|
| model ids + capability flags (image/speech/music/video/3d/chat) |
|
| load into GPU memory (optionally as default) |
|
| free GPU memory |
|
| inline image + saved PNG path |
| same | inline image + saved PNG path |
|
| saved WAV path |
|
| saved WAV path |
|
| encoded MP4 path |
|
| saved GLB path |
Output files land under <output-dir>/{images,audio,video,mesh}/ with timestamped names; every tool reports absolute paths in its result text.
Prompts
One-click prompt templates exposed via prompts/list / prompts/get:
Prompt | What it does |
| Text-centric poster/typography (Mage-Flow-Turbo — best at text rendering) |
| Realistic portrait (FLUX.2-klein-4B — best for faces) |
| Lo-fi hip-hop music track (MiniMax-Music3) |
| Natural TTS (Qwen3-TTS) |
| Cutout photo → textured GLB (Hunyuan3D-2.1) |
| 9-frame preview video (fastest path) |
Resources
Live data sources exposed via resources/list / resources/read:
Resource | URI | Content |
|
| Live model inventory with capability flags |
|
| Health, version, loaded models |
|
| Recommended model per tool (real-world tested) |
LobeHub Marketplace
This package is published on the LobeHub MCP Marketplace with a full lhm.plugin.json manifest and a skill.md for agent discovery.
Design notes
Video: mlx-serve answers with raw RGB8 frame bytes (+ optional PCM s16le track), not an encoded file. This bridge muxes them into H.264/AAC MP4 via ffmpeg — preferring system
ffmpeg, falling back to the static binary bundled with theimageio-ffmpegdependency, so no separate install is needed.Images are returned both inline (MCP image content, instant preview) and as saved PNG files.
Errors: mlx-serve's named-400 messages (e.g.
'speed' must be in (0, 5]) are surfaced verbatim so the calling LLM can self-correct.LoRA fields are intentionally not exposed: they require
.safetensorspaths on the server's disk, which rarely makes sense for remote callers.Long generations are just slow HTTP requests here; raise
--timeoutif your clips are ambitious.
Development
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