Skip to main content
Glama

Server Details

MCP server for hex.pm and hexdocs.pm: search, inspect, compare, and audit Elixir packages

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 54 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
joshrotenberg/hexpm-mcp
GitHub Stars
2
Server Listing
hexpm-mcp

TDQS

B3/5.0

Scored across 24 tools

Disambiguation4/5

Most tools target distinct resources or actions, such as docs vs doc_item vs search_docs vs readme. However, several pairs overlap enough to risk misselection, including audit vs audit_mix_deps, health vs audit, info vs release, and toolbox_group vs toolbox_groups. Descriptions generally clarify the differences, but an agent may still hesitate.

Naming Consistency4/5

All tool names use lowercase snake_case consistently, which keeps the set readable. The main inconsistency is grammatical: many names are plain nouns while others are verbs or verb_phrases, so there is no single predictable action_resource pattern across all 24 tools.

Tool Count3/5

24 tools is on the heavy side for a package registry MCP and exceeds the typical well-scoped range of 3-15. The set is broad and mostly justified by distinct Hex.pm and Toolbox functions, but it is still large enough to feel heavy.

Completeness4/5

The surface covers package search, metadata, versions, releases, docs, READMEs, owners, downloads, dependencies, audits, comparisons, alternatives, upgrades, and Toolbox taxonomy. Minor gaps remain, such as changelogs or license-focused queries, but core read-only Hex.pm workflows are well covered.

Available Tools

24 tools
alternativesCInspect

Find alternative packages

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not the criteria used to select alternatives, whether results are ranked, how many are returned, or whether an unknown package yields an error. Only 'read-only-ish list' is inferable from the verb.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with no filler. However, its brevity comes at the cost of substance rather than being tight-but-complete, so it falls short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description must explain what an 'alternative' result contains and how it is chosen. It omits both, leaving the tool's core semantics undefined for a caller who must decide between it and 23 siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter ('name', hex.pm package name) is fully documented in the schema. The description adds no format, case-sensitivity, or qualification details, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb ('Find') and resource ('alternative packages'), which is more than a tautology, but never says what makes a package 'alternative' (same category, similar features, comparable downloads) or that the input names the package being substituted. An agent cannot distinguish it cleanly from siblings like 'compare' or 'search'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance at all. It does not say whether to call this when a package is deprecated, unmaintained, or being replaced, nor does it point to any sibling (e.g. 'compare') for a different need.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

auditCInspect

Audit package dependencies for risks

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm
versionNoRelease version (defaults to latest)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden, and it says almost nothing: it never clarifies whether this is read-only, whether it contacts the registry/network, what 'risks' means (vulnerabilities, outdated deps, licenses), or what happens on failure. For a tool with zero annotation coverage and no output schema, this is thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single six-word sentence with zero padding and the key scope front-loaded. It is efficient, though the brevity shades toward under-specification given the crowded sibling set.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Parameters are fully covered by the schema and no output schema exists, so the description needn't explain returns. What it still leaves unresolved is the disambiguation from 'audit_mix_deps'/'dependencies' and the meaning of 'risks', which an agent needs in order to choose correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters ('name' and 'version' with its latest-default behavior) are already documented in the schema. The description adds no extra meaning beyond it, which is the expected baseline when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Audit package dependencies') plus an outcome ('for risks'), which is clearer than a bare name restatement. However, it does nothing to separate itself from the closely overlapping siblings 'audit_mix_deps' and 'dependencies', so an agent cannot tell which of the near-identical audit tools to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no conditions, and no mention of alternatives. With sibling tools named 'audit_mix_deps' and 'dependencies' sitting right next to it, the absence of any routing hint is a real gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

audit_mix_depsCInspect

Audit mix.exs dependencies for risks

ParametersJSON Schema
NameRequiredDescriptionDefault
depsYesMix.exs deps list as text, e.g. {:phoenix, "~> 1.7"}, {:ecto, "~> 3.10"}

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does not disclose what 'risks' means, whether the tool is read-only, whether it requires network access, or what the output looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is concise, though extremely terse, which slightly limits its structural value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and only a minimal description, the definition is incomplete for an audit tool. It does not explain what the audit returns or help the agent interpret results, leaving significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single parameter 'deps' is already documented with an example in the schema. The description adds no additional parameter meaning, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Audit mix.exs dependencies for risks.' This is clear enough to identify the operation. However, it does not distinguish this tool from siblings such as 'audit', 'dependencies', or 'upgrade_check', so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like dependencies, dep_tree, or upgrade_check. The description only restates the tool's purpose without context, exclusions, or routing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compareCInspect

