Skip to main content
Glama
aiterm-mcp
by kitepon

agent_configure

Adjust the model, reasoning effort, or fast mode of a live Claude, Codex, Grok, Cursor, or Antigravity session without restarting it, keeping conversation context.

Instructions

起動済みのClaude/Codex/Grok/Cursor/Antigravity agent sessionを再起動せず、会話contextを保ったままmodel/reasoning effort/fastを変更する。各harnessのCLI標準model操作を使う。Cursorのreasoning_effort変更はmodelと同時指定する。Claude Codeの席では /model の選ぶ画面の「この会話だけ」(s)で替え、端末の ~/.claude/settings.json の既定は書き換えない。その選び方が無い版、選ぶ画面に無いmodel、そのmodelで選べないeffortは、何も変えずに断る。fastだけの指定も受ける。ファスト(harnessの高速の応答。費用や利用量が増える)。席は必ず通常の速度で起きる。trueはその席をfastへ切り替え、falseは通常の速度にする(fastに対応していないmodelでもfalseは受ける)。切り替えは席だけに留め、harnessが利用者の既定へ書いた分は切り替えの直前の値へ戻す。断りは文の先頭の符号で分かる: FAST_MODE_NOT_SUPPORTED(そのmodelは対応していない)、FAST_MODE_UNAVAILABLE(アカウントや契約で使えない)、FAST_MODE_MODEL_CONFLICT(modelへfast版のIDを書いてfalseを渡した)、FAST_MODE_UNCONFIRMED(切り替えた後の状態を確かめられない)。

Input Schema

NameRequiredDescriptionDefault
fastNo変更後のfast。省略時は、その席の今の状態を変えない
modelNo変更後のmodel。省略時はmodelを変更しない
actionNo省略は従来apply。reconcileはrequestへ固定した保存結果だけを読み、入力や再適用を行わない
remoteNo別端末のAitermで実行する時のSSH接続情報。hostだけならssh_configの接続名として使う。Aitermは接続情報を保存・管理しない。passphraseは会話記録に残るため、ssh-agentかpassphrase_env(環境変数名)を推奨する。
requestNo追跡する新規apply/reconcileの原要求。idは初回発行前に保存するUUID、launch_idは期待世代、digestは正規化した要求値のSHA256。旧事故への後付け不可
session_idYes
reasoning_effortNo変更後のreasoning effort。省略時はeffortを変更しない

Output Schema

