Search Packages
search_packagesSearch package names across repositories and distributions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| distro | No | ||
| source | No | ||
| release | No |
search_packagesSearch package names across repositories and distributions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| distro | No | ||
| source | No | ||
| release | No |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no further behavioral context such as result limits, filtering semantics, or pagination behavior, but it is consistent with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff. It efficiently conveys the core action and scope, though it may be slightly under-specified for a 5-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 5 parameters, the description does not cover return values, default behaviors (e.g., limit default of 20), or how parameters interact. The single sentence leaves significant gaps for an agent needing to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meaning. It only implies a 'query' for package names and distro/source as filters, but does not explain the 'limit' or 'release' parameters, nor their formats or limitations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'search' and resource 'package names', with clear scope 'across repositories and distributions'. This distinguishes it from siblings like get_package (which retrieves a known package) and compare_package_versions (which compares versions).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., get_package for a known package, compare_package_versions for version comparisons). It only states what the tool does, leaving the agent to infer appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
The tool set covers many closely related operations: three 'compare_*' tools, four command-diagnostic tools, and several lookup tools that can overlap. Descriptions help but boundaries are not always obvious (e.g., identify_binary vs query_file_provides, lint_command vs suggest_fix), so an agent may select the wrong tool for a task.
All tool names follow a consistent verb_noun (or verb_noun_noun) pattern with snake_case. Verbs such as get, search, compare, and diagnose are used predictably, making the set's structure easy to learn.
22 tools is more than the typical well-scoped set (3-15), and the server covers a broad but unified domain. While each tool serves a distinct purpose, the granularity is slightly heavy—some comparison and diagnostic tools could potentially be merged.
The tool surface covers core intelligence workflows: searching, fetching details, comparing, resolving installs, migration planning, lifecycle checks, and vulnerability lookup. Minor gaps exist such as a direct 'list_distributions' tool, but agents can work around these using existing tools.