Compare 2-5 packages side by side

ParametersJSON Schema
NameRequiredDescriptionDefault
packagesYesComma-separated list of package names (2-5 packages)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description carries the full burden, yet it says nothing about whether this is a read-only operation, what dimensions are compared, error behavior for invalid/unknown package names, or rate limits. A single sentence leaves the behavioral profile essentially undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler, which is the right shape for a simple tool. It is arguably under-specified rather than over-verbose, so it lands just shy of 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with full schema coverage and no output schema, a terse description is mostly sufficient, but it omits what the comparison actually returns or on which dimensions, which an agent would reasonably want to know.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the sole parameter is documented as a comma-separated list of 2-5 package names, so the description only echoes the schema. Per the high-coverage baseline, 3 is appropriate with no added syntax or format detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (compare) and resource (packages) with an explicit scope constraint (2-5). It doesn't name or exclude any of the many sibling tools (info, versions, health, dependencies), so an agent must infer why it would pick compare over those, keeping it below 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use context, no prerequisites, and no mention of alternatives among the ~23 siblings such as info or versions. The only guidance is the cardinality limit, which is really a parameter constraint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dependenciesBInspect

Get dependencies for a package version

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm
versionNoRelease version (defaults to latest)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral burden. It implies a read-only lookup but does not state whether results include transitive, dev, or optional dependencies, nor does it mention pagination, rate limits, or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is appropriately sized for a simple lookup tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but with no output schema the description could do more to explain the return shape or dependency semantics. It also leaves ambiguity with the sibling 'dep_tree', making the definition only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters ('name' and 'version'). The description adds no additional parameter semantics beyond what the schema provides, making the baseline score of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Get dependencies for a package version'), so the core action is clear. However, it does not distinguish this from the sibling tool 'dep_tree', which likely returns overlapping dependency information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives such as 'dep_tree', 'info', or 'versions'. Usage is only implied by the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dep_treeBInspect

Build a package dependency tree

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm
versionNoRelease version (defaults to latest)
max_depthNoMaximum depth to traverse (default 5, max 5)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral burden. It does not disclose whether the operation is read-only, whether it requires authentication or rate limits, or how the tree traversal behaves beyond the schema's max_depth parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It immediately conveys the tool's action and resource, and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple 3-parameter schema with full description coverage and no output schema, the description covers the core purpose. However, the absence of annotations and any usage guidance leaves gaps regarding when to select this tool over siblings and what behavior to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are fully documented in the schema. The description adds no additional syntactic or semantic detail beyond what the schema already provides, making a baseline score of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Build a package dependency tree.' An agent can infer this recursively compiles dependency information, which is distinct from sibling tools like 'dependencies'. However, it does not explicitly differentiate itself from all alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as 'dependencies', 'audit', or 'compare'. The description only states what it does, leaving the agent to infer context from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

doc_itemCInspect

Get documentation for a module or function

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm
moduleYesModule name (e.g. "Plug.Conn")
versionNoPackage version (defaults to latest)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral disclosure burden. 'Get' implies a read operation, but there is no information about permissions, rate limits, data source, or return behavior, and no output schema exists to supplement it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is concise but arguably too terse given the tool's context among many siblings.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should do more to explain return format, source, and routing versus alternatives. For a documentation lookup tool with many sibling options, one sentence is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters with examples. The description adds no additional semantic detail beyond restating that documentation is fetched for a module or function.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: get documentation for a module or function. It does not distinguish this tool from siblings such as docs or search_docs, and the 'or function' wording is not supported by a function parameter in the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like docs, readme, info, or search_docs. The usage context is only implied by the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docsCInspect

Browse a package documentation module listing

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm
versionNoPackage version (defaults to latest)

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden of behavioral disclosure and does not meet it. It says nothing about whether the result is paginated, how large a listing may be, whether a non-existent package errors, or what the response shape is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short phrase with no waste, but it is concise through under-specification rather than disciplined front-loading. There is no structure to speak of — just a noun phrase.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description is the only source of behavioral and usage context, and it is inadequate for a tool sitting among ~23 doc-related siblings. An agent cannot reliably tell when this tool applies or what it returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters ('name' and 'version') are already fully documented in the schema, including the 'defaults to latest' behavior. The description adds nothing beyond that, which merits the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a verb ('Browse') and a resource ('package documentation module listing'), so the general intent is graspable, but 'documentation module listing' is ambiguous — it is unclear whether this returns a list of modules, a module's contents, or a rendered doc page. It does not distinguish itself from close siblings like doc_item, search_docs, or readme.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus the many adjacent doc-related siblings (doc_item, search_docs, readme). No prerequisites, no exclusions, no indication of what makes this the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

