MCP server for hex.pm and hexdocs.pm: search, inspect, compare, and audit Elixir packages
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
MCP server for querying hex.pm and hexdocs.pm -- the Elixir/Erlang package registry and documentation hosting.
Built with Anubis MCP + Bandit in Elixir.
A public instance is running at https://hexpm-mcp.fly.dev/mcp. Add it to your MCP client config (Claude Desktop, Claude Code, or any MCP client):
Three ways to get it, depending on how you want to use it.
A self-contained binary for macOS, Linux, and Windows. It bundles the Erlang runtime, so no Elixir toolchain is required.
The installer resolves the latest release, picks the asset for your OS and
architecture, verifies its sha256, and installs to ~/.local/bin. It will tell
you if that directory is not on your PATH.
To choose a different directory or pin a version, pass the flags through sh:
Windows uses the PowerShell equivalent:
Every release also
attaches the archives and a combined checksums-sha256.txt if you would rather
install by hand.
Verify it works:
See Usage for the MCP client config, and macOS: "Apple could not verify hexpm_mcp" if Gatekeeper blocks a browser-downloaded copy.
For the public API from iex or your own code, without running an MCP server:
| Tool | Description |
|---|---|
search | Search packages by name/keywords with sorting and pagination |
info | Package metadata, description, links, download stats |
versions | Version history with retirement status |
release | Release details, publisher, dependencies, build tools |
features | Optional dependencies and extra metadata |
dependencies | Dependency list for a version |
downloads | Download statistics (all-time, recent, weekly, daily) |
owners | Package maintainers |
readme | README content as markdown |
| Tool | Description |
|---|---|
docs | Module listing (table of contents) from hexdocs.pm |
doc_item | Full documentation for a specific module |
search_docs | Search within a package's documentation |
| Tool | Description |
|---|---|
compare | Side-by-side comparison of 2-5 packages |
health | Maintenance, popularity, quality, and risk assessment |
audit | Dependency risk audit (retired versions, staleness, bus factor, CVEs) |
alternatives | Find and compare similar packages |
dep_tree | Recursive dependency tree (BFS, max depth 5) |
| Tool | Description |
|---|---|
audit_mix_deps | Audit a deps list for staleness, retirement, CVEs, and bus factor |
upgrade_check | Check which deps have newer versions, flag breaking changes |
Curated discovery via the Elixir Toolbox API. Project results carry GitHub/GitLab stats, a popularity score, and health signals not exposed by the raw hex.pm API.
| Tool | Description |
|---|---|
toolbox_groups | Browse the curated taxonomy of groups and categories |
toolbox_group | List the categories in a single group |
toolbox_category | Curated projects in a category (sortable by name or downloads) |
toolbox_trending | Trending Elixir packages |
toolbox_search | Search packages with popularity and health signals |
Once installed:
The binary defaults to stdio, so args can be omitted. Run hexpm_mcp --help
for the full option list.
To serve over HTTP instead, pass --transport http. MCP is served at /mcp:
The binaries are not code-signed or notarized. macOS attaches a quarantine attribute to anything downloaded by a browser, and refuses to run an unsigned executable carrying it:
"hexpm_mcp" Not Opened. Apple could not verify "hexpm_mcp" is free of malware that may harm your Mac or compromise your privacy.
Choose Done, not Move to Trash, then clear the attribute:
The System Settings route works too: Privacy & Security, then Open Anyway next to the blocked-binary notice.
The installer above is unaffected, because curl does not set the quarantine
attribute. Only browser downloads do, so installing with curl or wget avoids
this entirely. If you do download the tarball in a browser, extract it with
tar -xzf from a terminal rather than double-clicking, since Archive Utility
propagates the attribute to the extracted files.
To run from a checkout, e.g. for development:
The public API is available directly from iex without the MCP server, either via the Hex dependency or straight from a checkout:
Every function returns {:ok, structured_map} or {:error, reason}.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/hex-pm-mcp)<a href="https://allmcps.com/mcp/hex-pm-mcp"><img src="https://allmcps.com/api/badge/hex-pm-mcp?style=directory" alt="Hex.pm MCP on AllMCPs" /></a>