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?
With annotations already declaring readOnlyHint=true, idempotentHint=true, and destructiveHint=false, the description adds meaningful behavioral context by specifying exactly what 'toolkit state' contains: installed MCPs, connection statuses, connected accounts, and exposed catalog tool counts. This fully communicates the observable behavior without contradicting any annotation.
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 that wastes no words. It starts with the action verb 'Returns,' immediately states the subject, and packs all relevant information into a succinct, readable list.
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 zero-parameter, read-only informational tool without an output schema, the description is complete: it covers what is returned, the scope of the state, and the level of detail. No additional explanation about side effects, prerequisites, or return formats is necessary given the annotations.
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?
The tool has zero parameters and schema coverage is 100%, so there is no parameter semantics for the description to add. The absence of parameters is self-evident from the schema, and the description appropriately focuses on the return value instead.
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 ('Returns') and names the exact resource ('current toolkit state') while enumerating the four concrete pieces of information delivered (installed MCPs, connection status, connected accounts, catalog tool counts). This clearly distinguishes it from sibling tools like show_version, crm_usage, or marketplace, which target different information.
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 makes it obvious when to call this tool: whenever an agent needs to inspect the current toolkit state or assess MCP connectivity and available accounts. It does not explicitly state when not to use it or name alternatives, but the context is clear enough that no competing sibling serves the same purpose.
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 CRM tools are mostly distinct (CRUD, file operations, schema management), but there is potential confusion between crm_describe, crm_get_object, and crm_list_objects, and between crm_upload_file/crm_upload_from_url/crm_confirm_upload. However, descriptions clarify these somewhat. The set also includes auxiliary tools (authenticate, connect, marketplace, etc.) that are clearly separate.
Most tools follow the crm_verb_noun pattern (crm_create_records, crm_delete_records, crm_update_records, etc.). Some deviations like authenticate, connect, toolkit_info, and show_version lack the crm_ prefix, and bulk support is noted in descriptions but not in names. Still, the convention is fairly consistent.
With 36 tools, the count is on the heavier side. The CRM-specific tools (about 27) cover CRUD, schema, relationships, files, and usage, which is reasonable for a full CRM API. However, the inclusion of platform-level tools (marketplace, report_bug, show_version, toolkit_info) adds breadth that goes beyond CRM-specific functionality, making the set feel larger than necessary.
The tool surface is quite complete: full CRUD for records, objects, fields, files, relationships, search, and usage. The descriptions mention validations and bulk support, and the crm_describe tool prompts agents to understand schema first. Gaps are minimal—for instance, no explicit bulk delete for records but crm_delete_records supports bulk via ids. Overall, the domain is well-covered.