toolkit_info
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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, and the description's 'Returns' language strongly corroborates a safe, side-effect-free operation with no contradiction. The description adds valuable behavioral context by specifying exactly which state dimensions are exposed (installed MCPs, connection status, accounts, catalog tool counts), going beyond what the annotations state. A full mark would have been possible if it had also mentioned error behavior when MCPs are unreachable, but for a read-only introspection tool this is strong.
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?
A single sentence that front-loads the core idea ('Returns the current toolkit state'), immediately follows with a colon, and delivers three crisp, parallel details in a list format ('installed MCPs', 'connection status', 'accounts connected', 'catalog tool counts'). There is not a single wasted word, and the structure mirrors the expected return object's shape, making it trivially parseable.
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?
For a tool with zero parameters, a small return surface, and thorough annotations covering the safety profile, the description carries exactly the right weight. The only gap is the lack of mention of failure modes (e.g., what happens when an MCP is unreachable mid-scan, or whether this triggers any network calls that could hang). However, given the 0-param surface and the strong annotation coverage, the description is nearly complete for practical purposes.
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?
With 0 parameters and 100% schema description coverage, the rubric's guidance is to baseline at 4 since there's semantic burden carried by the description (there is no parameter schema to annotate). The description correctly focuses its energy on cataloging what the return value contains rather than trying to explain inputs that don't exist. This is exactly the right allocation of effort.
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?
Uses a specific verb ('Returns') plus a concrete resource ('current toolkit state') followed by three precisely enumerated facets: installed MCPs, connection status, associated accounts, and exposed catalog tool counts. This level of specificity clearly distinguishes it from siblings like show_version (which returns version info) and connect/authenticate (which are state-changing operations). The description makes it unmistakable what this tool does and doesn't do relative to its siblings.
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 implies when to use the tool (whenever an agent needs a snapshot of the toolkit state) but provides no explicit when-not-to-use guidance or named alternatives. Given the existence of similarly-introspective siblings like show_version, explicit exclusionary language (e.g., 'for version-only info, use show_version instead') would have elevated this. The usage context is clear but entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.