get started
Quick install
Install the binary, run one command in your project, restart your agent. About two minutes.
Install muxd
On macOS and Linux, the install script picks the right binary for your platform, verifies it against the release checksums and puts it on your PATH:
$ curl -fsSL https://raw.githubusercontent.com/kiliannnnn/muxd/main/scripts/install-muxd.sh | bashIt installs to /usr/local/bin, or ~/.local/bin without write access there. Set MUXD_INSTALL_DIR to choose, or MUXD_RELEASE_TAG to pin a version. On Windows, grab the .exe from the downloads page.
$ muxd --versionInitialize your project
At the root of the project (where your package.json, Cargo.toml… live):
$ muxd initmuxd indexes the docs of every direct dependency, writes muxd.json, registers itself in .mcp.json, .cursor/mcp.json and .vscode/mcp.json, and adds a short instruction block to AGENTS.md / CLAUDE.md. Commit all of it.
Restart your agent
Reload the MCP servers in your client, or restart it. Ask it something about one of your libraries: it should call search_docs before answering. Most clients show tool calls, so you can watch it happen.
Optional: use muxd everywhere
muxd init sets up one project. To make muxd available in every project and in desktop apps, register it once at user level:
$ muxd install-clientIt configures each supported client it finds: Claude Code, Claude Desktop, Cursor and VS Code.
Add docs that aren't dependencies
For a service you call over HTTP, an internal API or a library you're evaluating, add a source directly. Anything with an llms.txt works, and package references resolve like dependencies do:
$ muxd add https://hono.dev/llms-full.txt$ muxd add npm:zodTo keep an extra source scoped to one project, list it under extra in muxd.json instead and run muxd sync. See Configuration.
nothing happens?
/mcp lists connected servers. Desktop apps don't inherit your shell PATH; muxd install-client registers the absolute path of the binary to get around that.