downloadsBInspect

Get package download statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It implies a read-only operation via 'Get' but says nothing about side effects, authentication requirements, rate limits, or the structure of returned data, which is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is appropriately sized for a simple tool and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and full parameter documentation in the schema, the description is adequate but leaves gaps. With no output schema and no annotations, it could clarify what the download statistics represent (e.g., total counts, time series, per-version breakdown), but it provides only a high-level summary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% since the single 'name' parameter is fully documented in the schema as 'Package name on hex.pm'. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get') and resource ('package download statistics'), making the tool's function immediately clear. It does not explicitly differentiate itself from siblings like 'info' or 'health', but the resource is distinctive enough for an agent to distinguish it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'info', 'health', or 'versions'. There is no mention of context, prerequisites, or exclusions, leaving the agent to infer usage entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

featuresCInspect

Get optional features for a package release

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm
versionNoRelease version (defaults to latest)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description carries the full burden. 'Get' implies a read, but nothing is said about what happens for packages with no declared features, whether a missing version errors, or what the response contains. No output schema exists to cover the return shape either.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the resource front-loaded and no waste. Under-specification is the issue, not verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read tool with a fully documented schema, the description is minimally adequate, but it leaves the ambiguous term 'features' undefined and says nothing about error or empty-result behavior in the absence of annotations and an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents both 'name' and 'version' (including the default-to-latest behavior). The description adds no parameter detail beyond 'for a package release', so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: retrieving optional features for a package release. It is clear enough to act on, but it does not distinguish itself from siblings like 'info', 'release', or 'versions', which could plausibly also describe release metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to call this versus 'info' or 'release', and no prerequisites (e.g. that the package/version must exist). The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

healthCInspect

Run a comprehensive package health check

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It does not state that this is a read-only query, whether it makes network calls, whether hit rate limits apply, or what a 'comprehensive' check includes — only the read-only nature is weakly implied by 'health check'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler. Nothing is wasted and the core action appears immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description should say what the health check reports and roughly what it returns. 'Comprehensive' is the only hint, leaving scope and return content undefined for a tool whose value depends on what it surfaces.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter is fully described ('Package name on hex.pm'), so the description need not carry parameter burden. It adds nothing beyond the schema, which is acceptable at this coverage level — baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb and resource (run a package health check), so the general action is clear. However, 'health' is left undefined — nothing says whether it covers dependencies, versions, security, or documentation — so the agent cannot tell how it differs from siblings like audit, upgrade_check, or info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no mention of alternatives. With close siblings such as audit and audit_mix_deps in the list, the agent gets no signal for choosing this tool over those; usage must be inferred from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

infoCInspect

Get detailed package information

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only lookup but never states that, nor does it disclose response shape, caching, rate limits, or error behavior for nonexistent packages. For a tool with zero annotation coverage this is a notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with no filler. It is front-loaded and wastes nothing, though brevity here borders on under-specification rather than tight scoping.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and many domain-specific siblings, the description does not provide enough context for an agent to invoke confidently or predict the return. It should at least enumerate what 'detailed information' includes and how it differs from neighboring tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'name' parameter is documented in the schema as 'Package name on hex.pm'. The description adds no parameter detail beyond that, so the baseline 3 for fully-covered schemas applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource: fetches detailed information for a package. An agent can understand the operation, but the description never distinguishes this tool from siblings like versions, docs, owners, or readme, which all surface package-related data. Without that differentiation the agent cannot tell what 'detailed' uniquely covers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance at all. With siblings such as versions, docs, release, owners, and health available, the description gives no signal about when 'info' is the right choice versus a more specific tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ownersCInspect

Get package owners and maintainers

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description carries the full burden. 'Get' implies a read operation, but nothing is said about whether results are paginated, whether authentication is required, or what happens for a package with no listed maintainers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with zero filler and the resource front-loaded. It is appropriately sized for a one-parameter lookup, though it is arguably under-specified rather than optimally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-param read with no output schema, the definition is minimally viable but leaves the return shape (a list of names? roles? emails?) unstated, which an agent would need in order to use the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter and the schema documents it fully ('Package name on hex.pm'), so the schema does the heavy lifting. The description adds no syntax, format, or constraint detail beyond that baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource ('package owners and maintainers'), which disambiguates a terse tool name that could otherwise read as ownership management. It does not explicitly contrast with siblings like info or dependencies, but the resource is concrete enough for selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no indication of when to reach for this tool versus siblings such as info, versions, or dependencies, and states no preconditions. Usage must be inferred entirely from the resource noun.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

