Skip to main content
Glama

compose_capabilities

Read-onlyIdempotent

Plan from declared available/goal contracts within tool, locality and search bounds. Returns dependencies, blockers and existing-tool bindings. Cost counts graph steps, not speed, price or quality. Runs no engines; execution validates arguments.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
goalsYes
inputsNo
adaptersNo
availableYes
constraintsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / constraints / properties / allowed_tools / maxItems
      Previous value: -19New value: +20
  2. Changed1 schema field changed
    • changedInput schema / properties / constraints / properties / allowed_tools / maxItems
      Previous value: -14New value: +19
  3. Changed2 schema fields changed
    • addedInput schema / properties / adapters
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "route_durations.v1": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "speed_kmh": {
      +          "maximum": 150,
      +          "minimum": 1,
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "speed_kmh"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
    • changedInput schema / properties / constraints / properties / allowed_tools / maxItems
      Previous value: -13New value: +14
  4. Added

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive and closed-world, so the safety profile is covered. The description adds genuine behavioral value beyond that: it discloses the return contents (dependencies, blockers, existing-tool bindings), clarifies that cost counts graph steps rather than speed/price/quality, and states it runs no engines. The remaining gap is response structure/pagination, which is minor given the closed-world read-only annotations.

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?

Three tightly packed sentences, front-loaded with the core purpose and return behavior, with no filler. The density is arguably excessive but every sentence conveys distinct information.

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

Completeness2/5

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

For a complex planning tool with five parameters, nested objects (adapters, constraints), 0% schema coverage and no output schema, the description is too thin. It omits the meanings of inputs/adapters and constraint options, and gives no guidance on interpreting the returned plan, leaving significant gaps an agent must guess at.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden. It only alludes to 'goals', 'available' and the constraint surface (tool, locality, search bounds); the 'inputs' and 'adapters' parameters and the specific constraint keys (max_steps, local_only, allowed_tools, max_search_states, max_structural_cost) are left entirely undocumented.

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 does state a specific verb (plan) over a named resource (capabilities/contracts), distinguishing it loosely as a planning-not-executing tool. However the jargon-laden phrasing ('declared available/goal contracts', 'locality bounds') is hard to parse, and it never differentiates itself from close siblings like list_capabilities, list_composition_capabilities or execute_composition.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no alternative tool is named. The phrase 'execution validates arguments' faintly gestures at execute_composition but leaves the agent to infer the workflow on its own.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources