mlx-serve-mcp
mlx-serve-mcp
원격 mlx-serve 인스턴스를 호출 가능한 도구로 바꿔주는 MCP 서버 — 따라서 모든 기기의 모든 MCP 클라이언트(Claude Code, Claude Desktop, Cline, ...)가 Mac의 ip:port를 통해 이미지, 음성, 음악, 비디오, 3D 메시를 생성할 수 있습니다.
mlx-serve는 Apple Silicon에서 모델을 기본적으로 실행합니다. 이 브리지는 한쪽에서는 MCP를, 다른 쪽에서는 mlx-serve의 OpenAI 스타일 미디어 API(/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, 또는 전체 http(s)://... URL을 허용합니다.
구성
CLI 플래그는 환경 변수보다 우선합니다:
Flag | Env var | Default | 의미 |
|
|
| mlx-serve 주소 |
|
| (없음) | 서버가 API 키 인증으로 실행될 때의 Bearer 키 |
|
|
| 생성된 미디어 파일이 저장되는 위치 |
|
|
| 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도 유사한 로드 실패 문제가 있습니다.결론:
generate_image와edit_image모두Runpod/FLUX.2-klein-4B-mflux-4bit를 사용하세요. 이 그룹에서 안정적으로 로드되면서 (얼굴을 포함해) 좋은 결과를 내는 유일한 이미지 모델입니다.
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": "..."}를 추가하세요.
도구
도구 | 엔드포인트 | 반환값 |
|
| 연결 가능 여부 텍스트 |
|
| 모델 ID + 기능 플래그 (image/speech/music/video/3d/chat) |
|
| GPU 메모리에 로드 (선택적으로 기본 모델로) |
|
| GPU 메모리 해제 |
|
| 인라인 이미지 + 저장된 PNG 경로 |
| 동일 | 인라인 이미지 + 저장된 PNG 경로 |
|
| 저장된 WAV 경로 |
|
| 저장된 WAV 경로 |
|
| 인코딩된 MP4 경로 |
|
| 저장된 GLB 경로 |
출력 파일은 타임스탬프가 포함된 이름으로 <output-dir>/{images,audio,video,mesh}/ 아래에 저장됩니다. 모든 도구는 결과 텍스트에 절대 경로를 보고합니다.
프롬프트
prompts/list / prompts/get를 통해 노출되는 원클릭 프롬프트 템플릿:
프롬프트 | 기능 |
| 텍스트 중심 포스터/타이포그래피 (Mage-Flow-Turbo — 텍스트 렌더링에 최적) |
| 사실적인 인물 사진 (FLUX.2-klein-4B — 얼굴에 최적) |
| 로파이 힙합 음악 트랙 (MiniMax-Music3) |
| 자연스러운 TTS (Qwen3-TTS) |
| 컷아웃 사진 → 텍스처 GLB (Hunyuan3D-2.1) |
| 9프레임 미리보기 비디오 (가장 빠른 경로) |
리소스
resources/list / resources/read를 통해 노출되는 실시간 데이터 소스:
리소스 | URI | 내용 |
|
| 기능 플래그가 포함된 실시간 모델 목록 |
|
| 상태, 버전, 로드된 모델 |
|
| 도구별 권장 모델 (실제 테스트 완료) |
LobeHub 마켓플레이스
이 패키지는 전체 lhm.plugin.json 매니페스트와 에이전트 검색을 위한 skill.md를 포함하여 LobeHub MCP Marketplace에 게시되어 있습니다.
설계 노트
비디오: mlx-serve는 인코딩된 파일이 아닌 원시 RGB8 프레임 바이트(+ 선택적 PCM s16le 트랙)로 응답합니다. 이 브리지는 ffmpeg를 통해 이를 H.264/AAC MP4로 먹싱합니다. 시스템
ffmpeg를 우선 사용하고,imageio-ffmpeg의존성에 번들된 정적 바이너리로 대체되므로 별도 설치가 필요 없습니다.이미지는 인라인(MCP 이미지 콘텐츠, 즉시 미리보기)과 저장된 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