Skip to main content
Glama

update_agent

Update part of an agent — fields you don't pass stay as they are.

⚠️ List-field semantics, don't mix them up: `tools=[...]` / `skills=[...]` /
`knowledge_bases=[...]` are **full-list replacement** — items you didn't read first get pushed
out. To "add one / remove one", use `add_tools` / `remove_tools` (and add_/remove_skills,
add_/remove_knowledge_bases): incremental, idempotent, leaves the rest untouched.
After the call, **read the response** to verify the final list — don't announce "enabled" just
because the call succeeded.

Also: tools can ride on a skill (the tools field of create_skill/update_skill) — once the skill
is attached to an agent, its bound tools join the chat-time whitelist automatically, but they
**do not appear in the agent's own tools list**.

`auto_suggest=True` makes the agent propose 1–3 clickable follow-up questions after every turn
(rendered above the composer; clicking one sends it). `suggest_prompt` is optional steering for
those questions ("always move toward booking a demo") — leave it empty and they are written
from the conversation alone. Costs one extra short LLM call per turn.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
soulNo
taskNo
modelNo
toolsNo
skillsNo
greetingNo
add_toolsNo
ask_formsNo
publishedNo
reasoningNo
add_skillsNo
auto_suggestNo
remove_toolsNo
auto_greetingNo
remove_skillsNo
suggest_promptNo
knowledge_basesNo
grounding_requiredNo
add_knowledge_basesNo
remove_knowledge_basesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / auto_suggest
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Auto Suggest"
      +}
    • addedInput schema / properties / suggest_prompt
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Suggest Prompt"
      +}
  2. Changed6 schema fields changed
    • addedInput schema / properties / add_knowledge_bases
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Add Knowledge Bases"
      +}
    • addedInput schema / properties / add_skills
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Add Skills"
      +}
    • addedInput schema / properties / add_tools
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Add Tools"
      +}
    • addedInput schema / properties / remove_knowledge_bases
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Remove Knowledge Bases"
      +}
    • addedInput schema / properties / remove_skills
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Remove Skills"
      +}
    • addedInput schema / properties / remove_tools
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Remove Tools"
      +}
  3. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden. It discloses that list fields (tools, skills, knowledge_bases) are full-list replacements, that skill-bound tools don't appear in the agent's own tools list, and that auto_suggest incurs an extra LLM call per turn. It also warns against assuming success equals 'enabled,' which is a valuable non-obvious behavioral trait.

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?

The description is long but every section earns its place: list-field warning, verification guidance, skill-bound tools note, and auto_suggest behavior. It is front-loaded with the most critical partial-update semantics and uses formatting (bold, warning emoji) to draw attention. For a 21-parameter tool, this length is justified, though a slightly tightened version could be easier to scan.

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?

The tool has 21 parameters, no annotations, and no schema-level descriptions. The description covers the most error-prone areas (list-field replacement vs incremental, verification, skill-bound tools, auto_suggest cost). An output schema exists for return values, so the description need not explain those. Missing details on a few boolean fields are minor since their names imply their purpose.

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?

The schema has 0% description coverage, so the description must compensate. It thoroughly explains the nuanced semantics of tools/skills/knowledge_bases (full-list) versus add_/remove_ variants (incremental), and describes auto_suggest and suggest_prompt in detail. However, it does not cover every parameter (e.g., soul, task, model, published), though those are relatively self-explanatory from their names and types.

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 'Update **part** of an agent — fields you don't pass stay as they are,' which clearly identifies the action (partial update) and resource (agent). This distinguishes it from siblings like create_agent, get_agent, and list_agents, and the partial-update semantics prevent confusion with full replacement.

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 explicitly instructs when to use alternatives: 'To "add one / remove one", use add_tools / remove_tools (and add_/remove_skills, add_/remove_knowledge_bases): incremental, idempotent, leaves the rest untouched.' It also advises reading the response after the call to verify the final list, giving concrete post-usage guidance.

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