Skip to main content
Glama

Check one executable name

check_executable
Read-onlyIdempotent

Check if a CLI command name is taken across npm, PyPI, crates.io, Go, Debian, and more. Use for exact, case-sensitive collision detection in an indexed snapshot.

Instructions

Check one exact command name for a collision in the indexed snapshot.

    Use this for one candidate; use check_executables for several, and do not use it for fuzzy
    discovery—use search_similar_executables. name is case-sensitive and is not normalized;
    scope filters providers with AND semantics before the collision decision, so a scoped miss is
    non-exhaustive. The tool makes no live registry call and never runs or installs software; a
    hit returns providers, while a miss is clear only when coverage_scope is exhaustive.
    

Input Schema

NameRequiredDescriptionDefault
nameYesExact, case-sensitive executable command name, not a package name or filesystem path; must be 1-255 characters without path separators or control characters.
scopeNoOptional provider filters: source_type, package_system, distribution_family, distribution, distribution_release, language, registry, or ecosystem. All supplied key-value pairs must match; scoped negative results remain non-exhaustive.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.2
    • addedInput schema / properties / name / description
      Added value: +"Exact, case-sensitive executable command name, not a package name or filesystem path; must be 1-255 characters without path separators or control characters."
    • addedInput schema / properties / scope / description
      Added value: +"Optional provider filters: source_type, package_system, distribution_family, distribution, distribution_release, language, registry, or ecosystem. All supplied key-value pairs must match; scoped negative results remain non-exhaustive."
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, and the description still adds substantive behavior: no live registry call, never runs or installs software, hits return providers, and misses are only conclusive when coverage_scope is exhaustive. That is exactly the extra context the annotations do not carry.

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?

Front-loaded with purpose, then alternatives, then behavioral caveats, so an agent can stop reading early. It is somewhat dense and repeats the non-exhaustive-scope idea once, but no sentence is filler.

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

Completeness5/5

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

For a two-parameter lookup tool with full schema coverage and an output schema, the description covers routing, case-sensitivity, scope semantics, and the crucial exhaustiveness caveat on negative results. Nothing an agent needs to call it or interpret a miss is missing.

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?

Schema coverage is 100%, so baseline is 3, but the description adds meaning beyond the schema: name is case-sensitive and not normalized, and scope filters providers with AND semantics before the collision decision. It stops short of enumerating valid scope keys, leaving that to the schema.

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

Purpose5/5

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

The first sentence gives a specific verb, resource and scope: check one exact command name for a collision in the indexed snapshot. It explicitly distinguishes itself from check_executables (several) and search_similar_executables (fuzzy discovery), so an agent can route correctly without opening a schema.

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

Usage Guidelines5/5

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

It states when to use this tool ('one candidate'), when to use the sibling instead ('several' -> check_executables), and when not to use it at all ('do not use it for fuzzy discovery'). It also warns that a scoped miss is non-exhaustive, which is a prerequisite an agent needs before acting.

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