# io.github.kitepon/aiterm-mcp (npm · aiterm-mcp)

Persistent terminals and one launcher for Claude, Codex, Grok, and Cursor harnesses.

- Trust score: 88/100 (high trust)
- Change this week: +14
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- npm · `aiterm-mcp`: 88/100 (this document), [markdown](https://verifymcp.io/servers/kitepon-aiterm-mcp/aiterm-mcp.md), [page](https://verifymcp.io/servers/kitepon-aiterm-mcp/aiterm-mcp)

## Channel facts

- Registry: `npm`
- Package: `aiterm-mcp`
- Version: `0.37.8`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 31 of 96 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to kitepon/aiterm-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 50/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 6886 tokens (~382/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 97/100
  - Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 96/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 84% of tool parameters carry a description.
  - Structured output schemas are declared (83% of tools); any adoption earns full credit.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "pty_send" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the io.github.kitepon/aiterm-mcp server?

io.github.kitepon/aiterm-mcp runs locally as an npm package, launched with npx -y aiterm-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add kitepon-aiterm-mcp -- npx -y aiterm-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "kitepon-aiterm-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "aiterm-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "kitepon-aiterm-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "aiterm-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add kitepon-aiterm-mcp -- npx -y aiterm-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "kitepon-aiterm-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "aiterm-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add kitepon-aiterm-mcp --command npx --arg -y --arg aiterm-mcp
```

### Hermes

```yaml
mcp_servers:
  kitepon-aiterm-mcp:
    command: "npx"
    args: ["-y", "aiterm-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "kitepon-aiterm-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "aiterm-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add kitepon-aiterm-mcp -t stdio -c npx -a -y aiterm-mcp
```

### Other

```json
{
  "mcpServers": {
    "kitepon-aiterm-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "aiterm-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-20 (score 88, +11)

- [security improvement] Known CVEs: unverified → pass
- [functional improvement] Dependency health: unverified → 0.85

### 2026-09-19 (score 77, −12)

- [security regression] Known CVEs: pass → unverified
- [security regression] Stability: pass → unverified
- [security regression] Tool safety: pass → unverified
- [functional regression] Dependency health: 0.85 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] Stability: pass → 0.93
- [functional] Package version: 0.37.3 → 0.37.8
- [functional] Package version: 0.37.3 → 0.37.5
- [functional] Package version: 0.37.3 → 0.37.4

### 2026-09-18 (score 89, +1)

- [security] Stability: 0.97 → pass

### 2026-09-16 (score 88, +1)

No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-15 (score 87, −2)

- [functional] Stability: pass → 0.90

### 2026-09-14 (score 89, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-09-13 (score 74, −15)

- [security regression] Known CVEs: pass → unverified
- [security regression] Malware scan: pass → unverified
- [functional regression] Dependency health: 0.84 → unverified
- [functional] Package version: 0.35.1 → 0.37.3
- [functional] Package version: 0.35.1 → 0.37.2
- [functional] Package version: 0.35.1 → 0.37.1
- [functional] Package version: 0.35.1 → 0.36.0

### 2026-09-12 (score 89, +1)

- [security] Stability: 0.97 → pass

## MCP tools (18)

### `diagnostics` (~52 tokens)

Factory 向け read-only 診断。安全な状態語彙だけを機械可読 JSON で返す（PTY 内容・認証情報・path・環境値は返さない）。

### `pty_open` (~182 tokens)

ローカル永続端末（POSIXはtmux、Windows nativeはpsmux 3.3.8以上）を1個開き、session_id を返す。backend server常駐ゆえ本サーバや クライアントが再起動してもセッションは生存する。リモート操作は専用ツールにせず、開いた端末の中で pty_send(session_id, "ssh host") と打って入る。

Input parameters:

- `env_vars` (array): 現在のMCP processからsessionへ継承する環境変数名
- `name` (string|null): セッション名（省略時は t1, t2... を自動採番）
- `shell` (string): 起動シェル（既定 bash）

### `pty_send` (~758 tokens)

セッションへテキストを送る。通常PTYへは送信のみ（出力は pty_read で取得）。agent session（launcher起動）への send は自動で dispatch になる: TUI の ready gate と submit 分離を通して即返り、receipt の event_cursor を返す。dispatch した子は投げっぱなしでよい＝親はここで待たない。Codex親とClaude Code親にはAitermが回答本文を自動配送する。parent_deliveryがある場合はwait起動も通常の回答回収も不要。親は作業を続けるかターンを終える。その他の親では、完了通知をreceiptの `wait_process.executable` と `wait_process.args` をそのまま親のターンを塞がない別プロセスAPIへ渡して受け、PowerShell 7のStart-Processだけは `windows_start_process_argument_list` を単一文字列として渡す。exit を完了通知として扱う（exit 0=done / 3=timeout（既定600秒・未完了） / 4=closed / 7=error（harnessの記録でturnがAPIエラー等で打ち切られた。結果は無い）。receiptのoutcomeが正で、done以外は未完了。ポーリング不要）。`wait_command` は人間向け互換表示でありprocess境界へ使わない。foreground実行で親のターンを塞がない。自動配送以外の結果回収は pty_read(agent_transcript:true)、Claude の durable turn は claude_turn を使う。force:true は非Claude agent sessionへの手動介入用の素送信。aiterm相関付きClaudeの承認UIはclaude_approvalを使う。

Input parameters:

- `enter` (boolean): 末尾で Enter を送る（agent dispatch では常に submit）
- `force` (boolean): 非Claude agent sessionでは自動dispatchせず素送信する。aiterm相関付きClaudeのactive turnには使えない
- `image` (array): 添付する画像ファイルの絶対パス（png/jpg/jpeg/gif/webp）。agent session への dispatch だけで使え、harness別の添付手順はaitermが吸収する。通常PTY送信やforce送信では指定できない
- `mark` (boolean): 完了 sentinel(終了コード付き)で包む。pty_read(wait:true) が until 無しでも自動検出して完了確定する（POSIX shell と PowerShell に対応。SSH先の現在の標準PS promptも自動判定。PowerShell の rc は成功0／失敗1。fish/csh/tcsh は未対応として送信前に拒否）。 enter:false と併用すると se…
- `raw` (boolean): 送信前サニタイズを無効化
- `rtk` (boolean): 既知コマンドを rtk 形へ委譲して送る（rtk 不在なら素通し）
- `session_id` (string, required)
- `text` (string, required): 送る文字列（コマンド／prompt）。UTF-8で最大64KiB

Output parameters:

- `event_cursor`
- `harness`
- `launch_id` (string|null)
- `mode` (string)
- `pane_input_recovery` (array)
- `parent_delivery` (object)
- `schema` (string)
- `session_id` (string)
- `submit_residue` (boolean|null)
- `vendor`
- `wait_process`

### `agent_steer` (~131 tokens)

実行中のCodex/Grok agentへ追加メッセージを差し込み、現在のターンを誘導する。独立した次ターンを始める用途ではなく、idle時は文字を送らずdelivery=idleを返す。

Input parameters:

- `image` (array): 添付する画像ファイルの絶対パス（png/jpg/jpeg/gif/webp）
- `session_id` (string, required)
- `text` (string, required): 現在のターンへ追加する文字列。UTF-8で最大64KiB

Output parameters:

- `delivery` (string)
- `harness` (string)
- `launch_id` (string)
- `schema` (string)
- `session_id` (string)
- `vendor` (string)

### `pty_read` (~482 tokens)

セッションの出力をトークン削減して読む（既定は前回読取位置からの増分）。削減: 制御文字除去 / 反復圧縮 / head+tail 折りたたみ＋復元ヒント＋メタ併記。agent_transcript:true は agent session の直近完了ターンの最終 assistant メッセージを公開されたharness記録から平文で返す。長い回答が screen tail で切れた時の回収用。

Input parameters:

- `agent_transcript` (boolean): agent session の直近完了ターンの最終 assistant メッセージを返す。Claudeはlaunch相関付きStop hook result、他harnessは通常transcript／session historyを使う。長い回答がscreen tailで切れた時の回収用
- `full` (boolean): 増分でなく全文
- `line_range` (string|null): 全文からの行範囲 "A:B"
- `lines`: 末尾 N 行のみ
- `operation_id`: Claude operationの期待ID。agent_transcript:true時だけ指定し、古い別operationの結果を拒否する
- `raw` (boolean): 削減せず生テキスト
- `rtk` (boolean): 直前コマンド別の自前 reducer(git/grep/pytest 等)で縮約
- `screen` (boolean): 描画済みスクリーン(TUI 向け)
- `session_id` (string, required)
- `timeout` (number): wait の最大待ち秒数
- `until` (string|null): この文字列が出たら完了とみなす（既定はリテラル部分一致。`$ ` や `[..]` もそのまま探せる）
- `until_regex` (boolean): until を正規表現として扱う（既定 false＝リテラル部分一致。メタ文字を使いたい時のみ true）
- `wait` (boolean): 完了まで待つ（dead / mark sentinel 自動検出 / until / 出力静止∧シェル復帰 / timeout）

Output parameters:

- `harness`
- `mode` (string)
- `raw_chars`
- `schema` (string)
- `session_id` (string)
- `text` (string)
- `turn_id` (string|null)
- `vendor`

### `pty_key` (~101 tokens)

制御キーを送る（C-c, C-d, Enter, Tab, Up, Down... の別名に対応）。aiterm相関付きClaude sessionではturn相関を守るためC-cだけを許可し、承認UIはclaude_approvalで操作する。

Input parameters:

- `key` (string, required): キー名（例 "C-c", "Enter", "Up"）
- `session_id` (string, required)

### `pty_close` (~56 tokens)

セッションを閉じ、ログ／読取位置を破棄する。同じsession_idへの再試行は安全で、closed／already_closedのstructured receiptを返す。

Input parameters:

- `session_id` (string, required)

Output parameters:

- `outcome` (string)
- `schema` (string)
- `session_id` (string)

### `pty_list` (~68 tokens)

握っているセッション一覧（名前 / 現在の前面コマンド / attach 状態 / サイズ / agent 情報）。

Input parameters:

- `env_keys` (array): 帰属確認用の非秘密環境変数名。指定したキーだけを返す

Output parameters:

- `observed_at` (string)
- `schema` (string)
- `sessions` (array)

### `pty_observe` (~97 tokens)

指定sessionの存在、paneとharnessの生存、状態と理由、native process identity、画面変化とCPU活動を構造化して観測する。画面本文と生argvは返さない。

Input parameters:

- `cursor` (string): 前回のactivity.cursor。省略・session再作成時は活動差分をnullで返す
- `session_id` (string, required)

Output parameters:

- `activity` (object)
- `exists` (boolean)
- `harness`
- `harness_alive` (boolean|null)
- `harness_process`
- `launch_id` (string|null)
- `observed_at` (string)
- `pane_alive` (boolean|null)
- `pane_process`
- `parent_deliveries` (array)
- `process_identity`
- `reason` (string)
- `schema` (string)
- `session_id` (string)
- `state` (string)
- `token_hint` (number|null)

### `agent_approval` (~102 tokens)

Codexの現在の承認をinspectし、digestへ束縛した単発許可または拒否をrespondする。恒久許可は選ばない。Claudeは既存claude_approvalを使う。未知dialogはblockedのtyped errorで返す。

Input parameters:

- `action` (string, required)
- `approval_choice` (string)
- `observed_prompt_digest` (string)
- `session_id` (string, required)

Output parameters:

- `action` (string)
- `at` (string)
- `choices` (array)
- `harness` (string)
- `kind` (string|null)
- `launch_id` (string)
- `prompt` (string|null)
- `prompt_digest` (string|null)
- `reason` (string)
- `schema` (string)
- `selected_choice`
- `session_id` (string)
- `status` (string)

### `claude_turn` (~104 tokens)

aiterm相関付きClaude sessionのdurable operationを構造化issue／recoverするmachine-caller専用面。pending／unknown／completedを人間向けerror文字列の解析なしで返し、Observer固有ロジックは持たない。

Input parameters:

- `action` (string, required)
- `operation_id` (string, required)
- `session_id` (string, required)
- `text` (string): issueだけに指定するbounded turn本文

Output parameters:

- `action` (string)
- `operation_id` (string)
- `parent_delivery` (object)
- `raw_output` (string|null)
- `reason`
- `schema` (string)
- `session_id` (string)
- `status` (string)
- `submit_residue` (boolean|null)

### `claude_approval` (~161 tokens)

aiterm相関付きClaudeのactive turn中に表示された権限確認UIを、turn相関を保ったまま検査・応答する専用面。inspectで画面digestと安全な単発Yes/Noだけを取得し、respondは同じoperation・同じdigestが現在も表示中の場合だけ送信する。

Input parameters:

- `action` (string, required)
- `approval_choice` (string): respondだけに指定する
- `observed_prompt_digest` (string): 直前のinspectが返したdigest。respondだけに指定する
- `operation_id`: durable operationのID。通常pty_send由来の匿名turnでは省略する
- `session_id` (string, required)

Output parameters:

- `action` (string)
- `at` (string)
- `choices` (array)
- `operation_id`
- `prompt_digest` (string)
- `schema` (string)
- `selected_choice`
- `session_id` (string)
- `status` (string)

### `agent_configure` (~132 tokens)

起動済みのClaude／Codex／Grok／Composer／Cursor agent sessionを再起動せず、会話contextを保ったままmodel／reasoning effortを変更する。各harnessのCLI標準model操作を使う。Cursorのreasoning_effort変更はmodelと同時指定する。

Input parameters:

- `model`: 変更後のmodel。省略時はmodelを変更しない
- `reasoning_effort`: 変更後のreasoning effort。省略時はeffortを変更しない
- `session_id` (string, required)

Output parameters:

- `harness` (string)
- `model` (string|null)
- `provider` (string)
- `reasoning_effort` (string|null)
- `schema` (string)
- `session_id` (string)

### `agent_launch` (~881 tokens)

エージェントを単一の標準入口から永続sessionへ起動する。harnessはagent loop・認証・hook・transcriptを所有する実行基盤、modelはそのharnessが選ぶ推論モデルであり別軸。Cursor harnessからGPT／Claude／Grok等を選んでも完了相関はCursor方式のまま。Grok Composerは別harnessではなく harness=grok-cli と model=grok-composer-2.5-fast で指定する。通常CLIと同じHOME・cwd・project/user/local設定・MCP・plugin・skill・permission/trustを共有する。aitermは完了相関stateだけをlaunch単位で所有する。起動されたagentにはsub-agent自己認識、親session、delegation depth/lineage、delegation_allowed=trueを注入し、必要な追加委譲は許可する。dispatch した子は投げっぱなしでよい＝親はここで待たない。Codex親とClaude Code親にはAitermが回答本文を自動配送する。parent_deliveryがある場合はwait起動も通常の回答回収も不要。親は作業を続けるかターンを終える。その他の親では、完了通知をreceiptの `wait_process.executable` と `wait_process.args` をそのまま親のターンを塞がない別プロセスAPIへ渡して受け、PowerShell 7のStart-Processだけは `windows_start_process_argument_list` を単一文字列として渡す。exit を完了通知として扱う（exit 0=done / 3=timeout（既定600秒・未完了） / 4=closed / 7=error（harnessの記録でturnがAPIエラー等で打ち切られた。結果は無い）。receiptのoutcomeが正で、done以外は未完了。ポーリング不要）。`wait_command` は人間向け互換表示でありprocess境界へ使わない。foreground実行で親のターンを塞がない。自動配送以外の結果回収は pty_read(agent_transcript:true)。

Input parameters:

- `cwd` (string|null): 作業ディレクトリ（絶対パス・任意）
- `env_vars` (array): 現在のMCP processから継承する環境変数名
- `harness` (string, required): agent loop・session・hook・transcript・認証を所有する実行基盤
- `image` (array): 初手プロンプトへ添付する画像ファイルの絶対パス（png/jpg/jpeg/gif/webp）
- `launch_operation_id` (string): Claude Codeのpromptなしexact replay相関だけで使用
- `model` (string|null): harnessが選ぶモデル。provider名ではなくlive catalog上のmodel ID
- `prompt` (string|null): 起動時に渡す初手プロンプト（任意）。送信後は待たずに即返る
- `reasoning_effort` (string|null): harness adapterが標準CLI表現へ変換する思考レベル。Cursorではmodel同時指定が必要
- `session_name` (string|null): Aiterm session名（省略で自動採番）
- `throughline_source_session` (string): 同一端末のThroughline sessionから読み取り専用contextを初手へ注入する
- `throughline_supplement_file` (string): Throughline 0.10.8以降へそのまま渡すproject束縛済み長期記憶・知識の補足JSON path
- `trust_project` (boolean): 対象projectを信頼し、既知のworkspace・project hooks・MCP初期同意を起動中に進める
- `write_scope` (string): 能力宣言。read-onlyは対応harnessの標準read-only面で実効禁止する

Output parameters:

- `event_cursor`
- `harness` (string)
- `initial_prompt` (object)
- `managed_completion` (boolean)
- `parent_delivery` (object)
- `provider` (string): 旧互換field。新規連携はharnessを使う
- `schema` (string)
- `session_id` (string)
- `startup` (object)
- `submit_residue` (boolean|null)
- `wait_command` (string|null)
- `wait_process`
- `write_scope` (string)
- `write_scope_enforcement` (string)

### `claude_agent` (~831 tokens)

【旧互換alias。新規連携は agent_launch(harness=claude-code)】Claude Codeの対話エージェントTUIを永続端末に起動する。`claude -p`ではなく、同じ利用者可視sessionへpty_sendで継続入力する。通常CLIと同じHOME・cwd・project/user/local設定・MCP・plugin・skill・permission/trustを共有する。aitermは完了相関stateだけをlaunch単位で所有する。起動されたagentにはsub-agent自己認識、親session、delegation depth/lineage、delegation_allowed=trueを注入し、必要な追加委譲は許可する。通常settingsへlaunch固有Stop hook settingsを加算する。起動前に共有認証を構造化確認し、未認証ならsessionを作らない。dispatch した子は投げっぱなしでよい＝親はここで待たない。Codex親とClaude Code親にはAitermが回答本文を自動配送する。parent_deliveryがある場合はwait起動も通常の回答回収も不要。親は作業を続けるかターンを終える。その他の親では、完了通知をreceiptの `wait_process.executable` と `wait_process.args` をそのまま親のターンを塞がない別プロセスAPIへ渡して受け、PowerShell 7のStart-Processだけは `windows_start_process_argument_list` を単一文字列として渡す。exit を完了通知として扱う（exit 0=done / 3=timeout（既定600秒・未完了） / 4=closed / 7=error（harnessの記録でturnがAPIエラー等で打ち切られた。結果は無い）。receiptのoutcomeが正で、done以外は未完了。ポーリング不要）。`wait_command` は人間向け互換表示でありprocess境界へ使わない。foreground実行で親のターンを塞がない。自動配送以外の結果回収は pty_read(agent_transcript:true)。Claude の durable turn は claude_turn でも回収できる。

Input parameters:

- `cwd` (string|null): 作業ディレクトリ（対象リポのルート等・任意）
- `env_vars` (array): 起動したagentへ現在のMCP processから継承する環境変数名。値はtool引数へ渡さない
- `launch_operation_id` (string): promptなしClaude launchのexact replay相関ID。session_name必須
- `model` (string|null): 起動モデル（例: claude-sonnet-4-6）。省略時はClaude CLI既定
- `prompt` (string|null): 起動時に渡す初手プロンプト（任意）。送信後は待たずに即返る
- `reasoning_effort` (string|null): Claude Code reasoning effort。low/medium/high/xhigh/max。省略時はCLI既定
- `session_name` (string|null): セッション名（省略で自動採番）
- `throughline_source_session` (string): 同一端末のThroughline sessionから所有権を変えずに記憶を読み、promptのmissionより前へ注入する
- `throughline_supplement_file` (string): Throughline 0.10.8以降へそのまま渡すproject束縛済み長期記憶・知識の補足JSON path
- `trust_project` (boolean): 対象projectを信頼し、既知のworkspace・project hooks・MCP初期同意を起動中に進める

Output parameters:

- `event_cursor`
- `harness` (string)
- `initial_prompt` (object)
- `managed_completion` (boolean): 後方互換field。trueはaiterm完了相関が有効という意味で、project/user環境の隔離を意味しない
- `parent_delivery` (object)
- `provider` (string)
- `schema` (string)
- `session_id` (string)
- `startup` (object)
- `submit_residue` (boolean|null)
- `wait_command` (string|null)
- `wait_process`

### `codex_agent` (~1015 tokens)

【旧互換alias。新規連携は agent_launch(harness=codex-cli)】Codexの対話エージェント TUI を永続端末に起動する。実装・レビュー・調査を対話で回す。通常CLIと同じHOME・cwd・project/user/local設定・MCP・plugin・skill・permission/trustを共有する。aitermは完了相関stateだけをlaunch単位で所有する。起動されたagentにはsub-agent自己認識、親session、delegation depth/lineage、delegation_allowed=trueを注入し、必要な追加委譲は許可する。委譲契約を使う完全な呼び出し例: `codex_agent({"prompt":"<依頼>","model":"gpt-5.6-sol","reasoning_effort":"high","cwd":"/absolute/path/to/repo","write_scope":"read-only"})`。turn は pty_send で送る（自動で非ブロック dispatch になる）。dispatch した子は投げっぱなしでよい＝親はここで待たない。Codex親とClaude Code親にはAitermが回答本文を自動配送する。parent_deliveryがある場合はwait起動も通常の回答回収も不要。親は作業を続けるかターンを終える。その他の親では、完了通知をreceiptの `wait_process.executable` と `wait_process.args` をそのまま親のターンを塞がない別プロセスAPIへ渡して受け、PowerShell 7のStart-Processだけは `windows_start_process_argument_list` を単一文字列として渡す。exit を完了通知として扱う（exit 0=done / 3=timeout（既定600秒・未完了） / 4=closed / 7=error（harnessの記録でturnがAPIエラー等で打ち切られた。結果は無い）。receiptのoutcomeが正で、done以外は未完了。ポーリング不要）。`wait_command` は人間向け互換表示でありprocess境界へ使わない。foreground実行で親のターンを塞がない。自動配送以外の結果回収は pty_read(agent_transcript:true)。model / reasoning_effort を引数で指定可（省略時は端末 config／CLI 既定を継承。実効値は起動応答に明示）。

Input parameters:

- `cwd` (string|null): 作業ディレクトリ（対象リポのルート等・任意）
- `env_vars` (array): 起動したagentへ現在のMCP processから継承する環境変数名。値はtool引数へ渡さない
- `model` (string|null): 起動モデル（例: gpt-5.6-sol / gpt-5.6-terra / gpt-5.6-luna）。省略時は端末 config／CLI 既定を継承（端末側のピンがそのまま効く。実効値は起動応答に明示される）
- `prompt` (string|null): 起動時に渡す初手プロンプト（任意）。送信後は待たずに即返る
- `reasoning_effort` (string|null): reasoning effort（思考レベル）。low/medium/high/xhigh/max/ultra（CLI／model 版依存）。ultra は max 推論＋proactive 自動委譲 ON＝使用量急増注意（明示要求時のみ）。省略時は端末 config／CLI 既定。
- `session_name` (string|null): セッション名（省略で自動採番）
- `throughline_source_session` (string): 同一端末のThroughline sessionから所有権を変えずに記憶を読み、promptのmissionより前へ注入する
- `throughline_supplement_file` (string): Throughline 0.10.8以降へそのまま渡すproject束縛済み長期記憶・知識の補足JSON path
- `trust_project` (boolean): 対象projectを信頼し、既知のworkspace・project hooks・MCP初期同意を起動中に進める
- `write_scope` (string): 能力宣言。read-only、または書込みを許可するパスの説明文字列。対応harnessのread-onlyはCLI標準のread-only面で実効禁止する

Output parameters:

- `event_cursor`
- `harness` (string)
- `initial_prompt` (object)
- `managed_completion` (boolean): 後方互換field。trueはaiterm完了相関が有効という意味で、project/user環境の隔離を意味しない
- `parent_delivery` (object)
- `provider` (string)
- `schema` (string)
- `session_id` (string)
- `startup` (object)
- `submit_residue` (boolean|null)
- `wait_command` (string|null)
- `wait_process`
- `write_scope` (string)
- `write_scope_enforcement` (string)

### `grok_agent` (~858 tokens)

【旧互換alias。新規連携は agent_launch(harness=grok-cli)】Grok BuildのGrokモデル（既定 grok-4.6）の対話エージェント TUIを永続端末に起動する。通常CLIと同じHOME・cwd・project/user/local設定・MCP・plugin・skill・permission/trustを共有する。aitermは完了相関stateだけをlaunch単位で所有する。起動されたagentにはsub-agent自己認識、親session、delegation depth/lineage、delegation_allowed=trueを注入し、必要な追加委譲は許可する。turn は pty_send で送る（自動で非ブロック dispatch になる）。dispatch した子は投げっぱなしでよい＝親はここで待たない。Codex親とClaude Code親にはAitermが回答本文を自動配送する。parent_deliveryがある場合はwait起動も通常の回答回収も不要。親は作業を続けるかターンを終える。その他の親では、完了通知をreceiptの `wait_process.executable` と `wait_process.args` をそのまま親のターンを塞がない別プロセスAPIへ渡して受け、PowerShell 7のStart-Processだけは `windows_start_process_argument_list` を単一文字列として渡す。exit を完了通知として扱う（exit 0=done / 3=timeout（既定600秒・未完了） / 4=closed / 7=error（harnessの記録でturnがAPIエラー等で打ち切られた。結果は無い）。receiptのoutcomeが正で、done以外は未完了。ポーリング不要）。`wait_command` は人間向け互換表示でありprocess境界へ使わない。foreground実行で親のターンを塞がない。自動配送以外の結果回収は pty_read(agent_transcript:true)。model／reasoning_effortを引数で指定可。read-only sandboxとagent_configureに対応。

Input parameters:

- `cwd` (string|null): 作業ディレクトリ（対象リポのルート等・任意）
- `env_vars` (array): 起動したagentへ現在のMCP processから継承する環境変数名。値はtool引数へ渡さない
- `model` (string|null): 起動モデル。省略時は grok-4.6。explicit modelを起動前にlive catalogへ照合し、不在ならfallbackせずエラー
- `prompt` (string|null): 起動時に渡す初手プロンプト（任意）。送信後は待たずに即返る
- `reasoning_effort` (string|null): Grok Build reasoning effort。利用可能値はCLI／modelのlive catalogに従う。省略時はCLI／model既定。
- `session_name` (string|null): セッション名（省略で自動採番）
- `throughline_source_session` (string): 同一端末のThroughline sessionから所有権を変えずに記憶を読み、promptのmissionより前へ注入する
- `throughline_supplement_file` (string): Throughline 0.10.8以降へそのまま渡すproject束縛済み長期記憶・知識の補足JSON path
- `trust_project` (boolean): 対象projectを信頼し、既知のworkspace・project hooks・MCP初期同意を起動中に進める
- `write_scope` (string): 能力宣言。read-only、または書込みを許可するパスの説明文字列。対応harnessのread-onlyはCLI標準のread-only面で実効禁止する

Output parameters:

- `event_cursor`
- `harness` (string)
- `initial_prompt` (object)
- `managed_completion` (boolean): 後方互換field。trueはaiterm完了相関が有効という意味で、project/user環境の隔離を意味しない
- `parent_delivery` (object)
- `provider` (string)
- `schema` (string)
- `session_id` (string)
- `startup` (object)
- `submit_residue` (boolean|null)
- `wait_command` (string|null)
- `wait_process`
- `write_scope` (string)
- `write_scope_enforcement` (string)

### `composer_agent` (~875 tokens)

【旧互換alias。新規連携は agent_launch(harness=grok-cli, model=grok-composer-2.5-fast)】Grok BuildのComposerモデルを永続端末に起動する。通常CLIと同じHOME・cwd・project/user/local設定・MCP・plugin・skill・permission/trustを共有する。aitermは完了相関stateだけをlaunch単位で所有する。起動されたagentにはsub-agent自己認識、親session、delegation depth/lineage、delegation_allowed=trueを注入し、必要な追加委譲は許可する。turn は pty_send で送る（自動で非ブロック dispatch になる）。dispatch した子は投げっぱなしでよい＝親はここで待たない。Codex親とClaude Code親にはAitermが回答本文を自動配送する。parent_deliveryがある場合はwait起動も通常の回答回収も不要。親は作業を続けるかターンを終える。その他の親では、完了通知をreceiptの `wait_process.executable` と `wait_process.args` をそのまま親のターンを塞がない別プロセスAPIへ渡して受け、PowerShell 7のStart-Processだけは `windows_start_process_argument_list` を単一文字列として渡す。exit を完了通知として扱う（exit 0=done / 3=timeout（既定600秒・未完了） / 4=closed / 7=error（harnessの記録でturnがAPIエラー等で打ち切られた。結果は無い）。receiptのoutcomeが正で、done以外は未完了。ポーリング不要）。`wait_command` は人間向け互換表示でありprocess境界へ使わない。foreground実行で親のターンを塞がない。自動配送以外の結果回収は pty_read(agent_transcript:true)。model／reasoning_effortを引数で指定可。live catalogにComposer modelがなければGrokへfallbackせず明示エラー。read-only sandboxとagent_configureに対応。

Input parameters:

- `cwd` (string|null): 作業ディレクトリ（対象リポのルート等・任意）
- `env_vars` (array): 起動したagentへ現在のMCP processから継承する環境変数名。値はtool引数へ渡さない
- `model` (string|null): 起動モデル。省略時は grok-composer-2.5-fast。既定／explicit modelを起動前にlive catalogへ照合し、不在ならfallbackせずエラー
- `prompt` (string|null): 起動時に渡す初手プロンプト（任意）。送信後は待たずに即返る
- `reasoning_effort` (string|null): Grok Build reasoning effort。利用可能値はCLI／modelのlive catalogに従う。省略時はCLI／model既定。
- `session_name` (string|null): セッション名（省略で自動採番）
- `throughline_source_session` (string): 同一端末のThroughline sessionから所有権を変えずに記憶を読み、promptのmissionより前へ注入する
- `throughline_supplement_file` (string): Throughline 0.10.8以降へそのまま渡すproject束縛済み長期記憶・知識の補足JSON path
- `trust_project` (boolean): 対象projectを信頼し、既知のworkspace・project hooks・MCP初期同意を起動中に進める
- `write_scope` (string): 能力宣言。read-only、または書込みを許可するパスの説明文字列。対応harnessのread-onlyはCLI標準のread-only面で実効禁止する

Output parameters:

- `event_cursor`
- `harness` (string)
- `initial_prompt` (object)
- `managed_completion` (boolean): 後方互換field。trueはaiterm完了相関が有効という意味で、project/user環境の隔離を意味しない
- `parent_delivery` (object)
- `provider` (string)
- `schema` (string)
- `session_id` (string)
- `startup` (object)
- `submit_residue` (boolean|null)
- `wait_command` (string|null)
- `wait_process`
- `write_scope` (string)
- `write_scope_enforcement` (string)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/kitepon-aiterm-mcp/aiterm-mcp#diagnostics

## Score history

- 2026-09-20: 88
- 2026-09-19: 77
- 2026-09-18: 89
- 2026-09-17: 88
- 2026-09-16: 88
- 2026-09-15: 87
- 2026-09-14: 89
- 2026-09-13: 74
- 2026-09-12: 89
- 2026-09-11: 88
- 2026-09-10: 88
- 2026-09-09: 78
- 2026-09-08: 62
- 2026-09-07: 87
- 2026-09-06: 61
- 2026-09-05: 86
- 2026-09-04: 60
- 2026-09-03: 85
- 2026-09-02: 60
- 2026-09-01: 74
- 2026-08-31: 74
- 2026-08-30: 84
- 2026-08-29: 58
- 2026-08-28: 83
- 2026-08-27: 82
- 2026-08-26: 82
- 2026-08-25: 71
- 2026-08-24: 81
- 2026-08-23: 70
- 2026-08-22: 80

## Common questions

### What is the io.github.kitepon/aiterm-mcp server?

io.github.kitepon/aiterm-mcp is listed in the public MCP registry as io.github.kitepon/aiterm-mcp. Persistent terminals and one launcher for Claude, Codex, Grok, and Cursor harnesses. This page covers its npm package (aiterm-mcp).

### Is the io.github.kitepon/aiterm-mcp server safe to use?

io.github.kitepon/aiterm-mcp scores 88 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.kitepon/aiterm-mcp server expose?

io.github.kitepon/aiterm-mcp exposes 18 tools: diagnostics, pty_open, pty_send, agent_steer, pty_read, and 13 more. Their descriptions and schemas cost roughly 6,886 tokens of context every time the server is loaded.

### Is the io.github.kitepon/aiterm-mcp server still maintained?

io.github.kitepon/aiterm-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.kitepon/aiterm-mcp server under?

io.github.kitepon/aiterm-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/aiterm-mcp
- Socket report: https://socket.dev/npm/package/aiterm-mcp
- Repository: https://github.com/kitepon/aiterm-mcp
- Changelog RSS feed: https://verifymcp.io/servers/kitepon-aiterm-mcp/aiterm-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/kitepon-aiterm-mcp/aiterm-mcp.json
- HTML version of this page: https://verifymcp.io/servers/kitepon-aiterm-mcp/aiterm-mcp
