Skip to content

MCP reference ​

orion mcp start serves these tools over stdio. Each one runs a CLI command, so it reads and writes the same data.

orion_card_list ​

List work items with their derived status

Runs orion card list.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
groupidOnly items inside this group
allbooleanInclude done items

orion_card_create ​

Add a work item

Runs orion card create.

ArgumentTypeDescription
labelstringRequired. What the work is
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
groupidGroup to add it to
afteridItem the card follows; it lands beside it, in its group
beforeidItem the card leads into; it lands beside it, in its group
statustodo | active | review | blocked | deferred | donetodo, active, review, blocked, deferred, or done
repostringRepository it belongs to, as owner/name (empty to clear)
whoyou | review | ciWhose move: you, review, or ci (empty to clear)
notestringFree-form note. Write it as a plain-language summary: Markdown for structure, code formatting for code, file paths, and identifiers, and no pull request or issue links in the text. Attach those as refs on a card.
shapeservice | store | actor | external | interface | process | queueHow a component is drawn: service, store, actor, external, interface, process, or queue (empty to clear)
colorteal | blue | purple | amber | rose | green | slateA component's tint: teal, blue, purple, amber, rose, green, or slate (empty to clear)
kindstep | gate | componentstep; gate for one that's done once everything it waits on is; or component for a part of a system, not work. A note given a kind becomes a work item
refstringAttach outside work: a GitHub or Jira URL, source:key such as jira:ABC-1, or branch:owner/name@branch

orion_card_set ​

Change an item's fields

Runs orion card set.

ArgumentTypeDescription
ididRequired. Item or group id, or a selector such as label:"Extract slider", ref:jira:ABC-12, or pr:86
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
labelstringNew label
statustodo | active | review | blocked | deferred | donetodo, active, review, blocked, deferred, or done
repostringRepository it belongs to, as owner/name (empty to clear)
whoyou | review | ci | ""Whose move: you, review, or ci (empty to clear)
notestringReplaces the whole note, and empty clears it. Write it as a plain-language summary: Markdown for structure, code formatting for code, file paths, and identifiers, and no pull request or issue links in the text. Attach those as refs on a card.
shapeservice | store | actor | external | interface | process | queue | ""How a component is drawn: service, store, actor, external, interface, process, or queue (empty to clear)
colorteal | blue | purple | amber | rose | green | slate | ""A component's tint: teal, blue, purple, amber, rose, green, or slate (empty to clear)
kindstep | gate | componentstep; gate for one that's done once everything it waits on is; or component for a part of a system, not work. A note given a kind becomes a work item
refstringAttach outside work: a GitHub or Jira URL, source:key such as jira:ABC-1, or branch:owner/name@branch

orion_card_timeline ​

Show a card's timeline: its most recent log entries, newest first

Runs orion card timeline.

ArgumentTypeDescription
ididRequired. Card id
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
limitintegerHow many recent entries to show (default 5)

orion_card_done ​

Mark one or more items done

Runs orion card done.

ArgumentTypeDescription
idsstring listItem ids or selectors
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
wherestringSelect targets with an expression instead of ids
dryRunbooleanPreview changes and current revision without writing
ifRevisionintegerWrite only if the document has this revision

orion_card_chain-close ​

Close out a done card and every waiting done card chained to it through finished cards, the same as double-clicking a shimmering card in the app. Closing out a chain is the person's reward for finishing it, so don't close out on your own: finishing a card with orion_card_done leaves it waiting for them. Close out only when the person asks.

Runs orion card chain-close.

ArgumentTypeDescription
ididRequired. Item or group id, or a selector such as label:"Extract slider", ref:jira:ABC-12, or pr:86
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
dryRunbooleanPreview the chain and current revision without writing
ifRevisionintegerWrite only if the document has this revision

orion_card_import ​

Add a card for each URL or source:key in one step

Runs orion card import.

ArgumentTypeDescription
refsstring listRequired. GitHub or Jira URLs, or source:key such as jira:ABC-1
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
groupidGroup to add the cards to
dryRunbooleanPreview the cards without writing
ifRevisionintegerWrite only if the document has this revision

orion_card_snooze ​

Hide items from attention and orion next until a time

Runs orion card snooze.

ArgumentTypeDescription
idsstring listItem ids
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
untilstringRequired. When it wakes: an ISO 8601 date or date-time, in local time unless it ends in Z or an offset
wherestringSelect items with an expression instead of ids
dryRunbooleanPreview changes and current revision without writing
ifRevisionintegerWrite only if the document has this revision

orion_card_unsnooze ​

Show snoozed items again right away

Runs orion card unsnooze.

ArgumentTypeDescription
idsstring listItem ids
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
wherestringSelect items with an expression instead of ids
dryRunbooleanPreview changes and current revision without writing
ifRevisionintegerWrite only if the document has this revision

orion_note_create ​

Add a note, optionally between two linked items

Runs orion note create.

ArgumentTypeDescription
textstringRequired. Note text. Write it as a plain-language summary: Markdown for structure, code formatting for code, file paths, and identifiers, and no pull request or issue links in the text. Attach those as refs on a card.
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
groupidGroup to add it to
afteridItem the note follows
beforeidItem the note leads into

Link each adjacent pair of items

Runs orion link create.

ArgumentTypeDescription
fromidRequired. The item that has to happen first
toidRequired. The item that waits on it
nextstring listFurther items in the chain
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
relatedbooleanLink without blocking
labelstringWhat the link carries, such as HTTP (empty to clear)
dryRunbooleanPreview changes and current revision without writing
ifRevisionintegerWrite only if the document has this revision

Remove the link between two items

Runs orion link remove.

ArgumentTypeDescription
fromidRequired. Item or group id, or a selector such as label:"Extract slider", ref:jira:ABC-12, or pr:86
toidRequired. Item or group id, or a selector such as label:"Extract slider", ref:jira:ABC-12, or pr:86
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

Insert an item into an existing link, replacing it with two links of the same kind

Runs orion link insert.

ArgumentTypeDescription
ididRequired. Item or group id, or a selector such as label:"Extract slider", ref:jira:ABC-12, or pr:86
targetstring listTarget item whose link is replaced
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
betweenidRequired. Source item whose link is replaced (required)
dryRunbooleanPreview changes and current revision without writing
ifRevisionintegerWrite only if the document has this revision

orion_node_show ​

Show one item or group

Runs orion node show.

ArgumentTypeDescription
ididRequired. Item or group id, or a selector such as label:"Extract slider", ref:jira:ABC-12, or pr:86
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_node_query ​

Find cards and groups with an expression. Fields: kind, repo, status, recordedStatus, group, draft, label, pr, ref, note, snoozed. Compare quoted values with = or !=, quoting numbers and booleans too; label, ref, and note also take ~ for case-insensitive text.

Runs orion node query.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
wherestringRequired. Expression selecting cards or groups (required)
allbooleanInclude done items

orion_node_find ​

Find cards and groups whose label, note, or refs contain text

Runs orion node find.

ArgumentTypeDescription
textstringRequired. Text to find, matched case-insensitively
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
limitintegerMost matches to print (default 20)
allCanvasesbooleanSearch every canvas, not only this one

orion_node_remove ​

Remove items. Removing a note reconnects the links that ran through it

Runs orion node remove.

ArgumentTypeDescription
idsstring listItem ids or selectors
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
wherestringSelect targets with an expression instead of ids
dryRunbooleanPreview changes and current revision without writing
ifRevisionintegerWrite only if the document has this revision
reconnectbooleanAlso reconnect cards with at most one incoming and one outgoing link; every selected card must qualify

orion_node_move ​

Move items or groups into another group

Runs orion node move.

ArgumentTypeDescription
idsstring listItem or group ids or selectors
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
wherestringSelect targets with an expression instead of ids
dryRunbooleanPreview changes and current revision without writing
ifRevisionintegerWrite only if the document has this revision
toidDestination group
topbooleanMove to the top level

orion_group_list ​

List groups with their progress

Runs orion group list.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_group_create ​

Make a group: empty, optionally inside another, or wrapping items that share a parent

Runs orion group create.

ArgumentTypeDescription
labelstringRequired. Group name
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
itemsstring listComma-separated ids to wrap; the group goes where they are
inidGroup to make an empty group inside

orion_group_remove ​

Remove groups with everything inside them

Runs orion group remove.

ArgumentTypeDescription
idsstring listGroup ids or selectors
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
wherestringSelect targets with an expression instead of ids
dryRunbooleanPreview changes and current revision without writing
ifRevisionintegerWrite only if the document has this revision

orion_group_set ​

