mlx-mcp-server
Allows using Ollama as a backend for local LLM inference, supporting chat and diagnostic tools.
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-mcp-serverask my local model to summarize this article"
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 Mcp Server
MCP server bridging Claude to local MLX LM (and any OpenAI-compatible backend)
AI automation consulting — I help businesses replace painful manual processes with LLM-powered pipelines and workflow automation.
Overview
mlx-mcp-server is a Model Context Protocol server that bridges Claude to a local LLM (MLX LM on Apple Silicon, or any OpenAI-compatible /v1 backend) so Claude can hand off eligible work to a free, private model instead of spending paid tokens.
Rather than a plain pass-through, it enforces an offload-first policy: its headline iterate tool runs a self-correcting escalation ladder — retry locally against a gate, step up to a bigger local model, and only escalate to Claude when the local rungs are exhausted. The result is lower token cost and more privacy for routine work (summarizing, extracting, classifying, boilerplate, single-file review), while Claude stays focused on multi-file reasoning and judgment calls.
Related MCP server: LMStudio-MCP
Features
Offload-first, token-thrift — routes eligible work (summarize, extract, classify, boilerplate, single-file review, first drafts) to a free, private local model before spending paid Claude tokens.
Self-correcting
iterateladder — retries locally, then a bigger local model, then escalates to Claude; free rungs are exhausted before any paid work.Gated retries — structural gates (
require_json/schema_keys/contains/regex/min_len) and an executable gate (run a linter or test against$CANDIDATE_FILE) let the local model fix its own output.Runtime model switching — swap the active model by name or fuzzy fragment with no Claude restart; choice persists across restarts.
Work-hours guard — optionally blocks large (>22 GB RAM) models during work hours to avoid swap thrashing.
One-step install — wires the MCP server and slash commands (
/switch-model,/mlx-help) into Claude Code or Claude Desktop.Backend-agnostic — works with MLX LM or any OpenAI-compatible
/v1endpoint; content-free usage metrics, MIT licensed, tested and CI'd.
Getting Started
Requires Python 3.11+ and a running OpenAI-compatible LLM backend (MLX LM on Apple Silicon is recommended).
pip install mlx-mcp-server
mlx-mcp-server install --claude-code --with-commands # wire into Claude Code, then restart ClaudeSee Usage for backend setup, configuration, and the full tool reference.
Usage
1. Start a local LLM backend
The server talks to any OpenAI-compatible /v1 endpoint. On Apple Silicon, MLX LM is recommended:
pip install mlx-lm
mlx_lm.server --model mlx-community/Qwen2.5-Coder-14B-Instruct-4bit # serves on http://localhost:8080Any other OpenAI-compatible backend works too (e.g. Ollama on Linux/Intel — point MLX_BASE_URL at http://localhost:11434).
2. Install and wire it into Claude
pip install mlx-mcp-server
# One-step setup for Claude Code (also installs the /switch-model + /mlx-help slash commands)
mlx-mcp-server install --claude-code --with-commands
# ...or Claude Desktop
mlx-mcp-server install --with-commands
# Preview the config without writing anything
mlx-mcp-server install --claude-code --dry-runThe installer writes an mlx entry into your Claude config (~/.claude/settings.json for Claude Code, or the Claude Desktop config). Restart Claude afterward to load the server. Verify the backend is reachable with the health_check tool, or run mlx-mcp-server help for the full CLI reference.
3. How Claude uses it — offload-first
The whole point is token thrift: Claude routes eligible work (summarize, extract, classify, reformat, boilerplate, single-file review, simple refactors, first drafts) to your free, private local model before spending paid tokens. The headline tool is iterate, which runs a self-correcting escalation ladder:
local model retries (feeding each gate failure back in) → a bigger local model → escalate to Claude
Free rungs are exhausted before any paid work happens. You attach a gate so the local model can self-correct:
Structural gates (cheap, content-free):
require_json,schema_keys,contains,regex,min_lenExecutable gate:
check_command— a shell command that sees the candidate at$CANDIDATE_FILEand exits0to pass (e.g. a linter or test)
With no gate, iterate runs a single local attempt and asks Claude to verify.
# Generate boilerplate, gated by a linter — retries locally until ruff is happy
iterate(message="write a Python slugify() function",
category="boilerplate",
check_command="ruff check $CANDIDATE_FILE")
# Extract structured data, gated on valid JSON with required keys
iterate(message="extract name, email, company from this signature: ...",
category="extract",
require_json=true,
schema_keys=["name", "email", "company"])
# Quick one-off to the local model, no iteration
chat(message="explain what this regex does: ^\\d{3}-\\d{4}$")Tools
Tool | What it does |
| Offload a task with a gate; retries locally, then a bigger local model, then escalates to Claude |
| Send a single prompt to the local model and get the response + token usage |
| Run a canned diagnostic ( |
| List loaded models with speed/quality descriptions and the active marker |
| Switch the active model at runtime by name or fuzzy fragment — no restart needed |
| Confirm the backend is reachable |
| Block large (>22 GB RAM) models Mon–Fri 8am–5pm MT to avoid swap thrashing |
| Show current config (URL, active model, guard state) — resource |
Inside Claude Code, the bundled slash commands give you /switch-model (interactive model picker) and /mlx-help (this reference).
Configuration
Set as env vars in the MCP server entry (the installer scaffolds these):
Variable | Default | Notes |
|
| Backend |
| (empty) | Optional — auto-detected from |
| (empty) | Optional, for secured backends |
|
| Request timeout in seconds |
Development
# Install dev dependencies
pip install -r requirements-dev.txt # if present
# Run tests
pytest -qLicense
MIT — see LICENSE.
Built and maintained by Brice — Observability Engineer at Grafana Labs / AI Automation Consultant. See more at github.com/deresolution20.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/deresolution20/mlx-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server