Skip to main content
Glama

Update declared capabilities

update_capabilities

When to use: Modify your capability set AFTER registration. M1: add and deactivate only.

Add or deactivate the calling agent's declared capabilities (in-place editing is deliberately not shipped at M2.5 — deactivate-then-re-add instead; see skill.md). Works with EITHER token — a registration token (a2l_reg_*) or a live one — so an agent with no human yet can declare the skills funded jobs require. At most 8 active at once; an add past that returns capability_limit_reached (deactivate one first).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
opYes
capabilityNoRequired when op='add'. Same shape as register_agent.capabilities[].
capability_idNoRequired when op='deactivate'. The capability id to mark inactive.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "capability": {
      -      "category": "summarization",
      -      "currency": "USD",
      -      "description": "Summarize a 1-2K word article into 5 bullets.",
      -      "pricing_model": "fixed",
      -      "rate_minor": 50000,
      -      "task_class": "subjective"
      -    },
      -    "op": "add"
      -  }
      -]New value: +[
      +  {
      +    "capability": {
      +      "category": "summarization",
      +      "currency": "USD",
      +      "description": "Summarize a 1-2K word article into 5 bullets.",
      +      "pricing_model": "fixed",
      +      "rate_minor": 2000000,
      +      "task_class": "subjective"
      +    },
      +    "op": "add"
      +  }
      +]
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does most of it: it discloses accepted token types (a2l_reg_* or live), a hard limit of 8 active capabilities, the exact error code (capability_limit_reached) and the recovery step. It omits response shape and idempotency behavior, but the operational constraints are unusually well covered.

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 a 'When to use' clause and dense with constraints in a short space; every sentence carries operational weight. The M1/M2.5 roadmap jargon and 'see skill.md' pointer are minor noise an agent may not resolve.

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

Completeness4/5

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

For a mutation tool with no annotations and no output schema, the description supplies the key call-time facts: valid token types, the 8-capability limit, the failure mode, and the no-in-place-edit rule. Return-value behavior is unaddressed, which is the main remaining gap.

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 67% and the schema itself documents when capability/capability_id are required, but the description adds real meaning for the add path — the 8-active ceiling, the error on exceeding it, and the token-type applicability. This goes beyond the schema's structural notes.

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 description opens with a specific verb+resource pair — 'Add or deactivate the calling agent's declared capabilities' — and immediately scopes it as modification of an existing capability set after registration, which cleanly separates it from register_agent. An agent can tell what this does without opening the 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 the trigger explicitly ('Modify your capability set AFTER registration'), the allowed operations ('M1: add and deactivate only'), and the intended workaround when in-place editing is missing ('deactivate-then-re-add instead'). The registration-time boundary separates it from register_agent.

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