ツール
LetKite の MCP サーバーが提供するすべてのツールについて、その機能、読み取りだけか変更も行えるか、パラメーターを示します。このページはゲートウェイのコードから生成しているため、AI クライアントに見えるものがそのまま掲載されています。
各ツールには、MCP の標準の注釈が付いています:
- 読み取り専用
readOnlyHint: true:マシン上でも LetKite でも、何も変更しません。 - 破壊的
destructiveHint: true:既存のものを変更または削除する可能性があります。たとえば、コマンドの実行、ファイルの書き込みや削除、ジョブの停止、画面での入力などです。 - セッションを開く・閉じる どちらでもない:シェルセッション、ログの購読、トンネル、Web 共有など、元に戻せるものを追加または削除します。
すべてのツールに openWorldHint: false が付いています。ツールが操作するのは、あなた自身の LetKite アカウント内のマシンだけです。ツールの注釈にかかわらず、すべての呼び出しには接続の権限と承認が適用され、すべての呼び出しが監査ログに記録されます。
ほとんどのツールは host を受け取ります。これは list_hosts で得られるマシンのエイリアスまたはノード ID で、IP アドレスは使えません。
ゲートウェイのコードから生成(letkite/letkite@78168ef、2026-10-19)。ツールは 47 個:読み取り専用 17 個、破壊的 22 個、セッションを開く・閉じるもの 8 個。ツールの説明は、AI クライアントが受け取るとおり英語で表示しています。
| ホストとコマンド | ||
|---|---|---|
list_hosts | List hosts | 読み取り専用 |
host_facts | Host facts | 読み取り専用 |
fleet_status | Gateway status | 読み取り専用 |
exec | Run command | 破壊的 |
exec_many | Run command on many hosts | 破壊的 |
shell_open | Open shell session | セッションを開く・閉じる |
shell_run | Run in shell session | 破壊的 |
shell_close | Close shell session | セッションを開く・閉じる |
| ファイルと転送 | ||
list_dir | List directory | 読み取り専用 |
read_file | Read file | 読み取り専用 |
write_file | Write file | 破壊的 |
delete_path | Delete path | 破壊的 |
copy_between_hosts | Copy file between hosts | 破壊的 |
transfer_start | Start file transfer | 破壊的 |
transfer_status | Transfer status | 読み取り専用 |
transfer_cancel | Cancel transfer | 破壊的 |
| ジョブ、ログ、トンネル、ノード | ||
job_start | Start background job | 破壊的 |
job_status | Job status | 読み取り専用 |
job_output | Read job output | 読み取り専用 |
job_kill | Kill job | 破壊的 |
job_purge | Purge job | 破壊的 |
log_open | Open log subscription | セッションを開く・閉じる |
log_read | Read log lines | 読み取り専用 |
log_close | Close log subscription | セッションを開く・閉じる |
tunnel_open | Open tunnel | セッションを開く・閉じる |
tunnel_http | HTTP through tunnel | 破壊的 |
tunnel_close | Close tunnel | セッションを開く・閉じる |
wake_node | Wake node | 破壊的 |
wake_device | Wake LAN device | 破壊的 |
approval_wait | Wait for approval | 読み取り専用 |
audit_tail | Audit log tail | 読み取り専用 |
| 定期実行 | ||
schedule_create | Create schedule | 破壊的 |
schedule_list | List schedules | 読み取り専用 |
schedule_delete | Delete schedule | 破壊的 |
schedule_runs | Schedule run history | 読み取り専用 |
| Web 共有 | ||
share_create | Create web share | セッションを開く・閉じる |
share_list | List web shares | 読み取り専用 |
share_delete | Delete web share | 破壊的 |
| ターミナル | ||
terminal_open | Open terminal | 破壊的 |
terminal_send | Type into terminal | 破壊的 |
terminal_read | Read terminal output | 読み取り専用 |
terminal_ask | Ask person to type | 破壊的 |
terminal_resize | Resize terminal | セッションを開く・閉じる |
terminal_close | Close terminal | 破壊的 |
| 画面 | ||
gui_observe | Observe screen | 読み取り専用 |
gui_zoom | Zoom into screen | 読み取り専用 |
gui_act | Act on screen | 破壊的 |
ホストとコマンド
list_hosts List hosts 読み取り専用
List every host in the fleet: node_id, alias, address, user, tags, scopes, notes.
Entry point for every other tool. Their host argument takes an alias or a node_id, never a bare IP. Aliases may repeat; if one is ambiguous the call fails and lists the candidate node_ids. Read-only.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
tags | array of string (optional) | いいえ | filter by tag |
host_facts Host facts 読み取り専用
Collect basic facts: distro, kernel, load, memory, disk, current user, containers.
Run this before doing real work on a host so you do not send Debian commands to Alpine, or assume you are root. Read-only: a fixed set of probes that change nothing; needs fleet.read.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
fleet_status Gateway status 読み取り専用
Show the gateway's own state: SSH pool, shell sessions, log subscriptions, tunnels.
Read-only; lists this connection's handles only; needs fleet.read.
exec Run command 破壊的
Run one command on one host and wait for the result.
For work measured in seconds to a couple of minutes. Anything longer (builds, backups, large transfers) belongs in job_start, which survives SSH disconnects. Each call is a fresh process: cd and export do not carry over. Use shell_open when you need that state.
Side effects are whatever the command does. Needs fleet.exec; the connection's command rules and approvals apply (a high-risk command needs confirm=true). Output is capped (32 KB by default) and the timeout clamped (60 s by default, 900 s at most).
Batch several steps into one command rather than making many round trips.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
command | string | はい | bash in a login shell on SSH nodes; on agent nodes the node's default shell (PowerShell on Windows) unless shell= says otherwise |
cwd | string (optional) | いいえ | working directory |
env | object of string (optional) | いいえ | extra environment |
timeout | integer (minimum 1) (optional) | いいえ | seconds |
sudo | boolean | いいえ | run via sudo -n (host must allow it) (既定値 false) |
confirm | boolean | いいえ | confirm a high-risk command (既定値 false) |
shell | string (optional) | いいえ | agent nodes only: sh, bash, zsh, pwsh, powershell or cmd; the node's default when omitted (host_facts lists them) |
exec_many Run command on many hosts 破壊的
Run the same command on several hosts concurrently.
Use this for sweeps instead of looping over exec. One host failing does not stop the others. Same side effects and checks as exec on every target: the command rules check every target before any runs, and one approval covers the sweep. At most 8 hosts by default; each host's output is capped at half of exec's.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
command | string | はい | command to run on every target |
hosts | array of string (optional) | いいえ | aliases or node_ids |
tags | array of string (optional) | いいえ | select by tag instead |
timeout | integer (minimum 1) (optional) | いいえ | |
concurrency | integer (minimum 1, maximum 32) | いいえ | (既定値 5) |
confirm | boolean | いいえ | confirm a high-risk command (既定値 false) |
shell_open Open shell session セッションを開く・閉じる
Open a persistent shell session; cwd, variables and functions persist.
bash on SSH hosts; on agent nodes the node's shell (PowerShell on Windows). For continuous debugging: cd somewhere, source an env, activate a venv, then keep working. Close it with shell_close; idle sessions are reaped after 30 min. Starts a shell process and runs nothing else; needs fleet.exec; at most 4 sessions per host; refused when the command rules are an allowlist.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
cwd | string (optional) | いいえ | initial working directory |
env | object of string (optional) | いいえ | initial environment |
shell | string (optional) | いいえ | agent nodes only: pwsh or powershell on Windows, bash, sh or zsh elsewhere; the node's default when omitted |
shell_run Run in shell session 破壊的
Run a command in an open session; returns exit code, merged output and cwd.
A command inside a session cannot be interrupted on its own: a timeout destroys the session. Use job_start for long work. Side effects are whatever the command does; needs fleet.exec, and the command rules, approvals and output cap of exec apply.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
session_id | string | はい | id from shell_open |
command | string | はい | command to run in that session |
timeout | integer (minimum 1) (optional) | いいえ | |
confirm | boolean | いいえ | confirm a high-risk command (既定値 false) |
shell_close Close shell session セッションを開く・閉じる
Close a persistent shell session and end its shell process. Needs fleet.exec.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
session_id | string | はい | session to close |
ファイルと転送
list_dir List directory 読み取り専用
List a remote directory: type, size, mode, mtime. Optionally recursive.
Read-only; needs fleet.read. Recursion goes 4 levels deep at most and the answer holds at most 2000 entries.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
path | string | いいえ | absolute path, or relative to workdir (既定値 ".") |
depth | integer (minimum 1, maximum 4) | いいえ | recursion depth (既定値 1) |
show_hidden | boolean | いいえ | include dotfiles (既定値 false) |
read_file Read file 読み取り専用
Read a remote file. Text is decoded as UTF-8; set binary=true for base64.
Read-only; needs fleet.read. Returns at most max_bytes per call, never more than the gateway's file limit (4 MB by default); continue from next_offset.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
path | string | はい | remote file path |
max_bytes | integer (minimum 1) | いいえ | max bytes to read (既定値 200000) |
offset | integer (minimum 0) | いいえ | byte offset (既定値 0) |
binary | boolean | いいえ | return base64 for binary files (既定値 false) |
write_file Write file 破壊的
Write a remote file: create, overwrite or append; parent directories are created.
Overwrites are backed up next to the file (<path>.bak-<time>) unless backup=false. Needs fleet.write and may need a person's approval; content is limited to the gateway's file limit (4 MB by default).
Config edits: read_file, write_file with backup, validate with exec (nginx -t, sshd -t), then reload.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
path | string | はい | target path; parent dirs are created |
content | string | はい | file content |
append | boolean | いいえ | append instead of overwrite (既定値 false) |
base64_content | boolean | いいえ | content is base64-encoded (既定値 false) |
mode | string (optional) | いいえ | octal mode, e.g. '0644' |
backup | boolean | いいえ | back up before overwriting (既定値 true) |
delete_path Delete path 破壊的
Delete a remote file, or a directory tree with recursive=true.
Irreversible: nothing is backed up. Requires confirm=true and fleet.write, and may need a person's approval; refuses system directories (/, /etc, /usr, /home, ...).
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
path | string | はい | absolute path to delete |
recursive | boolean | いいえ | recurse into directories (既定値 false) |
confirm | boolean | いいえ | must be true to proceed (既定値 false) |
copy_between_hosts Copy file between hosts 破壊的
Copy a file between two hosts through the gateway.
Replaces the destination file without a backup. Needs fleet.read on the source and fleet.write on the destination; the file must fit the gateway's file limit (4 MB by default). For large files use transfer_start between agent nodes, or exec with rsync/scp directly between the hosts.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
src_host | string | はい | source host |
src_path | string | はい | source path |
dst_host | string | はい | destination host |
dst_path | string | はい | destination path |
transfer_start Start file transfer 破壊的
Copy a file or a whole directory between two agent nodes, of any size.
Runs in the background through the gateway; returns when done or after wait_s with a transfer_id (follow it with transfer_status). Each file appears at its target only complete and checked (SHA-256); links are skipped. Writes on the destination node and replaces files already there only with overwrite=true. Both nodes' policies apply: read (fleet.read) at the source, write (fleet.write) at the destination. For SSH hosts use copy_between_hosts or rsync with exec.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
src_host | string | はい | source agent node |
src_path | string | はい | a file or a directory there |
dst_host | string | はい | destination agent node |
dst_path | string | はい | where it goes: the file's new path (a directory that exists, or a path ending in / or \, receives the file inside it), or the directory to copy into |
overwrite | boolean | いいえ | replace files already there (既定値 false) |
wait_s | integer (minimum 0, maximum 60) | いいえ | wait this long for it to finish (既定値 20) |
transfer_status Transfer status 読み取り専用
Show a transfer's progress: files and bytes done, rate, what failed or was skipped.
Read-only; optionally waits up to wait_s for the transfer to finish.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
transfer_id | string | はい | from transfer_start |
wait_s | integer (minimum 0, maximum 60) | いいえ | wait this long for it to finish (既定値 0) |
transfer_cancel Cancel transfer 破壊的
Stop a transfer. Files already finished stay; the one in progress does not appear.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
transfer_id | string | はい | from transfer_start |
ジョブ、ログ、トンネル、ノード
job_start Start background job 破壊的
Start a detached job on the node and return a job_id immediately.
The job outlives the SSH connection, the gateway restart and this conversation. stdout/stderr land in ~/.letkite/jobs/<job_id>/ on the node. Use this for builds, backups, bulk transfers, benchmarks. Side effects are whatever the command does; needs fleet.exec, and the command rules and approvals of exec apply.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
command | string | はい | command to run in the background |
label | string | いいえ | human-readable label |
cwd | string (optional) | いいえ | working directory |
env | object of string (optional) | いいえ | extra environment |
confirm | boolean | いいえ | confirm a high-risk command (既定値 false) |
shell | string (optional) | いいえ | agent nodes only: sh, bash, zsh, pwsh, powershell or cmd; the node's default when omitted (host_facts lists them) |
job_status Job status 読み取り専用
Show a job's state: running / finished / aborted, plus exit code and output sizes.
Omit job_id to list every job on the host. Read-only; needs fleet.read.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
job_id | string (optional) | いいえ | omit to list all jobs on the host |
job_output Read job output 読み取り専用
Read a job's stdout or stderr. Returns next_offset for a gap-free incremental follow-up.
Read-only; needs fleet.read; at most 32 KB per call by default.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
job_id | string | はい | id from job_start |
stream | string | いいえ | stdout or stderr (既定値 "stdout") |
offset | integer (minimum 0) | いいえ | byte offset; pass back next_offset for incremental reads (既定値 0) |
max_bytes | integer (minimum 1) | いいえ | max bytes to return (既定値 64000) |
tail | boolean | いいえ | ignore offset, return the tail (既定値 false) |
job_kill Kill job 破壊的
Send a signal (TERM by default) to the job's whole process group.
Usually ends the job and everything it started. Needs fleet.exec.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
job_id | string | はい | job to terminate |
signal | string | いいえ | TERM / KILL / INT / HUP (既定値 "TERM") |
job_purge Purge job 破壊的
Delete a finished job's directory and logs. Running jobs are left alone.
Its output cannot be read afterwards. Needs fleet.write.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
job_id | string | はい | finished job to purge |
log_open Open log subscription セッションを開く・閉じる
Start collecting a log on the gateway; read it later with log_read.
Subscribe first, trigger something with exec, then read what appeared. That ordering is not possible with exec alone. On a Windows agent node a channel gives one line per event: time, level, provider, id and message. Starts a tail (journalctl, logread, an event log reader) on the node and changes nothing else; needs fleet.read. Close it with log_close.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
path | string (optional) | いいえ | log file path (or unit, or channel) |
unit | string (optional) | いいえ | systemd unit (Linux) |
channel | string (optional) | いいえ | Windows event log on agent nodes: System, Application, Security, or a channel such as Microsoft-Windows-PowerShell/Operational |
syslog | boolean | いいえ | the system log of an agent node without journald: OpenWrt routers (logread) (既定値 false) |
grep | string (optional) | いいえ | line filter, ERE |
initial_lines | integer (minimum 0, maximum 500) | いいえ | initial history lines (既定値 50) |
log_read Read log lines 読み取り専用
Read new log lines. dropped_lines > 0 means the ring buffer overflowed.
Read-only; needs fleet.read; at most 2000 lines per call.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
sub_id | string | はい | id from log_open |
since_seq | integer (minimum 0) | いいえ | next_seq from the previous call, 0 to start (既定値 0) |
limit | integer (minimum 1, maximum 2000) | いいえ | max lines (既定値 300) |
log_close Close log subscription セッションを開く・閉じる
Close a subscription and kill the remote tail/journalctl.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
sub_id | string | はい | subscription to close |
tunnel_open Open tunnel セッションを開く・閉じる
Forward a node-local port to the gateway.
Pair with tunnel_http to reach admin interfaces bound to 127.0.0.1 on the node (Grafana, Prometheus, pprof, database HTTP gateways), or a device on the node's network. On agent nodes the node's ceiling.toml (tunnel_targets) and this connection's policy decide which addresses and ports are reachable; a refusal says so. The gateway listens on its own loopback only and closes the tunnel after 1 hour; needs fleet.admin and may need a person's approval.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
remote_port | integer (minimum 1, maximum 65535) | はい | remote port |
remote_host | string | いいえ | target address as seen from the node (既定値 "127.0.0.1") |
tunnel_http HTTP through tunnel 破壊的
Send one HTTP request through an open tunnel; returns status, headers and body.
Any method goes: a POST, PUT or DELETE changes whatever the service behind the tunnel does with it. Needs fleet.admin; the body read back is cut at 32 KB by default.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
tunnel_id | string | はい | id from tunnel_open |
path | string | いいえ | request path (既定値 "/") |
method | string | いいえ | HTTP method (既定値 "GET") |
headers | object of string (optional) | いいえ | extra headers |
body | string (optional) | いいえ | request body |
timeout | integer (minimum 1, maximum 120) | いいえ | (既定値 20) |
tunnel_close Close tunnel セッションを開く・閉じる
Close a tunnel; requests through it stop working. Needs fleet.admin.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
tunnel_id | string | はい | tunnel to close |
wake_node Wake node 破壊的
Wake a sleeping agent node with Wake-on-LAN, through another node of the account.
The other node must be online on the same network (same subnet, same public address) and the sleeping machine's network card set to wake on a magic packet. Powers the machine on; needs fleet.exec on it and may need a person's approval.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | a sleeping agent node (list_hosts says asleep or offline) |
wait | integer (minimum 0, maximum 180) | いいえ | seconds to wait for it to connect (既定値 60) |
wake_device Wake LAN device 破壊的
Wake a machine with no agent (a NAS, a PC) by Wake-on-LAN.
via sends the magic packet to the broadcast address of one of its own networks. Nothing confirms the machine woke: check it after a minute, e.g. exec ping on via. Its card must be set to wake on a magic packet. Needs fleet.exec on via and may need a person's approval.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
via | string | はい | an online agent node on the device's LAN, e.g. the router |
mac | string | はい | the device's hardware address, aa:bb:cc:dd:ee:ff |
network | string (optional) | いいえ | which of via's networks the device is on (192.168.1.0/24, or an address in it); needed when via is on more than one |
approval_wait Wait for approval 読み取り専用
Wait for a person to approve or turn down a call that needs approval.
Approved: call the same tool again with exactly the same arguments; the approval is for that call, once. Turned down or expired: do not retry, ask the user instead. Read-only: it only reports the decision.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
approval_id | string | はい | the id a call said it is waiting for |
wait_s | integer (minimum 0, maximum 60) | いいえ | wait this long at most for a decision (既定値 40) |
audit_tail Audit log tail 読み取り専用
Tail the gateway audit log: who ran what, where, when (newest last).
Read-only; needs fleet.admin; at most 500 records per call. The gateway's own records are all there; the sign-in service's may arrive up to 100 ms late.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
limit | integer (minimum 1, maximum 500) | いいえ | how many records (既定値 50) |
event | string (optional) | いいえ | only these events: "tool", "agent" (agent.*), "console" ... |
host | string (optional) | いいえ | only records about this host |
定期実行
schedule_create Create schedule 破壊的
Run a command on a node on a schedule, e.g. a backup every night.
Every run starts the command as a detached job, with the same effects as job_start; needs fleet.exec and a plan that includes schedules. Runs under this connection: its policy, command rules and approvals apply at every run (a command that needs a person's approval asks at each run and is skipped if nobody approves). Revoking the connection stops it. Failed and missed runs are emailed to the user. Tell the user what you scheduled and when it next runs.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id from list_hosts |
name | string | はい | what it is, e.g. nightly backup |
cron | string | はい | five fields "minute hour day-of-month month day-of-week", e.g. "0 3 * * *" (03:00 every day), "*/15 9-17 * * 1-5", or @daily / @hourly |
command | string | はい | the command; it runs as a detached job |
tz | string | いいえ | IANA time zone of the times, e.g. Asia/Singapore (既定値 "UTC") |
shell | string (optional) | いいえ | agent nodes only: sh, bash, zsh, pwsh, powershell or cmd; the node's default when omitted (host_facts lists them) |
timeout_s | integer (minimum 10, maximum 86400) | いいえ | stop the run after this long (既定値 3600) |
wake | boolean | いいえ | wake the machine first when it sleeps (Wake-on-LAN through a node on its network) (既定値 true) |
catch_up | boolean | いいえ | a run missed while the gateway was down runs late instead of being skipped (既定値 false) |
confirm | boolean | いいえ | confirm a high-risk command (既定値 false) |
schedule_list List schedules 読み取り専用
List the schedules this connection made, with their next and last run.
schedule_delete Delete schedule 破壊的
Remove a schedule this connection made; no further runs, a run in progress finishes.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
schedule_id | string | はい | from schedule_create or schedule_list |
schedule_runs Schedule run history 読み取り専用
List a schedule's recent runs: when, how (woken?), exit code, the end of the output.
Also says why a run failed, was missed or skipped. Read-only.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
schedule_id | string | はい | from schedule_create or schedule_list |
limit | integer (minimum 1, maximum 50) | いいえ | most recent first (既定値 5) |
Web 共有
ターミナル
terminal_open Open terminal 破壊的
Open an interactive terminal (a shell on a pseudo-terminal) on a node.
For programs that need one: prompts that ask, menus, sign-ins (gh auth login), REPLs, top, less. Prefer exec or shell_run for plain commands. Give command= to start one right away. Type with terminal_send, close with terminal_close. Starts a shell, and with command= runs that command at once (command rules and approvals apply as for exec); needs fleet.exec; at most 8 terminals per connection; refused when the command rules are an allowlist.
Each answer has the output since the last call and, when the program looks like it asks something, waiting_for: {kind: choice | confirm | password | device_code | text, prompt, ...} with how to answer.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id: an agent node (Linux, macOS, Windows) or an SSH node |
cols | integer (minimum 20, maximum 500) | いいえ | width (既定値 120) |
rows | integer (minimum 5, maximum 200) | いいえ | height (既定値 40) |
shell | string (optional) | いいえ | sh, bash or zsh; pwsh, powershell or cmd on Windows; the node's default when omitted (bash over SSH, PowerShell on Windows) |
cwd | string (optional) | いいえ | working directory |
command | string (optional) | いいえ | typed at the prompt once it shows, as terminal_send would (enter included) |
until | string (optional) | いいえ | wait until this shows up in the output (any case), or regex:<expression>; the call returns once it does, when the terminal ends, when the program stops to ask something else, or after wait_ms (up to 10 minutes); with command |
wait_ms | integer (minimum 0, maximum 600000) | いいえ | how long to wait for the prompt (for the command's output with command) (既定値 3000) |
confirm | boolean | いいえ | confirm a high-risk command (既定値 false) |
terminal_send Type into terminal 破壊的
Type into a terminal and return what it printed since the last call.
Returns once the output stops with the cursor after a prompt (or a menu) on screen, or with until once that text shows up. waiting_for says what the program asks, if it asks. Keystrokes act as typed (enter runs a command, ctrl+c interrupts); typed text passes the command rules and approvals; needs fleet.exec.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
terminal_id | string | はい | from terminal_open |
text | string (optional) | いいえ | typed as is; end a command with keys=["enter"] or \r |
keys | array of string (optional) | いいえ | pressed after the text, in order: enter, tab, escape, backspace, up, down, left, right, home, end, pageup, pagedown, delete, f1-f12, ctrl+c, ctrl+d, alt+x |
until | string (optional) | いいえ | wait until this shows up in the output (any case), or regex:<expression>; the call returns once it does, when the terminal ends, when the program stops to ask something else, or after wait_ms (up to 10 minutes) |
wait_ms | integer (minimum 0, maximum 600000) | いいえ | wait this long at most: for the output to stop with a prompt on screen, or for until (既定値 3000) |
confirm | boolean | いいえ | confirm a high-risk command (既定値 false) |
terminal_read Read terminal output 読み取り専用
Show what a terminal printed since the last call, without typing.
With until, wait for it: a sign-in finishing, a build printing "done". Read-only; needs fleet.read.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
terminal_id | string | はい | from terminal_open |
until | string (optional) | いいえ | wait until this shows up in the output (any case), or regex:<expression>; the call returns once it does, when the terminal ends, when the program stops to ask something else, or after wait_ms (up to 10 minutes) |
wait_ms | integer (minimum 0, maximum 600000) | いいえ | wait this long at most for output (for until) (既定値 0) |
terminal_ask Ask person to type 破壊的
Hand the program's next answer to the person who connected you.
A password, a passphrase, a one-time code, anything that should not pass through the conversation. They get a notification (phone, email) and type it in the LetKite console; it goes into the terminal followed by enter. You get what the program printed after it and how many characters were typed, never the text (masked if the program shows it). Needs fleet.exec.
Waits for them up to wait_ms, sending progress meanwhile; if they have not answered by then, call terminal_ask again to keep waiting for the same request (it stays open 15 minutes). Tell the user in the conversation that the console is waiting for them.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
terminal_id | string | はい | from terminal_open |
prompt | string (maxLength 300) (optional) | いいえ | what to tell the person, when the program's own prompt does not say it |
until | string (optional) | いいえ | wait until this shows up in the output (any case), or regex:<expression>; the call returns once it does, when the terminal ends, when the program stops to ask something else, or after wait_ms (up to 10 minutes); after the answer |
wait_ms | integer (minimum 1000, maximum 600000) | いいえ | how long to wait for the person (then for the output) (既定値 300000) |
terminal_resize Resize terminal セッションを開く・閉じる
Change a terminal's size; full-screen programs redraw.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
terminal_id | string | はい | from terminal_open |
cols | integer (minimum 20, maximum 500) | はい | width |
rows | integer (minimum 5, maximum 200) | はい | height |
terminal_close Close terminal 破壊的
Close a terminal; its shell and what runs in it end. Needs fleet.exec.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
terminal_id | string | はい | from terminal_open |
画面
gui_observe Observe screen 読み取り専用
接続のポリシーで画面ツールがオンになっている場合にのみ一覧に表示されます。
Look at a window on an agent node (Windows), or the whole screen: who and what is on it.
The tree lists elements with short ids (e3) to use in gui_act; prefer it to images, which cost far more context. The first line says whether the desktop is active, locked or taken over at the machine. Read-only: nothing on the desktop changes; needs the connection's gui level observe or act.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id of an agent node (list_hosts) |
window | string (optional) | いいえ | window id from a previous gui_observe (w1); default: the focused window |
app | string (optional) | いいえ | or the app whose window to use, as the window list names it |
screen | boolean | いいえ | or the whole screen, every display: a picture only, and only for a connection that may see every app; a point in it works in gui_act on the window there (既定値 false) |
mode | string | いいえ | tree: the accessibility tree, cheapest (default); text: OCR words with positions, for canvases and remote desktops; image: a screenshot; marks: both (既定値 "tree") |
region | array of integer (optional) | いいえ | [x, y, width, height] in screen pixels: only this part |
tree_root | string (optional) | いいえ | only this element's subtree, e.g. the next page of a long list |
child_offset | integer (minimum 0) | いいえ | with tree_root: from this child on (既定値 0) |
max_nodes | integer (minimum 10, maximum 2000) (optional) | いいえ | elements at most |
include_text | boolean | いいえ | also static text elements (既定値 false) |
last_image_id | string (optional) | いいえ | image id you already have: if nothing changed, no new image is sent |
max_long_edge | integer (minimum 200, maximum 2576) (optional) | いいえ | image size limit, pixels |
gui_zoom Zoom into screen 読み取り専用
接続のポリシーで画面ツールがオンになっている場合にのみ一覧に表示されます。
Capture part of a window (or of the screen) at its own resolution, to read small text.
Read-only; same permission as gui_observe.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id of an agent node (list_hosts) |
region | array of integer | はい | [x, y, width, height] in screen pixels |
window | string (optional) | いいえ | window id from a previous gui_observe (w1); default: the focused window |
app | string (optional) | いいえ | or the app whose window to use, as the window list names it |
screen | boolean | いいえ | or the whole screen, every display: a picture only, and only for a connection that may see every app; a point in it works in gui_act on the window there (既定値 false) |
gui_act Act on screen 破壊的
接続のポリシーで画面ツールがオンになっている場合にのみ一覧に表示されます。
Click, type and press keys in a window on an agent node, by element ids from gui_observe.
Points in an image gui_observe sent work too. This acts as a person at the machine would: whatever a click or keystroke does (send, delete, close) happens. Needs the connection's gui level act and may need a person's approval.
Batch the steps of one task; waiting happens on the node ({"wait": ..}), so there is no need to observe in between. Returns what changed.
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
host | string | はい | alias or node_id of an agent node (list_hosts) |
steps | array of object | はい | run in order on the node, stopping at the first that fails: {"click": "e3"} (or "double_click", "right_click"; "button", "count", "modifiers"), {"click": {"image": "i2", "x": 40, "y": 12}}, {"type": "text", "into": "e2", "replace": true}, {"key": "ctrl+s", "repeat": 1}, {"scroll": "e4", "dy": 3} (or "until_visible": "e40"), {"drag": "e10", "to": "e20"}, {"set_value": "e2", "value": "x"}, {"focus": "w2"}, {"launch": "app", "args": []}, {"close": "w2"} (or true: the target window; as its close button does), {"wait": {"appears": "e7"}} (or {"role": "dialog", "name": "Save"}; "disappears", "title": "regex", "stable_ms": 500; "timeout_ms") |
window | string (optional) | いいえ | window id from a previous gui_observe (w1); default: the focused window |
app | string (optional) | いいえ | or the app whose window to use, as the window list names it |
observe | string | いいえ | what to return afterwards: delta (what changed, default), tree, image or none (既定値 "delta") |
base_snapshot | string (optional) | いいえ | the delta is against this snapshot; default: the latest |
timeout | integer (minimum 1, maximum 300) | いいえ | seconds for all steps (既定値 60) |