Skip to main content
Glama

host.tool_call

Invoke a tool this tenant has already published, by its local name -- the same real, metered call as calling it directly by its namespaced name (.), for a session that has no way to see its own namespaced tool name yet. Unlike host.tool_test, this counts toward host.usage and appears in host.tool_logs. Pass async: true for a tool that needs more than the call deadline: returns {run_id, status: "queued"} immediately instead of running inline -- see host.runs.get/wait. Pass version to pin the call to one of host.tool_history's versions instead of whichever is current.

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": {
      "name": "<name>"
    },
    "name": "host.tool_call"
  }
}

Input Schema

NameRequiredDescriptionDefault
argsNoArguments to pass, validated against the tool's own args_schema.
nameYesLocal name of the tool to invoke.
asyncNoRun as a job instead of inline: returns {run_id, status} within ~50ms under the plan's job_max_s deadline; default false.
budgetNoLowers this call's budget below the plan default: any subset of max_child_calls, max_est_tokens, max_tool_latency_ms, max_wall_ms. A value above the plan's own ceiling is a validation error naming it; see host.runs.get's progress.budget.
dry_runNoAsk instead of call: runs every admission check the real call runs, dispatches nothing, writes no call row, and returns {fits, units, remaining, refusal}; same as host.estimate. Default false.
versionNoPin the call to this version instead of whichever is current; see host.tool_history. An unknown version is an argument error.
tenant_keyNoThe key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. On a connection with no Authorization: Bearer header and no prior signup, omitting it implicitly signs that connection up as a brand-new tenant and runs this call as it -- see host.whoami's source field. When both a header and this argument are present, the header wins.

Output Schema

