MCP tools reference
Call every governed Atoi MCP tool, with source-backed arguments and result shapes
Use this reference after you connect a coding client through MCP and plugins. Each call acts on the same Atoi records as the apps and returns a governed result envelope.
#atoi_projects
List, get, create, update, archive, or restore governed Atoi Projects.
#Arguments for atoi_projects
| Argument | Type | What it does |
|---|---|---|
action required | list | get | create | update | archive | restore | Choose the Project operation to run. Allowed values: list, get, create, update, archive, restore. |
project_id | string | Select the Project by id. Required when action is get, update, archive, or restore. |
workspace_id | string | List the Projects of one Workspace; without it, your Personal Workspace. |
name | string | Set the Project name. Required when action is create. |
description | string | Set the Project description. |
instructions | string | Set the instructions applied to work in the Project. |
kind | chat | code | Choose whether the Project is for chat or code work. Allowed values: chat, code. |
repo_url | string | Set the source repository URL. |
repo_branch | string | Set the source repository branch. |
directory_path | string | Set the directory path inside the source repository. |
include_archived | boolean | Include archived Projects in list results. |
default_task_profile | safe | workspace-write | Choose the default safety profile for new Tasks. Allowed values: safe, workspace-write. |
confirmation | boolean | Confirm the consequential Project action. Required when action is archive. |
idempotency_key | string | Reuse the same mutation identity when you retry this action. Required when action is create, update, archive, or restore. |
- When action is update, provide at least one of name, description, instructions, or default_task_profile.
- When action is create and directory_path is provided, also provide repo_url.
- When action is create and repo_branch is provided, also provide repo_url.
- When action is create and repo_url is provided, also provide repo_branch.
#Result from atoi_projects
Returns a Project list or a Project, source, and receipt projection as JSON text content.
#Call and response for atoi_projects
{
"tool": "atoi_projects",
"arguments": {
"action": "get",
"project_id": "prj_8k2v"
}
}{
"project": {
"id": "prj_8k2v",
"name": "Atlas notes"
},
"source": {
"binding": null
}
}#atoi_workspace
Show or bind the stable source associated with an Atoi Project.
#Arguments for atoi_workspace
| Argument | Type | What it does |
|---|---|---|
action required | create | update | list | show | bind | status | report | changes | Choose the Workspace or source operation to run. Allowed values: create, update, list, show, bind, status, report, changes. |
name | string | Name the Workspace to create, or rename it. Required when action is create. |
description | string | Describe what the Workspace is for. |
emoji | string | Mark the Workspace with an emoji. |
color | string | Mark the Workspace with one of the ten colors, or color an icon. |
icon | string | Mark the Workspace with an icon on a color. |
clear_mark | boolean | Return the Workspace to its letter mark. |
workspace_id | string | Select the Workspace to update. Required when action is update. |
project_id | string | Select the Project by id. Required when action is show, bind, status, report, or changes. |
repo_url | string | Set the source repository URL. Required when action is bind. |
repo_branch | string | Set the source repository branch. Required when action is bind. |
directory_path | string | Set the local directory that supplies source status. |
task_id | string | Select the Task whose change set you want to read. |
base_revision | string | Report the source revision used as the comparison base. |
current_revision | string | Report the current source revision. |
dirty | boolean | Report whether the source has uncommitted changes. |
ahead | number | Report how many commits the source is ahead. |
behind | number | Report how many commits the source is behind. |
sync_state | unknown | in-sync | ahead | behind | diverged | Report the source synchronization state. Allowed values: unknown, in-sync, ahead, behind, diverged. |
preview_status | unknown | ready | unavailable | Report whether a preview is ready. Allowed values: unknown, ready, unavailable. |
preview_url | string | Set the URL for the ready preview. |
supplied_by | connected-host | cloud | operator | Identify the surface that supplied the source status. Allowed values: connected-host, cloud, operator. |
observed_at | number | Set the source observation time as a Unix timestamp in milliseconds. |
idempotency_key | string | Reuse the same mutation identity when you retry this action. Required when action is bind. |
#Result from atoi_workspace
Returns Project source binding, source state, change sets, and mutation receipts as JSON text content.
#Call and response for atoi_workspace
{
"tool": "atoi_workspace",
"arguments": {
"action": "show",
"project_id": "prj_8k2v"
}
}{
"project": {
"id": "prj_8k2v",
"name": "Atlas notes"
},
"source": {
"projectId": "prj_8k2v",
"binding": null
}
}#atoi_tasks
List, get, start, cancel, continue, inspect, apply, or publish authoritative Atoi Task change sets. Poll get to wait for completion.
#Arguments for atoi_tasks
| Argument | Type | What it does |
|---|---|---|
action required | list | get | start | cancel | continue | changes | apply | draft-pr | Choose the Task operation to run. Allowed values: list, get, start, cancel, continue, changes, apply, draft-pr. |
task_id | string | Select the Task by id. |
project_id | string | Select the Project that owns the Task. |
prompt | string | Describe the work to start or continue. |
brief | string | Provide an alternate brief when you start the Task. |
title | string | Set the Task title. |
model_id | string | Choose the model for the Task. |
safety_profile | safe | workspace-write | Choose how much workspace access the Task receives. Allowed values: safe, workspace-write. |
limit | number | Limit the number of Tasks returned. |
confirmation | boolean | Confirm the consequential Task action. |
idempotency_key | string | Reuse the same mutation identity when you retry this action. |
change_set_id | string | Select the change set to apply. |
change_set_fingerprint | string | Provide the verified change set fingerprint. |
applied_revision | string | Record the source revision produced by the applied change set. |
head_branch | string | Set the branch used for the draft pull request. |
pull_request_title | string | Set the draft pull request title. |
pull_request_body | string | Set the draft pull request body. |
#Result from atoi_tasks
Returns Task state, change sets, placement requests, or action receipts as JSON text content.
#Call and response for atoi_tasks
{
"tool": "atoi_tasks",
"arguments": {
"action": "start",
"project_id": "prj_8k2v",
"prompt": "Audit the release state and return evidence.",
"safety_profile": "safe"
}
}{
"task": {
"id": "tsk_3m9q",
"status": "queued"
}
}#atoi_threads
List, inspect, send to, steer, retry, pin, or unpin governed Atoi threads through the authenticated operator surface. A running reply is steered, never stopped.
#Arguments for atoi_threads
| Argument | Type | What it does |
|---|---|---|
action required | list | get | resolve | send | reply | steer | attach | retry | react | approve | deny | launch | pin | unpin | timings | Choose the Thread operation to run. Allowed values: list, get, resolve, send, reply, steer, attach, retry, react, approve, deny, launch, pin, unpin, timings. |
thread_id | string | Select the Thread by id. |
workspace_id | string | Select the Workspace whose one Thread to act on, instead of a Thread id. |
project_id | string | Limit list results to one Project. |
prompt | string | Write the message to send to the Thread. Required when action is send, reply, steer, or launch. |
attachments | array | Send files with this message. Reserve each one first with the attach action, put the bytes at the URL it returns, then name the keys here. |
attachments[] | object | Describe one file this message carries. |
attachments[].storage_key required | string | Name the key the attach action reserved for this file. |
attachments[].name required | string | Set the file name the conversation will show. |
attachments[].mime_type required | string | Set the file type. Images, text, PDF, and JSON are accepted. |
attachments[].size required | number | Set the file size in bytes. The limit is 25MB. |
reply_to_message_id | string | Answer one message in the Thread by id. Required when action is reply. |
message_id | string | Select the message to act on. Required when action is react. |
emoji | string | Set the emoji to apply to the message. Required when action is react. |
reaction | add | remove | toggle | Choose whether the reaction is added, removed, or toggled. Allowed values: add, remove, toggle. |
request_id | string | Select the Ask to answer. Required when action is approve or deny. |
always | boolean | Approve this kind of action from now on. |
confirmation | boolean | Confirm the consequential action after you read what it will do. Required when action is approve or deny. |
title | string | Name the Task this Thread launches. |
safety_profile | safe | workspace-write | Choose the safety profile the Task runs under. Allowed values: safe, workspace-write. |
place | none | cloud | host | Choose where the Task runs. Allowed values: none, cloud, host. |
computer_id | string | Name the computer the Task runs on. |
required_identity | string | Name the account identity this call must run as. |
required_capability | string | Name the capability this call requires before it runs. |
model_id | string | Choose the model for this message. |
reasoning_strength | default | none | minimal | low | medium | high | xhigh | max | Choose the reasoning strength for this message. Allowed values: default, none, minimal, low, medium, high, xhigh, max. |
context_refs | array | Attach structured context references to this message. |
context_refs[] | object | Describe one context reference. |
context_refs[].kind | skill | project | file | folder | thread | task | command | branch | process | terminal | error | Choose the context reference kind. Allowed values: skill, project, file, folder, thread, task, command, branch, process, terminal, error. |
context_refs[].type | skill | project | file | folder | thread | task | command | branch | process | terminal | error | Provide the compatibility alias for the context reference kind. Allowed values: skill, project, file, folder, thread, task, command, branch, process, terminal, error. |
context_refs[].id | string | Set the context reference id. |
context_refs[].label required | string | Set the visible label for the context reference. |
context_refs[].value | string | Set the context reference value. |
context_refs[].metadata | object | Attach additional JSON metadata to the context reference. |
delivery_id | string | Set the durable delivery identity for this message. |
idempotency_key | string | Reuse the same mutation identity when you retry this action. Required when action is react, pin, or unpin. |
limit | number | Limit the number of Threads or messages returned. |
- When action is get, send, reply, steer, attach, retry, react, approve, deny, launch, pin, or unpin, provide at least one of thread_id or workspace_id.
- When action is send, reply, or steer, provide at least one of delivery_id or idempotency_key.
#Result from atoi_threads
Returns Thread state, messages, and send or mutation receipts as JSON text content.
#Call and response for atoi_threads
{
"tool": "atoi_threads",
"arguments": {
"action": "send",
"thread_id": "thr_9c4k",
"prompt": "Summarize the release blockers.",
"delivery_id": "msg_release_1"
}
}{
"thread": {
"id": "thr_9c4k"
},
"receipt": {
"status": "completed",
"messageId": "msg_2v7b"
}
}#atoi_search
Search accessible Atoi threads, messages, projects, Tasks, files, and outputs.
#Arguments for atoi_search
| Argument | Type | What it does |
|---|---|---|
query required | string | Enter the text to search for. |
scope | string | Limit search to one accessible record scope. |
limit | number | Limit the number of matches returned. |
#Result from atoi_search
Returns the matched accessible records as JSON text content.
#Call and response for atoi_search
{
"tool": "atoi_search",
"arguments": {
"query": "release evidence",
"limit": 10
}
}{
"query": "release evidence",
"results": []
}#atoi_inbox
List and resolve durable Atoi Inbox decisions with exact item and approval identity.
#Arguments for atoi_inbox
| Argument | Type | What it does |
|---|---|---|
action required | list | keep | edit | dismiss | approve | deny | snooze | Choose the Inbox operation: keep, edit, or dismiss a memory card; approve or deny an approval; snooze any card. Allowed values: list, keep, edit, dismiss, approve, deny, snooze. |
item_id | string | Select the Inbox item by id. |
request_id | string | Select the approval request by id. |
text | string | Set the new words when action is edit on a memory card. |
status | unread | read | snoozed | resolved | Limit list results to one Inbox status. Allowed values: unread, read, snoozed, resolved. |
snoozed_until | number | Set the snooze deadline as a Unix timestamp in milliseconds. |
confirmation | boolean | Confirm the consequential Inbox decision. |
limit | number | Limit the number of Inbox items returned. |
#Result from atoi_inbox
Returns Inbox items or decision results as JSON text content.
#Call and response for atoi_inbox
{
"tool": "atoi_inbox",
"arguments": {
"action": "list",
"status": "unread",
"limit": 10
}
}{
"items": [
{
"id": "inb_4d6p",
"status": "unread",
"title": "Publish release notes"
}
]
}#atoi_automations
List, inspect, create, update, toggle, trigger, or remove Atoi Automations with schedule and receipt results.
#Arguments for atoi_automations
| Argument | Type | What it does |
|---|---|---|
action required | list | get | create | update | toggle | trigger | remove | Choose the Automation operation to run. Allowed values: list, get, create, update, toggle, trigger, remove. |
automation_id | string | Select the Automation by id. |
project_id | string | null | Attach the Automation to a Project, or use null to clear it. |
name | string | Set the Automation name. |
description | string | Set the Automation description. |
prompt | string | Set the instructions the Automation runs. |
model_id | string | Choose the model for Automation runs. |
enabled | boolean | Enable or disable the Automation. |
enabled_only | boolean | Return only enabled Automations. |
input_message | string | Provide the message used for this manual run. |
confirmation | boolean | Confirm the consequential Automation action. |
idempotency_key | string | Reuse the same identity when you retry a create or a trigger, so a retry does not make a second automation or run it twice. |
limit | number | Limit the number of Automations returned. |
schedule | object | Configure when the Automation runs. |
schedule.type required | manual | daily | interval | monthly | once | Choose the schedule type. A once schedule runs one time and then the Automation retires. Allowed values: manual, daily, interval, monthly, once. |
schedule.date | string | Set the calendar date a once schedule runs on, as YYYY-MM-DD on the local clock of the time zone. |
schedule.hour | number | Set the scheduled hour on the local clock of the Automation time zone, never UTC. |
schedule.minute | number | Set the scheduled minute on that same local clock. |
schedule.hourUTC | number | Older name for schedule.hour. The same local clock, never UTC. |
schedule.minuteUTC | number | Older name for schedule.minute. The same local clock. |
schedule.hours | number | Set the interval length in hours. |
schedule.daysOfWeek | array | Set the weekdays when the Automation runs. |
schedule.daysOfWeek[] | number | Provide one weekday as a number. |
schedule.dayOfMonth | number | Set the day of the month when the Automation runs. |
#Result from atoi_automations
Returns Automation records, receipts of what they ran, or mutation results as JSON text content.
#Call and response for atoi_automations
{
"tool": "atoi_automations",
"arguments": {
"action": "trigger",
"automation_id": "aut_5k1m",
"input_message": "Check the candidate tag."
}
}{
"receipt": {
"automationId": "aut_5k1m",
"runId": "run_4q7c"
}
}#atoi_ideas
Read, refresh, answer, or dismiss the Ideas the agent writes for the signed-in person.
#Arguments for atoi_ideas
| Argument | Type | What it does |
|---|---|---|
action required | list | refresh | answer | dismiss | Choose the Ideas operation to run. Allowed values: list, refresh, answer, dismiss. |
delivery_id | string | Select the current ask by delivery id. |
option_id | string | The option id to choose for the ask. |
connection_id | github | slack | linear | google-workspace | The connection idea to dismiss. Allowed values: github, slack, linear, google-workspace. |
workspace_id | string | Read Ideas inside one Workspace by id. Personal when omitted. |
#Result from atoi_ideas
Returns the Ideas as JSON text content: the sections and their tiles, when they were written, and the current ask with its options; refresh returns a scheduled status.
#Call and response for atoi_ideas
{
"tool": "atoi_ideas",
"arguments": { "action": "list" }
}{
"status": "confirmed",
"ideas": {
"written": { "writtenAt": 1788990000000 },
"generatedAt": 1788990000000,
"nothingMaterial": false,
"current": null,
"sections": [
{
"title": "Teach it your style",
"tiles": [{ "title": "Connect your computer" }]
}
]
}
}#atoi_plan
List the plans in one Workspace or Project with their ids, titles, status and progress, or retire or restore one of the person's plans.
#Arguments for atoi_plan
| Argument | Type | What it does |
|---|---|---|
action required | list | archive | restore | Choose the plan operation: list the plans, retire one, or bring one back. Allowed values: list, archive, restore. |
plan_id | string | Select the plan to retire or restore, by the id list returns. |
project_id | string | Read one Project instead of the whole Workspace. |
workspace_id | string | Read or act inside one Workspace by id. Personal when omitted. |
include_archived | boolean | Include retired plans in the list. |
limit | number | Limit the number of plans returned. |
#Result from atoi_plan
Returns the plans in the scope read with their ids, status and progress, or the retired or restored plan with its receipt, as JSON text content.
#Call and response for atoi_plan
{
"tool": "atoi_plan",
"arguments": {
"action": "archive",
"plan_id": "pln_3k8d",
"workspace_id": "wsp_7m4c"
}
}{
"plan": {
"planId": "pln_3k8d",
"title": "Friday launch",
"status": "archived"
},
"receipt": {
"planId": "pln_3k8d",
"status": "archived"
}
}#atoi_usage
Read what this person's turns cost: today, the last days, and the models that spent it.
#Arguments for atoi_usage
| Argument | Type | What it does |
|---|---|---|
action required | get | Read the usage summary. Allowed values: get. |
days | number | How many days back to read. Seven when omitted. |
from | string | Read from this time, as an ISO time or a millisecond timestamp. The answer names the range it read. |
to | string | Read up to this time; now when omitted. |
workspace_id | string | Read one Workspace by id. Personal when omitted. |
#Result from atoi_usage
Returns the usage summary for the scope read: today, the window, a row per day, and a row per model, as JSON text content.
#Call and response for atoi_usage
Costs are in microdollars: 420000 is $0.42, and range gives the window endpoints as Unix milliseconds
{
"tool": "atoi_usage",
"arguments": {
"action": "get",
"days": 7,
"workspace_id": "wsp_7m4c"
}
}{
"resource": "usage",
"action": "get",
"status": "confirmed",
"scope": {
"mode": "workspace",
"workspaceId": "wsp_7m4c",
"name": "Launch"
},
"range": {
"days": 7,
"from": 1788955200000,
"to": 1789560000000
},
"usage": {
"range": {
"days": 7,
"from": 1788955200000,
"to": 1789560000000
},
"today": {
"turns": 1,
"inputTokens": 1000,
"outputTokens": 400,
"costMicrodollars": 420000,
"unpricedTurns": 0
},
"window": {
"turns": 2,
"inputTokens": 4000,
"outputTokens": 1000,
"costMicrodollars": 3100000,
"unpricedTurns": 0
},
"days": [
{
"day": "2026-09-16",
"turns": 1,
"inputTokens": 1000,
"outputTokens": 400,
"costMicrodollars": 420000,
"unpricedTurns": 0
},
{
"day": "2026-09-15",
"turns": 1,
"inputTokens": 3000,
"outputTokens": 600,
"costMicrodollars": 2680000,
"unpricedTurns": 0
}
],
"models": [
{
"model": "deepseek-v4-pro",
"provider": "deepseek",
"turns": 2,
"inputTokens": 4000,
"outputTokens": 1000,
"costMicrodollars": 3100000,
"unpricedTurns": 0
}
],
"truncated": false
}
}#atoi_channels
List and inspect your messaging links (Telegram, Slack, push), open browser-native connection flows, revoke links, or send a receipt-backed test.
#Arguments for atoi_channels
| Argument | Type | What it does |
|---|---|---|
action required | list | get | authorize | revoke | test | Choose the messaging-link operation to run. Allowed values: list, get, authorize, revoke, test. |
channel_id | string | Select the messaging link by id. |
link_id | string | Select the connected messaging link by id. Required when action is test. |
channel_kind | telegram | slack | push | Choose the messaging provider to connect. Allowed values: telegram, slack, push. Required when action is authorize. |
confirmation | boolean | Confirm the consequential messaging-link action. Required when action is revoke. |
idempotency_key | string | Reuse the same mutation identity when you retry this action. Required when action is revoke or test. |
- When action is get or revoke, provide at least one of channel_id or link_id.
#Result from atoi_channels
Returns link state, authorization data, delivery receipts, or revocation results as JSON text content.
#Call and response for atoi_channels
{
"tool": "atoi_channels",
"arguments": {
"action": "test",
"link_id": "lnk_8s3d",
"idempotency_key": "test_release_1"
}
}{
"status": "sent",
"receipt": {
"linkId": "lnk_8s3d",
"deliveryStatus": "sent"
}
}#atoi_skills
List, inspect, enable, disable, or remove user-owned Atoi Skills with durable skill receipts.
#Arguments for atoi_skills
| Argument | Type | What it does |
|---|---|---|
action required | list | get | enable | disable | remove | Choose the Skill operation to run. Allowed values: list, get, enable, disable, remove. |
skill_id | string | Select the Skill by id. Required when action is get, enable, disable, or remove. |
confirmation | boolean | Confirm the consequential Skill action. Required when action is remove. |
idempotency_key | string | Reuse the same mutation identity when you retry this action. Required when action is enable, disable, or remove. |
#Result from atoi_skills
Returns Skill state and durable Skill receipts as JSON text content.
#Call and response for atoi_skills
{
"tool": "atoi_skills",
"arguments": {
"action": "get",
"skill_id": "skl_6h2n"
}
}{
"skill": {
"skillId": "skl_6h2n",
"name": "Release review",
"enabled": true
}
}#atoi_plugins
List, inspect, install, enable, disable, or remove the pinned first-party Atoi plugin release with durable plugin receipts.
#Arguments for atoi_plugins
| Argument | Type | What it does |
|---|---|---|
action required | list | get | install | enable | disable | remove | Choose the plugin operation to run. Allowed values: list, get, install, enable, disable, remove. |
plugin_id | string | Select the plugin by id. |
confirmation | boolean | Confirm the consequential plugin action. Required when action is remove. |
idempotency_key | string | Reuse the same mutation identity when you retry this action. Required when action is install, enable, disable, or remove. |
#Result from atoi_plugins
Returns plugin state and durable plugin receipts as JSON text content.
#Call and response for atoi_plugins
{
"tool": "atoi_plugins",
"arguments": {
"action": "get",
"plugin_id": "atoi"
}
}{
"plugin": {
"pluginId": "atoi",
"enabled": true
}
}#atoi_settings
Read canonical account settings and connector state, or connect and disconnect browser-owned Atoi connections.
#Arguments for atoi_settings
| Argument | Type | What it does |
|---|---|---|
action required | get | set | unset | authorize | disconnect | Choose the settings operation to run. Allowed values: get, set, unset, authorize, disconnect. |
key | string | Select the setting by key. Required when action is set or unset. |
value | unknown | Set the value to write. Required when action is set. |
client | web | ios | macos | android | tui | cli | all | Limit settings to one client surface. Allowed values: web, ios, macos, android, tui, cli, all. |
connection | openai | anthropic | google | openrouter | github | slack | linear | google-workspace | Choose the connection to authorize or disconnect. Allowed values: openai, anthropic, google, openrouter, github, slack, linear, google-workspace. Required when action is authorize or disconnect. |
confirmation | boolean | Confirm the consequential disconnect action. Required when action is disconnect. |
idempotency_key | string | Reuse the same mutation identity when you retry this action. Required when action is set, unset, or disconnect. |
#Result from atoi_settings
Returns account setting and connector state, authorization data, or disconnect results as JSON text content.
#Call and response for atoi_settings
{
"tool": "atoi_settings",
"arguments": {
"action": "get"
}
}{
"connections": [
{
"id": "github",
"status": "connected"
}
]
}#atoi_doctor
Return the canonical Atoi runtime readiness ledger and compact receipt without promoting unobserved checks to ready.
#Arguments for atoi_doctor
| Argument | Type | What it does |
|---|---|---|
action required | status | Choose the readiness check to run. Allowed values: status. |
#Result from atoi_doctor
Returns the canonical runtime readiness ledger and compact readiness receipt as JSON text content.
#Call and response for atoi_doctor
{
"tool": "atoi_doctor",
"arguments": {
"action": "status"
}
}{
"status": "ok",
"checks": [
{
"id": "node",
"status": "ok"
}
]
}Read MCP and plugins to configure a client, or Troubleshooting when a call comes back empty.
Was this useful?