readmeCInspect

Get package README content

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm
versionNoPackage version (defaults to latest)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description carries the full burden. It doesn't say the return format (raw markdown vs rendered), whether a missing README errors or returns empty, or whether it is a safe read. For a no-annotation tool this is thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero waste. It is underspecified rather than bloated, so conciseness itself is fine.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with no output schema and no annotations, the description covers the core action but omits return format and error behavior. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (name, version) are already documented in the schema. The description adds no extra meaning, which is acceptable baseline behavior when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: fetch a package's README content. An agent knows what it returns, but the description makes no attempt to distinguish it from nearby siblings like docs or doc_item, which could also surface package documentation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance at all. Nothing tells an agent why to pick readme over docs, doc_item, or search_docs, which is a real ambiguity in this sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

releaseCInspect

Get detailed package release information

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm
versionYesRelease version (e.g. "1.8.5")

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. 'Get' implies a read-only operation, but nothing is said about what 'detailed' includes, error behavior for nonexistent versions, or any rate limits, so the agent gets no behavioral context beyond the verb.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no padding, and the purpose is front-loaded. It is efficient, though its brevity is partly a symptom of missing detail rather than disciplined editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read tool with a fully documented schema and no output schema, the description is minimally viable. It omits what the returned 'detailed' information covers and how it differs from sibling retrieval tools, leaving a modest gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both name and version are already documented with format hints (hex.pm package name, example version '1.8.5'). The description adds no extra meaning beyond what the schema provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb (Get) and resource (package release information), scoped by the required name and version parameters. It does not distinguish itself from close siblings like versions, info, or docs, so an agent must guess which one to call for version-specific detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No indication of when to use this instead of versions, info, or docs, and no prerequisites stated. The only implicit cue is that it requires an exact version, which an agent could infer from the schema but not from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_docsCInspect

Search within package documentation

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm
queryYesSearch query
versionNoPackage version (defaults to latest)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the full burden of behavioral disclosure. It states the tool searches documentation but does not describe read-only behavior, authentication needs, rate limits, result format, or pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is appropriately sized for a short search tool, even though it is under-specified elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description should provide more context about usage, return values, or relationship to sibling tools. It leaves the agent to infer when and how to use this search versus docs or doc_item.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents name, query, and version. The description adds no additional parameter semantics beyond 'package documentation,' making the baseline of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Search within package documentation.' This clearly identifies the operation, though it does not name or distinguish itself from siblings such as docs, doc_item, or search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like docs, doc_item, or the general search tool. It implies a context for searching documentation but offers no explicit conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toolbox_categoryCInspect

List projects in a Toolbox category

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoOrdering: "name" (alphabetical) or "downloads"; defaults to popularity order
groupYesGroup slug (e.g. "web", "ai")
categoryYesCategory slug within the group (e.g. "frameworks")

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description carries full burden. 'List' implies a read-only operation, but there is no disclosure of pagination, rate limits, permissions, or return shape. Only minimal safety context by implication.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with zero filler. However, the extreme brevity leaves the tool under-explained for its sibling context, though that is a completeness issue rather than a structure issue.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, and the schema fully documents all three parameters. Still, with no annotations and no output schema, the description could clarify return behavior, default paging, and how it differs from sibling listing tools. Adequate but thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already defines sort, group, and category. The description adds no parameter-level meaning beyond the schema, which is the expected baseline when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'List' and resource 'projects' scoped to a Toolbox category, so the basic action is unambiguous. It does not differentiate from sibling tools like toolbox_search or toolbox_trending, which also return project lists, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no stated alternatives, and no conditions that select this tool over siblings. The required 'group' and 'category' parameters imply a hierarchical browse, but the description never says so.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toolbox_groupCInspect

List categories in a Toolbox group