NameRequiredDescriptionDefault
dataNo
stateNo
resultNo
call_idNo
dry_runNo
verdictNo
stale_testNo
client_toolNo
forwarded_toNo
tested_versionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed47 schema fields changed
    • removedOutput schema / properties / args
      Removed value: -{
      -  "properties": {},
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / body
      Removed value: -{
      -  "properties": {
      -    "ok": {
      -      "type": [
      -        "boolean",
      -        "null"
      -      ]
      -    },
      -    "pong": {
      -      "type": [
      -        "boolean",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / call_id
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / changed
      Removed value: -{
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / checked_at
      Removed value: -{
      -  "type": [
      -    "integer",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / columns
      Removed value: -{
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / count
      Removed value: -{
      -  "type": [
      -    "integer",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / created
      Removed value: -{
      -  "type": [
      -    "boolean",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / created_unix
      Removed value: -{
      -  "type": [
      -    "integer",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / data
      Added value: +{}
    • removedOutput schema / properties / dedupe_header
      Removed value: -{}
    • removedOutput schema / properties / doubled
      Removed value: -{
      -  "type": [
      -    "integer",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / dry_run
      Added value: +{}
    • removedOutput schema / properties / enabled
      Removed value: -{
      -  "type": [
      -    "boolean",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / failed_steps
      Removed value: -{
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / headers
      Removed value: -{
      -  "properties": {
      -    "content-type": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / https_proxy
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / id
      Removed value: -{}
    • removedOutput schema / properties / kind
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / last_fired_unix
      Removed value: -{}
    • removedOutput schema / properties / last_run_id
      Removed value: -{}
    • removedOutput schema / properties / last_status
      Removed value: -{}
    • removedOutput schema / properties / msg
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / name
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / next
      Removed value: -{
      -  "properties": {
      -    "tool": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "why": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / next_unix
      Removed value: -{
      -  "type": [
      -    "integer",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / ok
      Removed value: -{
      -  "type": [
      -    "boolean",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / onboarding
      Removed value: -{
      -  "properties": {
      -    "claim_url": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "invited_by": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "shared_tools": {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": [
      -        "array",
      -        "null"
      -      ]
      -    },
      -    "tenant": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "url": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / payload
      Removed value: -{
      -  "properties": {
      -    "ok": {
      -      "type": [
      -        "boolean",
      -        "null"
      -      ]
      -    },
      -    "pong": {
      -      "type": [
      -        "boolean",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / preset
      Removed value: -{}
    • removedOutput schema / properties / rows
      Removed value: -{}
    • removedOutput schema / properties / run_id
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / schedule
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / stale_test
      Added value: +{}
    • addedOutput schema / properties / state
      Added value: +{}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": [
      -    "string",
      -    "integer",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / steps
      Removed value: -{
      -  "items": {
      -    "properties": {
      -      "result": {},
      -      "status": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "step": {
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "tool": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "type": [
      -    "array",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / tested_version
      Added value: +{}
    • removedOutput schema / properties / text
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / tool
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / tz
      Removed value: -{}
    • removedOutput schema / properties / unverified
      Removed value: -{
      -  "type": [
      -    "boolean",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / url
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / v1
      Removed value: -{
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • addedOutput schema / properties / verdict
      Added value: +{}
    • removedOutput schema / properties / verify
      Removed value: -{
      -  "properties": {
      -    "allow_unverified": {
      -      "type": [
      -        "boolean",
      -        "null"
      -      ]
      -    },
      -    "scheme": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
    • removedOutput schema / properties / welcome_back
      Removed value: -{
      -  "properties": {
      -    "last_note": {},
      -    "last_seen": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "notes": {
      -      "type": [
      -        "integer",
      -        "null"
      -      ]
      -    },
      -    "since_you_left": {
      -      "properties": {
      -        "calls": {
      -          "type": [
      -            "integer",
      -            "null"
      -          ]
      -        },
      -        "days": {
      -          "type": [
      -            "integer",
      -            "null"
      -          ]
      -        },
      -        "inbox": {
      -          "type": [
      -            "integer",
      -            "null"
      -          ]
      -        },
      -        "runs": {
      -          "type": [
      -            "integer",
      -            "null"
      -          ]
      -        }
      -      },
      -      "type": [
      -        "object",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": [
      -    "object",
      -    "null"
      -  ]
      -}
  2. Changed3 schema fields changed
    • removedOutput schema / properties / id / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • removedOutput schema / properties / rows / items
      Removed value: -{
      -  "properties": {
      -    "body": {
      -      "properties": {
      -        "id": {
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        }
      -      },
      -      "type": [
      -        "object",
      -        "null"
      -      ]
      -    },
      -    "checked_at": {
      -      "type": [
      -        "integer",
      -        "null"
      -      ]
      -    },
      -    "delivery_id": {},
      -    "id": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "latency_ms": {
      -      "type": [
      -        "integer",
      -        "null"
      -      ]
      -    },
      -    "ok": {
      -      "type": [
      -        "boolean",
      -        "null"
      -      ]
      -    },
      -    "received_at": {
      -      "type": [
      -        "integer",
      -        "null"
      -      ]
      -    },
      -    "status": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "url": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "type": "object"
      -}
    • removedOutput schema / properties / rows / type
      Removed value: -[
      -  "array",
      -  "null"
      -]
  3. Changed2 schema fields changed
    • changedInput schema / required
      Previous value: -[
      -  "name",
      -  "args"
      -]New value: +[
      +  "name"
      +]
    • addedInput schema / x-mcphost-validated
      Added value: +true
  4. Changed2 schema fields changed
    • addedOutput schema / $defs
      Added value: +{
      +  "ErrorEnvelope": {
      +    "properties": {
      +      "code": {
      +        "type": "integer"
      +      },
      +      "data": {
      +        "properties": {
      +          "error_code": {
      +            "type": "string"
      +          },
      +          "retryable": {
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "error_code"
      +        ],
      +        "type": "object"
      +      },
      +      "message": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "code",
      +      "message",
      +      "data"
      +    ],
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / x-error-envelope
      Added value: +{
      +  "$ref": "#/$defs/ErrorEnvelope"
      +}
  5. Changed4 schema fields changed
    • removedOutput schema / properties / result / properties
      Removed value: -{
      -  "region": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "rows": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  }
      -}
    • removedOutput schema / properties / result / type
      Removed value: -[
      -  "object",
      -  "null"
      -]
    • removedOutput schema / properties / steps / items / properties / result / properties
      Removed value: -{
      -  "region": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "rows": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "url": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  }
      -}
    • removedOutput schema / properties / steps / items / properties / result / type
      Removed value: -[
      -  "object",
      -  "null"
      -]
  6. Changed84 schema fields changed
    • changedOutput schema / properties / args / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / body / properties / ok / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / body / properties / pong / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / body / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / changed / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedOutput schema / properties / checked_at / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / client_tool / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / columns / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedOutput schema / properties / count / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / created / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / created_unix / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / properties / dedupe_header / type
      Removed value: -"null"
    • changedOutput schema / properties / doubled / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / enabled / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / failed_steps / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedOutput schema / properties / forwarded_to / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / headers / properties / content-type / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / headers / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / https_proxy / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / id / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / kind / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / last_fired_unix / type
      Removed value: -"null"
    • removedOutput schema / properties / last_run_id / type
      Removed value: -"null"
    • removedOutput schema / properties / last_status / type
      Removed value: -"null"
    • changedOutput schema / properties / msg / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / name / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / next / properties / tool / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / next / properties / why / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / next / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / next_unix / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / ok / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / onboarding / properties / claim_url / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / onboarding / properties / invited_by / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / onboarding / properties / shared_tools / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedOutput schema / properties / onboarding / properties / tenant / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / onboarding / properties / url / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / onboarding / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / payload / properties / ok / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / payload / properties / pong / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / payload / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • removedOutput schema / properties / preset / type
      Removed value: -"null"
    • changedOutput schema / properties / result / properties / region / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / result / properties / rows / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / result / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / rows / items / properties / body / properties / id / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / rows / items / properties / body / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / rows / items / properties / checked_at / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / properties / rows / items / properties / delivery_id / type
      Removed value: -"null"
    • changedOutput schema / properties / rows / items / properties / id / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / rows / items / properties / latency_ms / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / rows / items / properties / ok / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / rows / items / properties / received_at / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / rows / items / properties / status / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / rows / items / properties / url / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / rows / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedOutput schema / properties / run_id / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / schedule / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / status / type
      Previous value: -[
      -  "string",
      -  "integer"
      -]New value: +[
      +  "string",
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / steps / items / properties / result / properties / region / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / steps / items / properties / result / properties / rows / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / steps / items / properties / result / properties / url / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / steps / items / properties / result / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / steps / items / properties / status / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / steps / items / properties / step / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / steps / items / properties / tool / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / steps / type
      Previous value: -"array"New value: +[
      +  "array",
      +  "null"
      +]
    • changedOutput schema / properties / text / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / tool / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / tz / type
      Removed value: -"null"
    • changedOutput schema / properties / unverified / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / url / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / v1 / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / verify / properties / allow_unverified / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / verify / properties / scheme / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / verify / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • removedOutput schema / properties / welcome_back / properties / last_note / type
      Removed value: -"null"
    • changedOutput schema / properties / welcome_back / properties / last_seen / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / welcome_back / properties / notes / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / welcome_back / properties / since_you_left / properties / calls / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / welcome_back / properties / since_you_left / properties / days / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / welcome_back / properties / since_you_left / properties / inbox / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / welcome_back / properties / since_you_left / properties / runs / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / welcome_back / properties / since_you_left / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
    • changedOutput schema / properties / welcome_back / type
      Previous value: -"object"New value: +[
      +  "object",
      +  "null"
      +]
  7. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "args": {
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "body": {
      +      "properties": {
      +        "ok": {
      +          "type": "boolean"
      +        },
      +        "pong": {
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "changed": {
      +      "type": "array"
      +    },
      +    "checked_at": {
      +      "type": "integer"
      +    },
      +    "client_tool": {
      +      "type": "string"
      +    },
      +    "columns": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "count": {
      +      "type": "integer"
      +    },
      +    "created": {
      +      "type": "boolean"
      +    },
      +    "created_unix": {
      +      "type": "integer"
      +    },
      +    "dedupe_header": {
      +      "type": "null"
      +    },
      +    "doubled": {
      +      "type": "integer"
      +    },
      +    "enabled": {
      +      "type": "boolean"
      +    },
      +    "failed_steps": {
      +      "type": "array"
      +    },
      +    "forwarded_to": {
      +      "type": "string"
      +    },
      +    "headers": {
      +      "properties": {
      +        "content-type": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "https_proxy": {
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "kind": {
      +      "type": "string"
      +    },
      +    "last_fired_unix": {
      +      "type": "null"
      +    },
      +    "last_run_id": {
      +      "type": "null"
      +    },
      +    "last_status": {
      +      "type": "null"
      +    },
      +    "msg": {
      +      "type": "string"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "next": {
      +      "properties": {
      +        "tool": {
      +          "type": "string"
      +        },
      +        "why": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "next_unix": {
      +      "type": "integer"
      +    },
      +    "ok": {
      +      "type": "boolean"
      +    },
      +    "onboarding": {
      +      "properties": {
      +        "claim_url": {
      +          "type": "string"
      +        },
      +        "invited_by": {
      +          "type": "string"
      +        },
      +        "shared_tools": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "tenant": {
      +          "type": "string"
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "payload": {
      +      "properties": {
      +        "ok": {
      +          "type": "boolean"
      +        },
      +        "pong": {
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "preset": {
      +      "type": "null"
      +    },
      +    "result": {
      +      "properties": {
      +        "region": {
      +          "type": "string"
      +        },
      +        "rows": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "rows": {
      +      "items": {
      +        "properties": {
      +          "body": {
      +            "properties": {
      +              "id": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "checked_at": {
      +            "type": "integer"
      +          },
      +          "delivery_id": {
      +            "type": "null"
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "latency_ms": {
      +            "type": "integer"
      +          },
      +          "ok": {
      +            "type": "boolean"
      +          },
      +          "received_at": {
      +            "type": "integer"
      +          },
      +          "status": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "run_id": {
      +      "type": "string"
      +    },
      +    "schedule": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "type": [
      +        "string",
      +        "integer"
      +      ]
      +    },
      +    "steps": {
      +      "items": {
      +        "properties": {
      +          "result": {
      +            "properties": {
      +              "region": {
      +                "type": "string"
      +              },
      +              "rows": {
      +                "type": "string"
      +              },
      +              "url": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "status": {
      +            "type": "string"
      +          },
      +          "step": {
      +            "type": "integer"
      +          },
      +          "tool": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "text": {
      +      "type": "string"
      +    },
      +    "tool": {
      +      "type": "string"
      +    },
      +    "tz": {
      +      "type": "null"
      +    },
      +    "unverified": {
      +      "type": "boolean"
      +    },
      +    "url": {
      +      "type": "string"
      +    },
      +    "v1": {
      +      "type": "string"
      +    },
      +    "verify": {
      +      "properties": {
      +        "allow_unverified": {
      +          "type": "boolean"
      +        },
      +        "scheme": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "welcome_back": {
      +      "properties": {
      +        "last_note": {
      +          "type": "null"
      +        },
      +        "last_seen": {
      +          "type": "string"
      +        },
      +        "notes": {
      +          "type": "integer"
      +        },
      +        "since_you_left": {
      +          "properties": {
      +            "calls": {
      +              "type": "integer"
      +            },
      +            "days": {
      +              "type": "integer"
      +            },
      +            "inbox": {
      +              "type": "integer"
      +            },
      +            "runs": {
      +              "type": "integer"
      +            }
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  8. Changed1 schema field changed
    • addedInput schema / properties / dry_run
      Added value: +{
      +  "description": "Ask instead of call: runs every admission check the real call runs, dispatches nothing, writes no call row, and returns {fits, units, remaining, refusal}; same as host.estimate. Default false.",
      +  "type": "boolean"
      +}
  9. Changed1 schema field changed
    • addedInput schema / properties / budget / properties
      Added value: +{
      +  "max_child_calls": {
      +    "description": "Free-plan ceiling 20; pro ceiling 50. Maximum shown is the free floor -- see host.quickstart limits.plan.budget for your plan.",
      +    "maximum": 20,
      +    "minimum": 1,
      +    "type": "integer"
      +  },
      +  "max_est_tokens": {
      +    "description": "Free-plan ceiling 200000; pro ceiling 2000000. Maximum shown is the free floor -- see host.quickstart limits.plan.budget for your plan.",
      +    "maximum": 200000,
      +    "minimum": 1,
      +    "type": "integer"
      +  },
      +  "max_tool_latency_ms": {
      +    "description": "Free-plan ceiling 30000; pro ceiling 120000. Maximum shown is the free floor -- see host.quickstart limits.plan.budget for your plan.",
      +    "maximum": 30000,
      +    "minimum": 1,
      +    "type": "integer"
      +  },
      +  "max_wall_ms": {
      +    "description": "Free-plan ceiling 60000; pro ceiling 600000. Maximum shown is the free floor -- see host.quickstart limits.plan.budget for your plan.",
      +    "maximum": 60000,
      +    "minimum": 1,
      +    "type": "integer"
      +  }
      +}
  10. Changed1 schema field changed
    • addedInput schema / properties / budget
      Added value: +{
      +  "description": "Lowers this call's budget below the plan default: any subset of max_child_calls, max_est_tokens, max_tool_latency_ms, max_wall_ms. A value above the plan's own ceiling is a validation error naming it; see host.runs.get's progress.budget.",
      +  "type": "object"
      +}
  11. Changed1 schema field changed
    • changedInput schema / properties / tenant_key / description
      Previous value: -"The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602)."New value: +"The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. On a connection with no Authorization: Bearer header and no prior signup, omitting it implicitly signs that connection up as a brand-new tenant and runs this call as it -- see host.whoami's source field. When both a header and this argument are present, the header wins."
  12. Changed1 schema field changed
    • addedInput schema / x-deprecated
      Added value: +{
      +  "replaced_by": "host.tool.call",
      +  "sunset": "2026-12-31"
      +}
  13. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  14. Changed1 schema field changed
    • changedInput schema / properties / tenant_key / description
      Previous value: -"The key `signup` returned. Required only when this connection carries no Authorization: Bearer header -- when both are present, the header wins. Omitting it on a connection with no header returns tenant_key_missing (-32602)."New value: +"The key `signup` returned. Optional on the connection that ran signup (or host.redeem): that connection is already bound to the tenant it created, so later calls on it need no tenant_key. Required only when this connection carries no Authorization: Bearer header and never ran signup -- when both a header and this argument are present, the header wins. Omitting it on such a connection returns tenant_key_missing (-32602)."
  15. Changed1 schema field changed
    • changedInput schema / properties / tenant_key / description
      Previous value: -"The key `signup` returned. Required only when this connection carries no Authorization: Bearer header -- when both are present, the header wins."New value: +"The key `signup` returned. Required only when this connection carries no Authorization: Bearer header -- when both are present, the header wins. Omitting it on a connection with no header returns tenant_key_missing (-32602)."
  16. Changed1 schema field changed
    • addedInput schema / properties / version
      Added value: +{
      +  "description": "Pin the call to this version instead of whichever is current; see host.tool_history. An unknown version is an argument error.",
      +  "type": "integer"
      +}
  17. Changed3 schema fields changed
    • addedInput schema / properties / args / description
      Added value: +"Arguments to pass, validated against the tool's own args_schema."
    • addedInput schema / properties / async
      Added value: +{
      +  "description": "Run as a job instead of inline: returns {run_id, status} within ~50ms under the plan's job_max_s deadline; default false.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / name / description
      Added value: +"Local name of the tool to invoke."
  18. First observed

TDQS

A4.1/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 behavioral burden and does well: it discloses that this is a real metered call that counts toward host.usage and appears in host.tool_logs, describes the async return shape {run_id, status}, and notes that an unknown version is an argument error. It omits behavioral detail on budget refusal and tenant_key side effects, which are only in the schema.

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?

A dense but well-structured paragraph that front-loads the core purpose and equivalence to namespaced invocation before elaborating options. Every sentence adds some value, though a few clauses on async/version duplicate schema content and could be trimmed.

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 complex 7-param tool with nested budget and an output schema, the description covers the essential invocation semantics, metering, and async/version behavior without needing to explain return values (output schema exists). The one gap is that dry_run, budget, and tenant_key semantics are left entirely to the schema, but overall it is complete enough to call correctly.

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 the schema already documents all seven parameters thoroughly (including nested budget fields). The description's notes on async and version largely restate what the schema says, adding only the local-vs-namespaced name framing. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

States a specific verb ("Invoke") and resource ("a tool this tenant has already published, by its local name") and explicitly equates it to calling by namespaced name, so the agent understands the exact operation. It also names the sibling host.tool_test as the contrasting tool, making it distinguishable without opening schemas.

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

Usage Guidelines4/5

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

Gives a clear condition for use ("for a session that has no way to see its own namespaced tool name yet") and an explicit contrast with host.tool_test (which does not meter). It also routes long-running calls to async mode and version pinning to host.tool_history. It does not cover the dry_run/host.estimate alternative, leaving one notable gap.

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