NameRequiredDescriptionDefault
fastNo
modelNo
effectNo
resultNo
schemaYes
bindingNo
currentNo
harnessNo
outcomeNo
providerNo
session_idNo
observed_atNo
terminal_atNo
later_effectNo
request_stateNo
reasoning_effortNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed16 schema fields changedv0.63.7
    • addedInput schema / properties / action
      Added value: +{
      +  "description": "省略は従来apply。reconcileはrequestへ固定した保存結果だけを読み、入力や再適用を行わない",
      +  "enum": [
      +    "apply",
      +    "reconcile"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / request
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "追跡する新規apply/reconcileの原要求。idは初回発行前に保存するUUID、launch_idは期待世代、digestは正規化した要求値のSHA256。旧事故への後付け不可",
      +  "properties": {
      +    "digest": {
      +      "pattern": "^[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "id": {
      +      "format": "uuid",
      +      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +      "type": "string"
      +    },
      +    "launch_id": {
      +      "pattern": "^[a-f0-9]{32}$",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "launch_id",
      +    "digest"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / binding
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "digest": {
      +      "pattern": "^[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "id": {
      +      "format": "uuid",
      +      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +      "type": "string"
      +    },
      +    "launch_id": {
      +      "pattern": "^[a-f0-9]{32}$",
      +      "type": "string"
      +    },
      +    "session_id": {
      +      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "launch_id",
      +    "digest",
      +    "session_id"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / current
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "availability": {
      +      "const": "unsupported",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "availability"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / effect
      Added value: +{
      +  "enum": [
      +    "not_started",
      +    "possible"
      +  ],
      +  "type": "string"
      +}
    • removedOutput schema / properties / fast / description
      Removed value: -"切り替えた後の、席のfastの状態。Aitermが確かめた事の無い席(前の版が起こした席)はnull"
    • addedOutput schema / properties / later_effect
      Added value: +{
      +  "enum": [
      +    "excluded",
      +    "unconfirmed"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / observed_at
      Added value: +{
      +  "format": "date-time",
      +  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +  "type": "string"
      +}
    • addedOutput schema / properties / outcome
      Added value: +{
      +  "enum": [
      +    "applied",
      +    "not_applied",
      +    "outcome_unknown"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / request_state
      Added value: +{
      +  "enum": [
      +    "not_recorded",
      +    "unavailable",
      +    "pending_or_unknown",
      +    "terminal"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / result
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "fast": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "harness": {
      +          "enum": [
      +            "claude-code",
      +            "codex-cli",
      +            "grok-cli",
      +            "cursor-cli",
      +            "antigravity-cli"
      +          ],
      +          "type": "string"
      +        },
      +        "model": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "provider": {
      +          "enum": [
      +            "claude",
      +            "codex",
      +            "grok",
      +            "cursor",
      +            "antigravity"
      +          ],
      +          "type": "string"
      +        },
      +        "reasoning_effort": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "schema": {
      +          "const": "aiterm.agent-configure-result.v1",
      +          "type": "string"
      +        },
      +        "session_id": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "schema",
      +        "session_id",
      +        "provider",
      +        "harness",
      +        "model",
      +        "reasoning_effort",
      +        "fast"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / schema / const
      Removed value: -"aiterm.agent-configure-result.v1"
    • addedOutput schema / properties / schema / enum
      Added value: +[
      +  "aiterm.agent-configure-result.v1",
      +  "aiterm.agent-configure-error.v1",
      +  "aiterm.agent-configure-request-result.v1"
      +]
    • removedOutput schema / properties / session_id / pattern
      Removed value: -"^[A-Za-z0-9_-]{1,64}$"
    • addedOutput schema / properties / terminal_at
      Added value: +{
      +  "anyOf": [
      +    {
      +      "format": "date-time",
      +      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "schema",
      -  "session_id",
      -  "provider",
      -  "harness",
      -  "model",
      -  "reasoning_effort"
      -]New value: +[
      +  "schema"
      +]
  2. Changed2 schema fields changedv0.62.2
    • changedOutput schema / properties / harness / enum
      Previous value: -[
      -  "claude-code",
      -  "codex-cli",
      -  "grok-cli",
      -  "cursor-cli"
      -]New value: +[
      +  "claude-code",
      +  "codex-cli",
      +  "grok-cli",
      +  "cursor-cli",
      +  "antigravity-cli"
      +]
    • changedOutput schema / properties / provider / enum
      Previous value: -[
      -  "claude",
      -  "codex",
      -  "grok",
      -  "cursor"
      -]New value: +[
      +  "claude",
      +  "codex",
      +  "grok",
      +  "cursor",
      +  "antigravity"
      +]
  3. Changed2 schema fields changedv0.60.1
    • addedInput schema / properties / fast
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "変更後のfast。省略時は、その席の今の状態を変えない"
      +}
    • addedOutput schema / properties / fast
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "切り替えた後の、席のfastの状態。Aitermが確かめた事の無い席(前の版が起こした席)はnull"
      +}
  4. Changed1 schema field changedv0.45.0
    • changedOutput schema / properties / provider / enum
      Previous value: -[
      -  "claude",
      -  "codex",
      -  "grok",
      -  "composer",
      -  "cursor"
      -]New value: +[
      +  "claude",
      +  "codex",
      +  "grok",
      +  "cursor"
      +]
  5. Changed1 schema field changedv0.39.1
    • addedInput schema / properties / remote
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "別端末のAitermで実行する時のSSH接続情報。hostだけならssh_configの接続名として使う。Aitermは接続情報を保存・管理しない。passphraseは会話記録に残るため、ssh-agentかpassphrase_env(環境変数名)を推奨する。",
      +  "properties": {
      +    "host": {
      +      "pattern": "^(?!-)[A-Za-z0-9._%:\\[\\]-]{1,255}$",
      +      "type": "string"
      +    },
      +    "identity_file": {
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "passphrase": {
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "passphrase_env": {
      +      "pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
      +      "type": "string"
      +    },
      +    "port": {
      +      "maximum": 65535,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "ssh_options": {
      +      "items": {
      +        "pattern": "^[A-Za-z][A-Za-z0-9]*=[^\\r\\n]*$",
      +        "type": "string"
      +      },
      +      "maxItems": 32,
      +      "type": "array"
      +    },
      +    "user": {
      +      "pattern": "^(?!-)[A-Za-z0-9._@\\\\-]{1,128}$",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "host"
      +  ],
      +  "type": "object"
      +}
  6. Changed3 schema fields changedv0.28.0
    • addedOutput schema / properties / harness
      Added value: +{
      +  "enum": [
      +    "claude-code",
      +    "codex-cli",
      +    "grok-cli",
      +    "cursor-cli"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / provider / enum
      Previous value: -[
      -  "claude",
      -  "codex",
      -  "grok",
      -  "composer"
      -]New value: +[
      +  "claude",
      +  "codex",
      +  "grok",
      +  "composer",
      +  "cursor"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "schema",
      -  "session_id",
      -  "provider",
      -  "model",
      -  "reasoning_effort"
      -]New value: +[
      +  "schema",
      +  "session_id",
      +  "provider",
      +  "harness",
      +  "model",
      +  "reasoning_effort"
      +]
  7. Addedv0.27.0

TDQS

A4.5/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 burden and does so: it discloses side effects (harness-written defaults are restored to their pre-switch values, ~/.claude/settings.json defaults are not rewritten), the session-only scope of the change, and the exact refusal prefixes (FAST_MODE_NOT_SUPPORTED / UNAVAILABLE / MODEL_CONFLICT / UNCONFIRMED) an agent must handle. That is far beyond what any structured field provides.

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?

Purpose is front-loaded in the first sentence and each following clause carries operative information (constraints, side effects, error codes), so little is wasted. It is nonetheless a single dense block with parenthetical asides and a slightly opaque line about seats always starting at normal speed, which costs some scannability.

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 7-parameter mutation tool with nested objects and no annotations, the description covers scope, side effects, and failure signaling, and an output schema exists so return values need not be restated. Gaps remain around permissions/auth requirements and the apply-vs-reconcile mode, which is only explained inside the schema.

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 86%, so the baseline is 3, but the description adds genuine meaning beyond the schema: fast=true switches only that seat, false normalizes it and is accepted even on models without fast, and Cursor's reasoning_effort must be paired with model. It does not explain action=reconcile or the request/remote objects in prose, leaving those to 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?

The first sentence names a specific verb (変更する) and resource (model / reasoning effort / fast) and scopes it precisely: already-running agent sessions, without restart, preserving conversation context. Mentioning the concrete harnesses (Claude/Codex/Grok/Cursor/Antigravity) also implicitly separates it from launch-style siblings such as agent_launch.

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 explicit when-not conditions: versions lacking the per-conversation picker, models absent from the picker, and unsupported effort values are declined with no change. It also states a real usage constraint (Cursor reasoning_effort must be sent together with model) and that a fast-only call is accepted. It stops short of naming alternative tools (e.g., agent_models to discover valid models), so it is clear context without full routing guidance.

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