Skip to main content
Glama

CallMCP — Phone Call MCP Server

Update Agent Configuration

update_agent_config
DestructiveIdempotent

Edit an agent's live runtime configuration — greeting/first message, inbound or SMS prompt, the after-call summary and lead-score instructions, voice, language model, max call duration, and call-transfer settings — routed through the governed update broker so every change keeps the consent + audit trail (a versioned config snapshot and change history). Read get_agent_config first; inbound_prompt replaces the whole prompt. Each applied change is saved as a version (list_config_versions); rollback_config can restore a version's greeting, voice, prompt, model and summary/scoring, but not transfer settings or call length. Mutating changes need an idempotency_key. When the business owner or an admin is signed in through this connector, their own changes apply immediately. High-impact live changes made with an API key or on someone else's behalf queue for the owner's review instead (the owner is notified with a review link). configure_agent_business_rules edits a single named operational-rules section.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "agent_id": "<agent_id>"
    },
    "name": "update_agent_config"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoAgent display name.
actorNoDo not set. Kept for older clients; the signed-in connection identifies you.
modelNoLanguage model selection: { provider, model, temperature }.
voiceNoVoice selection: { provider, voiceId }. Use voice_catalog_id instead when you can.
reasonNoWhy this change is being made. Kept in the change history.
dry_runNoValidate and summarize the change without writing.
agent_idYesKaiCalls agent ID to update.
authorityNoDo not set. It cannot approve a change: the owner approves through review_url or by being signed in.
sms_promptNoSMS reply prompt.
source_refNoExternal source reference, such as a support ticket or conversation ID.
business_idNoBusiness ID. Required when the agent has multiple accessible assignments.
max_durationNoMaximum call duration in seconds.
first_messageNoSpoken greeting / first message callers hear.
inbound_promptNoThe whole inbound prompt; it replaces the current one. Start from inbound_prompt in get_agent_config, never from a saved version.
idempotency_keyNoRequired for writes. Reuse the same key when retrying the same change.
outbound_promptNoOutbound (campaign) system prompt.
transfer_enabledNoEnable/disable live call transfer.
voice_catalog_idNoPreferred way to pick a voice: an id from list_voices.
queue_for_approvalNoWhen authority is missing, create a pending dashboard approval instead of returning needs_approval.
transfer_phone_numberNoNumber to transfer qualified calls to.
lead_score_instructionsNoHow each caller is scored from 0 to 100, in plain language. Changes only the scoring. End it with "Respond with ONLY a number from 0 to 100."
call_summary_instructionsNoHow the summary written after each call should read, in plain language (for example "Write exactly two sentences for the attorney..."). Changes only the summary; the prompt and scoring stay as they are. get_operational_settings shows the current text.

Output Schema

NameRequiredDescriptionDefault
codeNo
errorNoPresent when success is false
resultNo
statusNo
messageNo
successYesWhether the tool completed successfully
summaryNo
agent_idNo
approvalNo
request_idNo
risk_levelNo
business_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / properties / actor / description
      Previous value: -"Who is asking: { type: agent|human|system|integration, id, display_name }."New value: +"Do not set. Kept for older clients; the signed-in connection identifies you."
    • changedInput schema / properties / authority / description
      Previous value: -"Attribution only. Caller-supplied authority cannot authorize live changes; authenticated owner review of the stored request is required."New value: +"Do not set. It cannot approve a change: the owner approves through review_url or by being signed in."
    • addedInput schema / properties / call_summary_instructions
      Added value: +{
      +  "description": "How the summary written after each call should read, in plain language (for example \"Write exactly two sentences for the attorney...\"). Changes only the summary; the prompt and scoring stay as they are. get_operational_settings shows the current text.",
      +  "type": "string"
      +}
    • changedInput schema / properties / inbound_prompt / description
      Previous value: -"Full inbound system prompt that drives the agent."New value: +"The whole inbound prompt; it replaces the current one. Start from inbound_prompt in get_agent_config, never from a saved version."
    • addedInput schema / properties / lead_score_instructions
      Added value: +{
      +  "description": "How each caller is scored from 0 to 100, in plain language. Changes only the scoring. End it with \"Respond with ONLY a number from 0 to 100.\"",
      +  "type": "string"
      +}
    • addedInput schema / properties / reason
      Added value: +{
      +  "description": "Why this change is being made. Kept in the change history.",
      +  "type": "string"
      +}
    • changedInput schema / properties / voice / description
      Previous value: -"Voice selection: { provider, voiceId }."New value: +"Voice selection: { provider, voiceId }. Use voice_catalog_id instead when you can."
    • addedInput schema / properties / voice_catalog_id
      Added value: +{
      +  "description": "Preferred way to pick a voice: an id from list_voices.",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing the governed update broker, the consent + audit trail, that every write produces a versioned snapshot, that rollback cannot restore transfer settings or call length, and that an idempotency_key is required. The remaining gap is the failure/response surface: it never says what comes back on validation errors or on needs_approval, and dry_run handling is left implicit even though an output schema exists.

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 purpose and then layered into workflow, versioning, and approval routing, with no filler sentences. The opening sentence is a long em-dash-delimited list that is harder to scan than the rest, keeping it short of a 5.

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 22-parameter, destructive, approval-gated mutation, the description covers the critical decision points: pre-read requirement, replacement semantics, versioning, rollback limits, and who can apply versus queue. It stops short of describing the dry_run validation path and partial-failure behavior, which an agent doing a high-impact live edit would want.

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 100%, so the baseline is 3; the description still adds real meaning by explaining that inbound_prompt replaces the entire prompt and must be sourced fresh, and by reiterating the mandatory idempotency_key for writes. Several documented parameters (dry_run, queue_for_approval, business_id, source_ref) are not addressed in the prose, so it does not fully supersede the schema.

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?

Opens with a specific verb and resource ("Edit an agent's live runtime configuration") and then enumerates the exact editable surfaces: greeting, inbound/SMS prompt, summary and lead-score instructions, voice, model, max duration, transfer settings. It is distinguishable from siblings such as configure_agent_business_rules, which is scoped to a single named operational-rules section.

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?

Explicitly says to "Read get_agent_config first" and warns that inbound_prompt must be built from that read, never from a saved version. It also names the adjacent tools and their roles (list_config_versions for history, rollback_config for restore, configure_agent_business_rules for rules sections) and explains when a change applies immediately versus queues for owner review.

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.