Hex.pm MCP
by joshrotenberg · remote · no sign-in to list tools · v0.3.1 · published by GitHub user joshrotenberg
MCP server for hex.pm and hexdocs.pm: search, inspect, compare, and audit Elixir packages
24 tools: 4 change things and 20 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads20Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http hexpm https://hexpm-mcp.fly.dev/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
24 tools
Changes things 4Claude Code: ask
auditAudit package dependencies for risksNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Audit package dependencies for risks
audit_mix_depsAudit mix.exs dependencies for risksNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Audit mix.exs dependencies for risks
healthRun a comprehensive package health checkNo findings
Why it is in this group
- The description's first verb is "run": a word for a change.
Description, as the server wrote it Run a comprehensive package health check
upgrade_checkCheck mix.exs dependencies for upgradesNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check mix.exs dependencies for upgrades
Only reads 20Claude Code: allow
alternativesFind alternative packagesNo findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Find alternative packages
compareCompare 2-5 packages side by sideNo findings
Why it is in this group
- The name "compare" says "compare": a word for reading.
Description, as the server wrote it Compare 2-5 packages side by side
dep_treeBuild a package dependency treeNo findings
Why it is in this group
- The name "dep_tree" says "tree": a word for reading.
Description, as the server wrote it Build a package dependency tree
dependenciesGet dependencies for a package versionNo findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get dependencies for a package version
doc_itemGet documentation for a module or functionNo findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get documentation for a module or function
docsBrowse a package documentation module listingNo findings
Why it is in this group
- The description's first verb is "browse": a word for reading.
Description, as the server wrote it Browse a package documentation module listing
downloadsGet package download statisticsNo findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get package download statistics
featuresGet optional features for a package releaseNo findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get optional features for a package release
infoGet detailed package informationNo findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get detailed package information
ownersGet package owners and maintainersNo findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get package owners and maintainers
readmeGet package README contentNo findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get package README content
releaseGet detailed package release informationNo findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get detailed package release information
searchSearch hex.pm packagesNo findings
Why it is in this group
- The name "search" says "search": a word for reading.
Description, as the server wrote it Search hex.pm packages
search_docsSearch within package documentationNo findings
Why it is in this group
- The name "search_docs" says "search": a word for reading.
Description, as the server wrote it Search within package documentation
toolbox_categoryList projects in a Toolbox categoryNo findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List projects in a Toolbox category
toolbox_groupList categories in a Toolbox groupNo findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List categories in a Toolbox group
toolbox_groupsBrowse the Elixir Toolbox taxonomyNo findings
Why it is in this group
- The description's first verb is "browse": a word for reading.
Description, as the server wrote it Browse the Elixir Toolbox taxonomy
toolbox_searchSearch packages through Elixir ToolboxNo findings
Why it is in this group
- The name "toolbox_search" says "search": a word for reading.
Description, as the server wrote it Search packages through Elixir Toolbox
toolbox_trendingList trending Elixir packagesNo findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List trending Elixir packages
versionsList all package versionsNo findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List all package versions
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.3.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http hexpm https://hexpm-mcp.fly.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__hexpm__alternatives",
"mcp__hexpm__compare",
"mcp__hexpm__dep_tree",
"mcp__hexpm__dependencies",
"mcp__hexpm__doc_item",
"mcp__hexpm__docs",
"mcp__hexpm__downloads",
"mcp__hexpm__features",
"mcp__hexpm__info",
"mcp__hexpm__owners",
"mcp__hexpm__readme",
"mcp__hexpm__release",
"mcp__hexpm__search",
"mcp__hexpm__search_docs",
"mcp__hexpm__toolbox_category",
"mcp__hexpm__toolbox_group",
"mcp__hexpm__toolbox_groups",
"mcp__hexpm__toolbox_search",
"mcp__hexpm__toolbox_trending",
"mcp__hexpm__versions"
],
"ask": [
"mcp__hexpm__audit",
"mcp__hexpm__audit_mix_deps",
"mcp__hexpm__health",
"mcp__hexpm__upgrade_check"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as hexpm. Review it before you use it.