ParametersJSON Schema
NameRequiredDescriptionDefault
groupYesGroup slug (e.g. "web", "ai")

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, but it discloses nothing beyond the bare purpose: no return shape, no pagination, no auth or permission requirements, and no behavior for an unknown group slug. For a read-only listing this is a minor gap, but it is a gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, and the core action is front-loaded. It is appropriately sized for such a simple tool, though it could have spent one clause on sibling differentiation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations mean the description must supply context, yet it does not say what the categories are, how they relate to the sibling tools, or what happens on an invalid group. For a tool sitting in a very crowded namespace, it is under-complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'group' parameter is documented with an example slug ('web', 'ai'), so the schema does the heavy lifting. The description adds no meaning beyond that baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ('List categories in a Toolbox group'), so the basic purpose is legible. However, the sibling set contains near-identical names (toolbox_group, toolbox_groups, toolbox_category), and nothing here distinguishes them, leaving real ambiguity about what 'categories in a group' means versus those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus toolbox_groups, toolbox_category, or toolbox_search. No prerequisites (e.g. whether the group must already exist) are stated either.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toolbox_groupsCInspect

Browse the Elixir Toolbox taxonomy

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full behavioral burden. 'Browse' weakly implies a read-only operation, but no auth requirements, rate limits, pagination, return format, or side effects are disclosed. The description adds almost nothing beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short noun phrase with no wasted words, but it is also under-specified for a tool with many similarly named siblings. It is concise without being structured enough to aid selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and zero parameters, the description is the main source of context, yet it does not explain what groups are or when to choose this tool over the many sibling browse/search tools. An agent could easily select the wrong taxonomy-related tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. The schema is empty and parameter description coverage is irrelevant here; the description does not need to document any inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a broad verb-resource: 'Browse the Elixir Toolbox taxonomy.' However, it does not specify what a 'group' is, what browsing returns, or how this differs from siblings like toolbox_group, toolbox_category, and toolbox_search. The purpose is implied but not precisely distinguished.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no alternatives named, and no exclusions. The agent must guess whether to use this versus toolbox_group, toolbox_category, toolbox_search, or toolbox_trending based only on the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upgrade_checkCInspect

Check mix.exs dependencies for upgrades

ParametersJSON Schema
NameRequiredDescriptionDefault
depsYesMix.exs deps list as text, e.g. {:phoenix, "~> 1.7"}, {:ecto, "~> 3.10"}

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and no output schema, the description carries the full behavioral burden, yet it discloses almost nothing. It doesn't say whether the check hits the network, consults a lockfile, requires a mix.lock, how it handles private/hex deps, or what the result looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence, front-loaded with the verb and scope, with no wasted words. It is terse to the point of being under-specified, but the structure itself is clean.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description should explain what a 'check' yields (outdated versions, available upgrades, warnings). Nothing about the return shape or prerequisites is given, leaving an agent unable to predict the outcome.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'deps' parameter is documented with a concrete example of the expected Mix deps text format. The description adds nothing beyond the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Check') and resource ('mix.exs dependencies for upgrades'), so an agent knows it inspects dependency versions for available upgrades. It does not, however, distinguish itself from sibling tools like audit_mix_deps or dependencies, which sound closely related.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus the many sibling alternatives such as audit_mix_deps, dependencies, dep_tree, or versions. The agent must infer the intended context from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

versionsCInspect

List all package versions

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name on hex.pm

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral burden. It implies a read-only listing but omits whether the output is paginated, sorted, or requires authentication, and gives no error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise and front-loaded with no wasted words, but its brevity borders on under-specification rather than elegant conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter listing tool with no output schema or annotations, the description is minimally adequate: an agent can invoke it correctly. It could be improved with output format or sibling distinction, but nothing critical is missing for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds no parameter meaning beyond what the schema already provides ('Package name on hex.pm'). Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List ... package versions'), making the action clear. However, it does not differentiate from siblings like 'info' or 'release', which may also return version-related data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as 'info' or 'release'. The agent must infer that it is for retrieving the full version history of a package.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changeddoc_item1 field changed
      • changedInput schema / required
        Previous value: -[
        -  "module",
        -  "name"
        -]New value: +[
        +  "name",
        +  "module"
        +]
    • Changedtoolbox_groups1 field changed
      • removedInput schema / properties
        Removed value: -{}
  2. 5 tool updates
    • Addedtoolbox_category
    • Addedtoolbox_group
    • Addedtoolbox_groups
    • Addedtoolbox_search
    • Addedtoolbox_trending
  3. 19 tool updates
    • First observedalternatives
    • First observedaudit
    • First observedaudit_mix_deps
    • First observedcompare
    • First observeddep_tree
    • First observeddependencies
    • First observeddoc_item
    • First observeddocs
    • First observeddownloads
    • First observedfeatures
    • First observedhealth
    • First observedinfo
    • First observedowners
    • First observedreadme
    • First observedrelease
    • First observedsearch
    • First observedsearch_docs
    • First observedupgrade_check
    • First observedversions

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.