Skip to main content
Glama

toolbox

Discover, describe, and call MCP tools on demand, reusing schema handles and retrieving paged output. Manage tool bindings with profiles and enable/disable operations.

Instructions

Discover and call tools without loading every schema. Use describe, preferably compact with tool_operation, then call with arguments. Reuse schema_handle. output retrieves preserved paged command output. list shows tools; enable/disable/profile manage direct bindings. Profiles: core-lite, core, coding, remote, analysis, full.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toolNoTarget tool for describe/call
toolsNoTool names for enable/disable
groupsNoGroups for enable/disable: core, file, coding, system, remote, data, analysis, windows
compactNoReturn a reduced describe schema
profileNoProfile to add; core-lite, core, coding, remote, analysis, or full. core-lite is smallest at startup
argumentsNoTarget arguments for call; describe first if unknown
operationNolist (default), describe, call, output, enable, disable, or profile
output_idNoRaw output ID for output
output_offsetNoOutput character offset; default 0
schema_handleNoPrior handle; short acknowledgement if unchanged
tool_operationNoOperation-specific compact schema, e.g. execute
output_max_charsNoOutput character limit; default 32768, max 130048

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changedv0.9.7
    • changedInput schema / properties / arguments / description
      Previous value: -"Target tool arguments for operation=call. Use operation=describe first when the schema is unknown"New value: +"Target arguments for call; describe first if unknown"
    • changedInput schema / properties / compact / description
      Previous value: -"Return a reduced input schema: true or false. Pair with tool_operation for operation-specific fields"New value: +"Return a reduced describe schema"
    • changedInput schema / properties / groups / description
      Previous value: -"Tool groups to enable or disable: core, file, coding, system, remote, data, analysis, windows"New value: +"Groups for enable/disable: core, file, coding, system, remote, data, analysis, windows"
    • changedInput schema / properties / operation / description
      Previous value: -"Operation: list (default), describe, call, output, enable, disable, profile. Prefer describe/call because they work even when the MCP client ignores dynamic tool-list changes"New value: +"list (default), describe, call, output, enable, disable, or profile"
    • changedInput schema / properties / output_id / description
      Previous value: -"Preserved raw command output ID for operation=output"New value: +"Raw output ID for output"
    • changedInput schema / properties / output_max_chars / description
      Previous value: -"Maximum raw-output characters returned by operation=output. Default: 32768, Max: 130048"New value: +"Output character limit; default 32768, max 130048"
    • changedInput schema / properties / output_offset / description
      Previous value: -"Character offset for operation=output paging. Default: 0"New value: +"Output character offset; default 0"
    • changedInput schema / properties / profile / description
      Previous value: -"Profile for operation=profile: core, coding, remote, analysis, full"New value: +"Profile to add; core-lite, core, coding, remote, analysis, or full. core-lite is smallest at startup"
    • changedInput schema / properties / schema_handle / description
      Previous value: -"Handle returned by an earlier describe; matching handles return only an unchanged acknowledgement"New value: +"Prior handle; short acknowledgement if unchanged"
    • changedInput schema / properties / tool / description
      Previous value: -"Single tool name for operation=describe or call"New value: +"Target tool for describe/call"
    • changedInput schema / properties / tool_operation / description
      Previous value: -"Target tool operation for compact describe, for example execute or upload"New value: +"Operation-specific compact schema, e.g. execute"
    • changedInput schema / properties / tools / description
      Previous value: -"Individual tool names to enable or disable"New value: +"Tool names for enable/disable"
  2. Changed3 schema fields changedv0.9.6
    • addedInput schema / properties / compact
      Added value: +{
      +  "description": "Return a reduced input schema: true or false. Pair with tool_operation for operation-specific fields",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / schema_handle
      Added value: +{
      +  "description": "Handle returned by an earlier describe; matching handles return only an unchanged acknowledgement",
      +  "type": "string"
      +}
    • addedInput schema / properties / tool_operation
      Added value: +{
      +  "description": "Target tool operation for compact describe, for example execute or upload",
      +  "type": "string"
      +}
  3. Addedv0.9.5

TDQS

C2.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that output is paged and preserved, that describe can be compact, and that profile management exists. However, it does not reveal side effects of enable/disable/profile operations (like whether they alter persistent state), auth requirements, or any output format details. For a tool that can modify bindings and profiles, more transparency is needed, but the basic behavioral facts are present.

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

Conciseness2/5

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

The description is dense but poorly structured: it front-loads operational guidance but then lists operations and profiles in an unorganized way. Each sentence adds info, but the flow is jumbled, mixing instructions, operation list, and profile list without clear separation. It's not concise enough for the complexity; ideally it would use a structured list for operations and profiles.

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 complexity (12 parameters, multiple operations, nested objects), the description covers the high-level workflow and mentions key parameters and profiles. However, it lacks details on return values (no output schema), side effects of enable/disable/profile, and edge cases like how output_id relates to output operation. It is minimally adequate but leaves gaps that an agent might need to infer or test.

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 each parameter already has a description in the schema. The description adds some usage context around certain parameters (e.g., 'compact' and 'tool_operation' relationship, 'profile' list), but it doesn't add meaning beyond the schema for most parameters. It does clarify the default operation is 'list' and that 'schema_handle' might return a short acknowledgement, but that's marginal. With full coverage, baseline 3 is appropriate.

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 lists multiple operations ('list', 'describe', 'call', etc.) and the tool name 'toolbox' hints at a dispatch tool, but the core purpose is not stated as a single verb+resource. It bundles several operations, making the primary purpose ambiguous. The list of sibling tools (read, write, edit) are specific file operations, while this one is a general dispatcher, but that distinction is implied rather than explicit.

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

Usage Guidelines3/5

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

The description gives some guidance on when to use certain operations: 'Use describe, preferably compact with tool_operation, then call with arguments' and 'output retrieves preserved paged command output'. However, it does not explicitly contrast with alternatives or state exclusions. It implies that for performance, compact describe is preferred, but it doesn't say when NOT to use this tool vs. siblings; it assumes the agent knows this is a dispatch tool.

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