mlx-mcp
mlx-mcp gives Claude Code, Codex and other coding agents the MLX, MLX Data and MLX LM docs, so your agent can check the docs before it writes MLX code instead of working from memory.
It runs on your Mac, needs no account or API key, and works offline after the first search.
An independent project, not affiliated with Apple or the MLX maintainers.
Install
You need an Apple silicon Mac with macOS 14 or later, and uv.
Add mlx-mcp to your agent below. Every client runs the same command,
uvx --python 3.13 mlx-mcp serve, so there's nothing else to install. uv
downloads Python 3.13 if you don't have it.
Claude Code
claude mcp add --scope user mlx-docs -- uvx --python 3.13 mlx-mcp serve
Codex
codex mcp add mlx-docs -- uvx --python 3.13 mlx-mcp serve
Cursor
Or add it by hand in ~/.cursor/mcp.json:
{
"mcpServers": {
"mlx-docs": {
"command": "uvx",
"args": ["--python", "3.13", "mlx-mcp", "serve"]
}
}
}
VS Code
Or add it by hand in .vscode/mcp.json:
{
"servers": {
"mlx-docs": {
"type": "stdio",
"command": "uvx",
"args": ["--python", "3.13", "mlx-mcp", "serve"]
}
}
}
Other MCP clients
Add a stdio server named mlx-docs that runs this command:
{
"command": "uvx",
"args": ["--python", "3.13", "mlx-mcp", "serve"]
}
Use it
Ask your agent, for example: "Use mlx-mcp to port this code to MLX."
Your agent can also check which docs versions mlx-mcp has, and every page it reads says which version it's from.
Your agent starts mlx-mcp when it needs it. The first start downloads about 65 MB, mostly MLX, and the first search downloads the 90 MB search model. After that it works offline.
Update
uvx --python 3.13 mlx-mcp@latest --version
Then start a new agent session.
Uninstall
Remove mlx-docs from each agent you connected:
- Claude Code:
claude mcp remove --scope user mlx-docs - Codex:
codex mcp remove mlx-docs - Cursor, VS Code and other clients: delete the
mlx-docsentry.
Then delete ~/.cache/mlx-mcp to free the space.
If something doesn't work
Run uvx --python 3.13 mlx-mcp prepare and start a new session. It downloads
anything missing and checks that search and fetch work. If that doesn't fix
it, open an issue with
what the command printed.
If Cursor, VS Code or another app can't find uvx, run command -v uvx in a
terminal and use the path it prints as the command.
Good to know
- The bundled docs may not match the MLX version you have installed.
uvx --python 3.13 mlx-mcp infoshows the versions mlx-mcp has.uvx --python 3.13 mlx-mcp prepare --refreshdownloads the latest MLX and MLX Data docs. MLX LM stays at its bundled version. Start a new session after refreshing. - mlx-mcp has the published docs, not the MLX source code. The docs don't always say which kernel or device runs an operation. For that, read the MLX source or measure it.
uvx --python 3.13 mlx-mcp --helplists the commands.
License
MIT. Includes text from the MLX, MLX Data and MLX LM projects, © Apple Inc., under the MIT License. See the third-party notices. To report a security problem, see Security.
Metadata
Release files for mlx-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mlx_mcp-0.1.0.tar.gz | 1.6 MB | Without provenance | Details for mlx_mcp-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mlx_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for mlx_mcp-0.1.0-py3-none-any.whl |
Total release size: 3.2 MB
Release files / mlx_mcp-0.1.0.tar.gz
| Download URL | mlx_mcp-0.1.0.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f919dc46295e27f4fbcacdf81eb9d584d31d8986a489f4755d5b9eea1109bd4b
|
|
BLAKE2b-256 checksum How to use checksums |
c6dc08beb800aeee4e6f02b9076181854ccce9ce1d9749cc7b94b0db737e9fdb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / mlx_mcp-0.1.0-py3-none-any.whl
| Download URL | mlx_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 1.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
58fa96fd8eff3ae98559fcd262421263c30d8a1e587b7f1100e28d7337a2d9c2
|
|
BLAKE2b-256 checksum How to use checksums |
d4e6e3910cee72ea84d141567981d9c754a9e6ff80548498b1c9d1de8b65058d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for mlx-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.