Change a group's fields

Runs orion group set.

ArgumentTypeDescription
ididRequired. Item or group id, or a selector such as label:"Extract slider", ref:jira:ABC-12, or pr:86
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
labelstringNew label
blurbstringGroup description
arrangeauto | customHow reflow arranges a group: auto (default) flows by dependency, custom keeps items where they are
coverstringImage asset id for the cover, from orion media add --json (empty to clear)
backgroundstringColor, color token such as card.background, or image asset id (empty to clear)
headerstringMarkdown with layout HTML shown under the group's title (empty to clear)
colorteal | blue | purple | amber | rose | green | slate | ""The group's tint: teal, blue, purple, amber, rose, green, or slate (empty to clear)

orion_group_ungroup ​

Dissolve groups, keeping their items in place

Runs orion group ungroup.

ArgumentTypeDescription
idsstring listGroup ids or selectors
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
wherestringSelect targets with an expression instead of ids
dryRunbooleanPreview changes and current revision without writing
ifRevisionintegerWrite only if the document has this revision

orion_group_tidy ​

Mark groups for the app to lay out in place, deepest first, such as after adding cards in bulk. The app does the layout, so appConnected in the result says whether it runs now or when the app next opens. Custom groups keep their arrangement.

Runs orion group tidy.

ArgumentTypeDescription
idsstring listGroup ids
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
wherestringSelect groups with an expression instead of ids
dryRunbooleanPreview changes and current revision without writing
ifRevisionintegerWrite only if the document has this revision

orion_ref_remove ​

Take a ref off an item

Runs orion ref remove.

ArgumentTypeDescription
ididRequired. Item or group id, or a selector such as label:"Extract slider", ref:jira:ABC-12, or pr:86
refstringRequired. The ref's key as orion node show lists it, such as owner/name#12, or a URL or source:key
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_next ​

List items that can start now, most unblocking first

Runs orion next.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_apply ​

Apply a plan of cards, notes, groups, and links in one call. The plan is a list of operations that run in order, and it lands whole or not at all. addCard and addNote create items, and group wraps items; each may declare a handle, and later operations refer to it as "@handle". Existing cards and groups are named by id. Other operations: setFields, link, unlink, insert, move, ungroup, tidy, remove, removeGroup. Use dryRun to preview the plan and the ids each handle gets.

Runs orion apply.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
planobject listRequired. Operations in order. Each has an op field, such as addCard with label, or link with from and to. New cards and notes are placed after the last operation, beside the items they link to. Move needs group, or null for the top level.
dryRunbooleanPreview the plan without writing
ifRevisionintegerWrite only if the document has this revision

orion_canvas_list ​

List canvases and mark the active one

Runs orion canvas list.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
archivedbooleanList archived canvases instead

orion_canvas_create ​

Create a canvas with its own data folder

Runs orion canvas create.

ArgumentTypeDescription
namecanvasCanvas name. Omit it to derive one from --label
labelstringDisplay label

orion_canvas_rename ​

Change a canvas's display label

Runs orion canvas rename.

ArgumentTypeDescription
namecanvasRequired. Canvas name
labelstringRequired. New display label

orion_canvas_set ​

Set a canvas's cover or background

Runs orion canvas set.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
coverstringImage asset id for the cover, from orion media add --json (empty to clear)
backgroundstringColor, color token such as card.background, or image asset id (empty to clear)
headerstringMarkdown with layout HTML shown over the top of the canvas (empty to clear)

orion_canvas_archive ​

Archive a canvas. Its data stays in place, and restore brings it back. The active canvas and default can't be archived

Runs orion canvas archive.

ArgumentTypeDescription
namecanvasRequired. Canvas name

orion_canvas_restore ​

Restore an archived canvas with its data

Runs orion canvas restore.

ArgumentTypeDescription
namecanvasRequired. Archived canvas name

orion_canvas_use ​

Make a canvas the active one

Runs orion canvas use.

ArgumentTypeDescription
namecanvasRequired. Canvas name

orion_canvas_check ​

Report layout problems from stored positions and sizes: overlapping siblings, children outside their group, links to missing items, and groups waiting for layout. Returns a list of {kind, ids, bounds} in canvas coordinates, with bounds null for a dangling link, and an empty list when the layout is clean.

Runs orion canvas check.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
groupidOnly problems in this group or inside it

