mlx-serve-mcp
mlx-serve-mcp
MCP-Server, der eine entfernte mlx-serve-Instanz in aufrufbare Tools verwandelt — sodass jeder MCP-Client (Claude Code, Claude Desktop, Cline, ...) auf jedem Gerät Bilder, Sprache, Musik, Videos und 3D-Meshes über die ip:port deines Macs erzeugen kann.
mlx-serve führt die Modelle nativ auf Apple Silicon aus; diese Brücke spricht auf der einen Seite MCP und auf der anderen Seite die OpenAI-artige Medien-API von mlx-serve (/v1/images, /v1/audio, /v1/video, /v1/3d). Lokal wird nichts erzeugt — dein Rechner kommuniziert nur per HTTP mit dem Server.
┌──────────────┐ stdio/MCP ┌────────────────┐ HTTP ┌──────────────────┐
│ MCP client │ ◄──────────► │ mlx-serve-mcp │ ──────────► │ mlx-serve server │
│ (any device) │ │ (this package)│ ip:port │ (Apple Silicon) │
└──────────────┘ └────────────────┘ └──────────────────┘Installation & Ausführung
Erfordert Python ≥ 3.10. Mit installiertem uv:
cd mlx-serve-mcp
uv sync # create venv + install deps
uv run mlx-serve-mcp --url 192.168.1.10:11234Die URL akzeptiert eine reine ip:port (http wird angenommen), host:port oder eine vollständige http(s)://...-URL.
Konfiguration
CLI-Flags überschreiben Umgebungsvariablen:
Flag | Env var | Default | Meaning |
|
|
| mlx-serve-Adresse |
|
| (none) | Bearer-Schlüssel, wenn der Server mit API-Key-Authentifizierung läuft |
|
|
| Wohin erzeugte Mediendateien geschrieben werden |
|
|
| HTTP-Timeout in Sekunden (Video/Musik kann viele Minuten dauern) |
Standardmodelle
Jedes Medien-Tool akzeptiert ein optionales model-Argument. Wenn es weggelassen wird, verwendet das Tool einen konfigurierbaren Standard (Env-Variable → eingebaut):
Env-Variable | Tool | Eingebauter Standard |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Modellempfehlung (basierend auf realen Tests auf mlx-serve):
ddalcu/Mage-Flow-Turbo-MLX-Serve-8bitist schnell, aber seine Qualität liegt unterRunpod/FLUX.2-klein-4B-mflux-4bit— insbesondere die Gesichtserzeugung neigt dazu, verzerrt zu wirken. Allerdings ist es weitaus zuverlässiger alsmlx-community/flux2-klein-9b-4bitbeim Rendern von Text in Bildern. Für textlastige Kunst (Poster, Typografie, Schilder) statt Porträts istddalcu/Mage-Flow-Turbo-MLX-Serve-8bitdie empfohlene Wahl.
ddalcu/Mage-Flow-Edit-Turbo-MLX-Serve-8bitkann auf mlx-serve einen Gewichts-/Parameterfehler auslösen (Model load failed: MissingMageFlowWeight), was das Modell unbrauchbar macht.
mlx-community/flux2-klein-9b-4bithat ein ähnliches Ladefehlerproblem.Fazit: Verwende
Runpod/FLUX.2-klein-4B-mflux-4bitfürgenerate_imageundedit_image— es ist das einzige Bildmodell in dieser Gruppe, das sowohl zuverlässig lädt als auch gute Ergebnisse (einschließlich Gesichtern) liefert.
Setze sie in der Konfiguration deines MCP-Clients, um die Modelle festzulegen, die du tatsächlich auf dem Server installiert hast:
{
"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
In deinen MCP-Client einbinden
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) verwendet dieselbe command/args-Struktur. Füge "env": {"MLX_SERVE_API_KEY": "..."} hinzu, wenn der Server einen Schlüssel erfordert.
Tools
Tool | Endpunkt | Rückgabe |
|
| Erreichbarkeitstext |
|
| Modell-IDs + Fähigkeitsflags (image/speech/music/video/3d/chat) |
|
| in den GPU-Speicher laden (optional als Standard) |
|
| GPU-Speicher freigeben |
|
| Inline-Bild + gespeicherter PNG-Pfad |
| gleich | Inline-Bild + gespeicherter PNG-Pfad |
|
| gespeicherter WAV-Pfad |
|
| gespeicherter WAV-Pfad |
|
| kodierter MP4-Pfad |
|
| gespeicherter GLB-Pfad |
Ausgabedateien landen unter <output-dir>/{images,audio,video,mesh}/ mit Zeitstempelnamen; jedes Tool meldet absolute Pfade in seinem Ergebnistext.
Prompts
Ein-Klick-Prompt-Vorlagen, die über prompts/list / prompts/get bereitgestellt werden:
Prompt | Funktion |
| Textlastiges Poster/Typografie (Mage-Flow-Turbo — am besten bei Textdarstellung) |
| Realistisches Porträt (FLUX.2-klein-4B — am besten für Gesichter) |
| Lo-Fi-Hip-Hop-Musiktitel (MiniMax-Music3) |
| Natürliche TTS (Qwen3-TTS) |
| Freigestelltes Foto → texturiertes GLB (Hunyuan3D-2.1) |
| 9-Frame-Vorschauvideo (schnellster Weg) |
Ressourcen
Live-Datenquellen, die über resources/list / resources/read bereitgestellt werden:
Ressource | URI | Inhalt |
|
| Live-Modellinventar mit Fähigkeitsflags |
|
| Health, Version, geladene Modelle |
|
| Empfohlenes Modell pro Tool (real getestet) |
LobeHub Marketplace
Dieses Paket ist im LobeHub MCP Marketplace mit einem vollständigen lhm.plugin.json-Manifest und einer skill.md für die Agentenermittlung veröffentlicht.
Designhinweise
Video: mlx-serve antwortet mit rohen RGB8-Framebytes (+ optionaler PCM-s16le-Spur), nicht mit einer kodierten Datei. Diese Brücke führt sie per ffmpeg zu H.264/AAC-MP4 zusammen — bevorzugt wird das System-
ffmpeg, andernfalls die statische Binärdatei, die mit derimageio-ffmpeg-Abhängigkeit gebündelt ist, sodass keine separate Installation nötig ist.Bilder werden sowohl inline (MCP-Bildinhalt, sofortige Vorschau) als auch als gespeicherte PNG-Dateien zurückgegeben.
Fehler: Die benannten 400-Meldungen von mlx-serve (z. B.
'speed' must be in (0, 5]) werden wörtlich ausgegeben, damit das aufrufende LLM sich selbst korrigieren kann.LoRA-Felder werden absichtlich nicht bereitgestellt: Sie erfordern
.safetensors-Pfade auf der Festplatte des Servers, was für entfernte Aufrufer selten sinnvoll ist.Lange Generierungen sind hier nur langsame HTTP-Anfragen; erhöhe
--timeout, wenn deine Clips ambitioniert sind.
Entwicklung
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