Hex.pm MCP
MCP server for hex.pm and hexdocs.pm: search, inspect, compare, and audit Elixir packages
Should I use this
Quality & Safety
Findings (2)
- LOWin compare
- LOWin toolbox_groups
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"hexpm-mcp": {
"url": "https://hexpm-mcp.fly.dev/mcp"
}
}
}Remote endpoints
https://hexpm-mcp.fly.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (24)
🟢alternatives(name)
Find alternative packages
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
}
},
"required": [
"name"
]
}⚪audit(name, version)
Audit package dependencies for risks
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
},
"version": {
"description": "Release version (defaults to latest)",
"type": "string"
}
},
"required": [
"name"
]
}⚪audit_mix_deps(deps)
Audit mix.exs dependencies for risks
Input Schema
{
"type": "object",
"properties": {
"deps": {
"description": "Mix.exs deps list as text, e.g. {:phoenix, \"~> 1.7\"}, {:ecto, \"~> 3.10\"}",
"type": "string"
}
},
"required": [
"deps"
]
}⚪compare(packages)
Compare 2-5 packages side by side
Input Schema
{
"type": "object",
"properties": {
"packages": {
"description": "Comma-separated list of package names (2-5 packages)",
"type": "string"
}
},
"required": [
"packages"
]
}⚪dep_tree(max_depth, name, version)
Build a package dependency tree
Input Schema
{
"type": "object",
"properties": {
"max_depth": {
"description": "Maximum depth to traverse (default 5, max 5)",
"type": "integer"
},
"name": {
"description": "Package name on hex.pm",
"type": "string"
},
"version": {
"description": "Release version (defaults to latest)",
"type": "string"
}
},
"required": [
"name"
]
}🟢dependencies(name, version)
Get dependencies for a package version
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
},
"version": {
"description": "Release version (defaults to latest)",
"type": "string"
}
},
"required": [
"name"
]
}🟢doc_item(module, name, version)
Get documentation for a module or function
Input Schema
{
"type": "object",
"properties": {
"module": {
"description": "Module name (e.g. \"Plug.Conn\")",
"type": "string"
},
"name": {
"description": "Package name on hex.pm",
"type": "string"
},
"version": {
"description": "Package version (defaults to latest)",
"type": "string"
}
},
"required": [
"name",
"module"
]
}⚪docs(name, version)
Browse a package documentation module listing
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
},
"version": {
"description": "Package version (defaults to latest)",
"type": "string"
}
},
"required": [
"name"
]
}🟢downloads(name)
Get package download statistics
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
}
},
"required": [
"name"
]
}🟢features(name, version)
Get optional features for a package release
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
},
"version": {
"description": "Release version (defaults to latest)",
"type": "string"
}
},
"required": [
"name"
]
}🟢health(name)
Run a comprehensive package health check
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
}
},
"required": [
"name"
]
}🟢info(name)
Get detailed package information
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
}
},
"required": [
"name"
]
}🟢owners(name)
Get package owners and maintainers
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
}
},
"required": [
"name"
]
}🟢readme(name, version)
Get package README content
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
},
"version": {
"description": "Package version (defaults to latest)",
"type": "string"
}
},
"required": [
"name"
]
}🟢release(name, version)
Get detailed package release information
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
},
"version": {
"description": "Release version (e.g. \"1.8.5\")",
"type": "string"
}
},
"required": [
"name",
"version"
]
}🟢search(page, query, sort)
Search hex.pm packages
Input Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number (default 1)",
"type": "integer"
},
"query": {
"description": "Search query string",
"type": "string"
},
"sort": {
"description": "Sort by: name, recent_downloads, total_downloads, inserted_at, updated_at",
"type": "string"
}
},
"required": [
"query"
]
}🟢search_docs(name, query, version)
Search within package documentation
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
},
"query": {
"description": "Search query",
"type": "string"
},
"version": {
"description": "Package version (defaults to latest)",
"type": "string"
}
},
"required": [
"name",
"query"
]
}🟢toolbox_category(category, group, sort)
List projects in a Toolbox category
Input Schema
{
"type": "object",
"properties": {
"category": {
"description": "Category slug within the group (e.g. \"frameworks\")",
"type": "string"
},
"group": {
"description": "Group slug (e.g. \"web\", \"ai\")",
"type": "string"
},
"sort": {
"description": "Ordering: \"name\" (alphabetical) or \"downloads\"; defaults to popularity order",
"type": "string"
}
},
"required": [
"group",
"category"
]
}🟢toolbox_group(group)
List categories in a Toolbox group
Input Schema
{
"type": "object",
"properties": {
"group": {
"description": "Group slug (e.g. \"web\", \"ai\")",
"type": "string"
}
},
"required": [
"group"
]
}⚪toolbox_groups
Browse the Elixir Toolbox taxonomy
Input Schema
{
"type": "object"
}🟢toolbox_search(query)
Search packages through Elixir Toolbox
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "Search query string",
"type": "string"
}
},
"required": [
"query"
]
}🟢toolbox_trending(limit)
List trending Elixir packages
Input Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Maximum number of projects to return",
"type": "integer"
}
}
}🟢upgrade_check(deps)
Check mix.exs dependencies for upgrades
Input Schema
{
"type": "object",
"properties": {
"deps": {
"description": "Mix.exs deps list as text, e.g. {:phoenix, \"~> 1.7\"}, {:ecto, \"~> 3.10\"}",
"type": "string"
}
},
"required": [
"deps"
]
}🟢versions(name)
List all package versions
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Package name on hex.pm",
"type": "string"
}
},
"required": [
"name"
]
}Community
Evidence