orion_log_add ​

Log what happened, optionally attached to cards. Corrections are new entries.

Runs orion log add.

ArgumentTypeDescription
textstringRequired. What happened
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
cardstring listCard ids to attach the entry to, comma-separated
agentstringRequired. The agent's name, such as claude.

orion_log_list ​

List the canvas log, newest first

Runs orion log list.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
cardidOnly entries attached to this card
limitintegerShow at most this many of the newest entries

orion_server_status ​

Report the running Orion server

Runs orion server status.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_source_list ​

List configured sources

Runs orion source list.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_source_add_github ​

Add a GitHub source

Runs orion source add github.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
hoststringRequired. GitHub host
ownersstring listRequired. GitHub owners, comma-separated
includestring listRepositories to include, comma-separated
excludestring listRepositories to exclude, comma-separated
idstringSource id

orion_source_add_hop ​

Add a hop source

Runs orion source add hop.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
idstringSource id

orion_source_remove ​

Remove an ingestion source

Runs orion source remove.

ArgumentTypeDescription
idstringRequired. Source id
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_source_matches ​

List unplaced pull requests and the cards they likely belong to

Runs orion source matches.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_ingest ​

Import work from configured sources and refresh the cards they track

Runs orion ingest.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
dryRunbooleanShow changes without writing
sourcestringOnly ingest this source id

orion_media_add ​

Insert a media node from a file

Runs orion media add.

ArgumentTypeDescription
filestringRequired. Absolute path to a local PNG, JPEG, GIF, or WebP file, which is copied into the canvas.
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
labelstringNode label
groupidGroup to put the node in

orion_media_list ​

List media nodes

Runs orion media list.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_suggestion_find ​

Compute group suggestions

Runs orion suggestion find.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
scopeunsorted | allunsorted or all
dryRunbooleanShow suggestions without writing

orion_suggestion_list ​

List the stored group suggestions

Runs orion suggestion list.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_suggestion_apply ​

Apply group suggestions

Runs orion suggestion apply.

ArgumentTypeDescription
idsstring listSuggestion ids
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
allbooleanApply every suggestion

orion_suggestion_dismiss ​

Dismiss group suggestions

Runs orion suggestion dismiss.

ArgumentTypeDescription
idsstring listSuggestion ids
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
allbooleanDismiss every suggestion

orion_ci_list ​

List the CI jobs snoozed on the canvas

Runs orion ci list.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_ci_snooze ​

Leave a CI job's failures off every card in a repository until it passes, or until a time

Runs orion ci snooze.

ArgumentTypeDescription
namestringRequired. The job's name, as GitHub shows it
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
repostringRequired. Repository the job runs in, as owner/name (required)
untilstringEnd the snooze at a UTC time such as 2026-10-14T18:00:00Z, or a date. Without it, the snooze lasts on each card until the job passes there

orion_ci_unsnooze ​

Count a snoozed CI job's failures on cards again

Runs orion ci unsnooze.

ArgumentTypeDescription
namestringRequired. The job's name, as GitHub shows it
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
repostringRequired. Repository the job runs in, as owner/name (required)

orion_theme_add ​

Copy a theme file into the data folder, where the app lists it

Runs orion theme add.

ArgumentTypeDescription
filestringRequired. Absolute path to a local .json theme file with light and dark token values.
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_theme_list ​

List the theme files in the data folder

Runs orion theme list.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_theme_remove ​

Delete a theme file from the data folder

Runs orion theme remove.

ArgumentTypeDescription
filestringRequired. Theme file name, as theme list shows it
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_backup_list ​

List saved Orion data revisions

Runs orion backup list.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_backup_restore ​

Restore a saved revision as a new revision

Runs orion backup restore.

ArgumentTypeDescription
revisionstringRequired. Revision to restore
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_focus ​

Show the group open in the app and what's selected

Runs orion focus.

ArgumentTypeDescription
canvascanvasCanvas name. Omit to use the canvas selected in Orion.

orion_reveal ​

Select cards or groups in the open Orion app and zoom the canvas to them, opening the group they share. Opens the app when it's closed. Set selectOnly to select without moving the camera.

Runs orion reveal.

ArgumentTypeDescription
idsstring listRequired. Item or group ids to reveal
canvascanvasCanvas name. Omit to use the canvas selected in Orion.
selectOnlybooleanSelect them without moving the camera