Skip to content

MCP tools

Status: Shipped

Generated from app @ 1b3d5a69d73473db077dfb44f4390b42cded6bd4 Regenerate: pnpm gen:reference

Agents that CodeSense launches reach the app through one MCP server, codesense, served by the codesense-bridge binary in ~/.codesense/bin. The bridge relays MCP over stdio to the running app through a local socket. It takes no arguments and has no commands of its own. See MCP tools for agents for how it’s wired up.

This page lists 62 of the 214 tools the server registers. The rest belong to features that aren’t documented yet.

Stories and planning

ToolWhat it doesInputs (? = optional)
get_story_format Authoring entry point. Returns the decision-first contract for creating CodeSense content: whether you need frontmatter at all (most content is a plain doc and needs none), the full pipeline-story frontmatter schema (Markdown + HTML cs:* forms, with the closed type/status enums), the validate_story finding codes, and cross-refs to list_source_repos + validate_story. —
validate_story Validate a candidate CodeSense file before writing it. path?, content?
list_source_repos List legal legacy source_repo values plus structured canonical repository identities. —
read_epic_repos Return the source repos an epic workspace is configured to assemble (from the epic doc repos: frontmatter, the source of truth). epicFilePath
set_epic_repos Add/remove the source repos an epic workspace assembles by rewriting the epic doc repos: frontmatter (the source of truth). epicFilePath, repos

Workspaces and terminals

ToolWhat it doesInputs (? = optional)
open_workspace Open a story workspace and return its handle (the storyId — pass back as an abstract address, never a raw PTY id). story_id?, target?, name?, team?, agent?, launched_by?, role?, avatar?, headed?, mode?, initial_prompt?, machine_id?, max_runtime?
send_to_session Send a prompt to a running agent session (Claude or Codex) by {handle} — the handle open_workspace, open_remote_tab or list_sessions gave you; a raw sessionId, or a handle with no running session, is refused and nothing is written. handle, text
open_terminal_tab Open a normal CodeSense CLI terminal tab in an already-open workspace and return its opaque {handle} (address it later with run_in_terminal_tab / read_terminal_tab). workspaceId, headed?, name?
run_in_terminal_tab Type input into a terminal tab and submit it, or press one key. handle?, tab?, machine?, workspace?, command?, key?
read_terminal_tab The open→run→read round-trip for tabs opened with open_terminal_tab / open_remote_tab. since?, handle?, tab?, machine?, workspace?, view?

Talking to the user

ToolWhat it doesInputs (? = optional)
ask_user Ask the human a blocking question via the CodeSense UI and wait for the answer (MCP elicitation). sessionId, question, options?, category?, stakes?
signal_progress Report where in the run you are, mid-task, so dashboards show live per-story progress. sessionId, phase, step?, total?, note?
signal_done Your final act (the completion contract). sessionId, status, summary?, doneRecord?
post_agent_message Post an agent-to-UI chat message so your reply surfaces in the chat surface bound to your session (the user reads it in the UI without watching the terminal). sessionId, text, role?

Context and sync

ToolWhat it doesInputs (? = optional)
query_context Find context files by metadata across every synced org (filters on any frontmatter key, relationships, full-text, sort, paging, group-by counts). where?, filters?, match?, relationships?, text?, select?, sort?, limit?, cursor?, groupBy?
hydrate_story Copy a story's epic context (its epic dir, or the closure a policy names) from team content into a workspace, on This Mac or a machine. target, storyId, policy?, operationId?
list_hydrated What CodeSense copied into a workspace, from its managed record. target
hydrate_worktree Hydrate a workspace from team content: copy the named files or context sets in, on This Mac or a machine. target?, paths?, sets?, prune?, overwriteModified?, operationId?, kind?, requestId?, items?, codeRepoPath?, sessionId?
get_sync_status Sync status: {setupState, recentOperations, unpublished}. target?
preview_reverse_sync_worktree Preview a publish read-only: exactly what reverse_sync_worktree would write to team content, with the same inputs (target, optional paths, sets, to). target?, paths?, sets?, to?, includeDeletes?, kind?, items?, codeRepoPath?, sessionId?
reverse_sync_worktree The only way a workspace's changes reach the team. target?, paths?, sets?, to?, includeDeletes?, operationId?, kind?, requestId?, items?, codeRepoPath?, sessionId?
route_file_to_context Adopt a worktree file into the team content layer and hide it from git (.git/info/exclude). codeRepoPath, codeRepoSlug, logicalName, layer?
unroute_file_from_context The inverse of route_file_to_context. Stops managing the file and un-hides it from git (strip-exclude last). codeRepoPath, codeRepoSlug, logicalName
move_content_file Rename/move a context-layer content file or directory in team content, preserving content + frontmatter (incl. story_id). fromPath, toPath
delete_content_file Delete a context-layer content file or directory in team content. path
sense_sync_list_layers The content layers with their writable and backed flags. codeRepoSlug?, writableOnly?
sense_sync_read_layer_file One file's text from a content layer. Returns {contentUtf8}, or {error:'binary'} when the bytes aren't UTF-8. layerId, logicalName, codeRepoSlug?
sense_sync_read_lockfile The v3 lockfile for (org, team, code_repo), which records what the retired automatic projection wrote. codeRepoPath, codeRepoSlug
sense_sync_adopt Write content to logicalName in team content (targetLayer: "TeamProjection", the only layer). expectedLayerHash?, codeRepoPath, codeRepoSlug, logicalName, targetLayer, content
sense_sync_move_layer Move a file between content layers. Returns a MoveOutcome discriminator; a target that already exists is refused, never overwritten. codeRepoPath, codeRepoSlug, logicalName, fromLayer, toLayer

Worktree config

ToolWhat it doesInputs (? = optional)
read_worktree_config Load a source repo's worktree.yaml from the canonical codesense location, falling back to the legacy in-repo .codesense/worktree.yaml during the transition window. repoPath
write_worktree_config Persist a source repo's worktree.yaml to the canonical codesense location. repoPath, yaml

Pages, dashboards and panes

ToolWhat it doesInputs (? = optional)
get_live_data_contract Get local dashboard authoring guidance: the window.codesense page SDK for scoped context queries, actions and routine snapshots, and the agents read model (sessions, agent, inbox, roles, updates, humanStatus, the human's… —
validate_live_data_doc Validate dashboard HTML usage, safe rendering and retired service access. path?, content?
pane_list The custom right panes a team sees: the panes of every team in its chain (nearest first), then your private ones for that org. org?, team?
pane_write Create or replace a custom right pane in one call: writes html to <space>/panes/<id>.html as a plain overwrite (no merge, no revision). scope?, org?, team?, id, html
pane_open Place a custom right pane in the right pane and reveal it (opening the right pane if closed); it stays placed across restarts like a built-in panel. scope?, org?, team?, id

Canvases

ToolWhat it doesInputs (? = optional)
apply_canvas Validate + atomically write a shared Excalidraw canvas. path, elements
render_canvas Render an .excalidraw file's current on-disk scene to a PNG (through the live app's Excalidraw exporter, the same render the user sees) and return the PNG bytes inline as an MCP image content block (plus a text block with sourcePath,… path

App state

ToolWhat it doesInputs (? = optional)
health_ping Check CodeSense MCP server health and connectivity —
get_viewer_state Get CodeSense viewer state and app status. —
set_viewer_state Update CodeSense viewer state. Pass a partial JSON object with the fields to change. state

Inputs in detail

create_local_organization
InputTypeRequiredWhat it is
displayName string yes Nonempty organization name; identity becomes local/<sanitized-name>.
destinationPath string yes Absolute new folder beneath an existing parent.
attach_context_repository
InputTypeRequiredWhat it is
clonePath string yes Absolute path to the existing checkout on the local desktop.
detach_context_repository
InputTypeRequiredWhat it is
orgSlug string yes —
commit_registry_edit_local
InputTypeRequiredWhat it is
orgSlug string yes —
edit object (RegistryEdit) yes Existing registry edit, e.g. {"type":"CreateTeam","team_name":"engineering"}.
save_source_repo_attachment
InputTypeRequiredWhat it is
repoPath string yes Absolute existing source Git checkout root.
set_active_team
InputTypeRequiredWhat it is
org string yes The context-repo org slug (owner/repo), as describe_setup or list_orgs_teams reports it.
team string yes The team to make active within org.
routine_create
InputTypeRequiredWhat it is
name string yes What the routine is called, e.g. "Morning triage".
task string yes What the agent should do on each run, in plain words.
resultSchema any — Optional bounded inline JSON Schema; omit when no structured result is required.
when string — When it runs: a preset (every 5m, every 2h, hourly, daily 09:00, weekdays 09:00, weekly mon 09:00) or a 5-field cron.
tz string — The iana zone when is read in.
agent string — The agent the routine belongs to and runs: an agent id in the routine's own space, or an agent key from agent_list.
mode string — wake (deliver the task into the agent's live session when it is idle, starting one only when none runs) or fresh (start a new instance on each fire).
machine string — Where a wake looks for (and starts) the agent: local (default, this Mac), a machine id from list_machines, or any connected machine.
where string — Where it runs: team_workspace (default) or repo:<owner>/<repo>.
scope string — team (default) or personal (Only me; needs org).
org string — —
team string — —
runsOn string — A team routine only: one_mac (default) runs it once for the team, on this Mac; each_mac makes it a recipe each teammate turns on for their own Mac, off everywhere until they do.
maxRuntime string — How long one run may take, like 30m or 2h.
overlap string — coalesce (default), skip or queue: what a fire does while a run is still going.
missed string — skip (default) or run_once: what happens to fires missed while the app was closed or asleep.
maxWakes integer — Optional: how many wakes this routine may deliver in all.
maxWakesPerDay integer — Optional: wakes in any rolling 24 h.
minGap string — Optional: the least time between two wakes of this routine (into any session) (30m, 2h, 1d; at most 7d), for wakes that start heavy work.
visible boolean — Run in a visible terminal tab instead of headless.
variables any — Task variables, { name: { type, default } }, referenced as {{name}}.
id string — The routine id within its team.
enabled boolean — Whether it fires from this Mac.
dryRun boolean — Check everything and report what would be created, writing nothing.
sessionId string — Your $CODESENSE_TAB_SESSION_ID, when CodeSense launched you.
routine_list
InputTypeRequiredWhat it is
agent string — Only the routines of this agent: its id or key from agent_list.
routine_get
InputTypeRequiredWhat it is
id string yes The routine's id as routine_list returns it.
agent string — Only when it belongs to this agent (its id or key from agent_list): a routine of another agent is validation.
routine_update
InputTypeRequiredWhat it is
id string yes The routine's id as routine_list returns it.
baseRevision integer yes The revision the change was made against.
name string — —
task string — —
resultSchema any — Replaces the output schema; explicit null clears it, omission preserves it.
when string — A new schedule (as for routine_create); replaces every schedule.
tz string — An iana zone.
agent string — Another agent, as for routine_create: the routine moves under it (same id and history).
mode string — fresh or wake, as for routine_create.
machine string — local, a machine id or any, as for routine_create.
where string — —
runsOn string — A team routine only: one_mac or each_mac, as for routine_create.
maxRuntime string — —
overlap string — —
missed string — —
visible boolean — —
maxWakes integer — As for routine_create; null removes the limit, omitted keeps it.
maxWakesPerDay integer — As for routine_create; null removes it, omitted keeps it.
minGap string — As for routine_create; null removes it, omitted keeps it.
variables any — Replaces every declared variable.
sessionId string — Your $CODESENSE_TAB_SESSION_ID, when CodeSense launched you.
routine_set_enabled
InputTypeRequiredWhat it is
id string yes —
enabled boolean yes False pauses it on this machine (turns an each_mac routine off for this Mac); true resumes it (turns it on).
sessionId string — Your $CODESENSE_TAB_SESSION_ID, when CodeSense launched you.
routine_run_now
InputTypeRequiredWhat it is
id string yes —
variables map of string — Values for the routine's declared variables.
sessionId string — Your $CODESENSE_TAB_SESSION_ID, when CodeSense launched you.
routine_runs
InputTypeRequiredWhat it is
id string yes —
limit integer — At most this many runs (default 50, max 200).
before string — The previous page's next_before.
routine_delete
InputTypeRequiredWhat it is
id string yes The routine's id as routine_list returns it.
sessionId string — Your $CODESENSE_TAB_SESSION_ID, when CodeSense launched you.
routine_context
InputTypeRequiredWhat it is
sessionId string yes Your $CODESENSE_TAB_SESSION_ID.
routine_publish_result
InputTypeRequiredWhat it is
sessionId string yes —
payload any yes —
routine_result
InputTypeRequiredWhat it is
id string yes The routine's id as routine_list returns it.
agent string — Only when it belongs to this agent (its id or key from agent_list): a routine of another agent is validation.
validate_story
InputTypeRequiredWhat it is
path string — Absolute or relative path to the candidate file.
content string — Inline candidate content (Markdown or HTML).
read_epic_repos
InputTypeRequiredWhat it is
epicFilePath string yes The epic main-doc path — pass your $CODESENSE_EPIC_DOC_PATH.
set_epic_repos
InputTypeRequiredWhat it is
epicFilePath string yes The epic main-doc path — pass your $CODESENSE_EPIC_DOC_PATH.
repos list of string yes The full desired owner/repo list (read-modify-write, not a delta).
open_workspace
InputTypeRequiredWhat it is
story_id string — The story id to open.
target string — "story" or "team-workspace".
name string — The session's display name.
team string — The team to open in.
agent string — The agent to launch (with target): its key, or a bare id found in the target team, then your private space, then the starters.
launched_by string — Who is launching: your $CODESENSE_TAB_SESSION_ID.
role string — The role to show for the session: manager, worker or any free label (reviewer, qa).
avatar string — The face to show for the session: pack:id (see avatar_list), or a colour or emoji hint.
headed boolean — Legacy visibility toggle, kept for back-compat.
mode string — How the workspace surfaces — "headed" (visible + focused, the default) · "visible-unfocused" (a real tab that does not steal focus) · "headless" (background; opt-in only).
initial_prompt string — Optional first prompt seeded into the spawned agent (e.g. "/review").
machine_id string — Open the story's workspace on this machine (an id from list_machines, or local for This Mac) instead of This Mac.
max_runtime string — How long the launched session may run, like 30m or 2h (range 1m–24h).
send_to_session
InputTypeRequiredWhat it is
handle string yes The opaque session handle returned by open_workspace.
text string yes The text to deliver to the live agent session (non-empty).
open_terminal_tab
InputTypeRequiredWhat it is
workspaceId string yes The viewer id of an open workspace to open the tab in (e.g. a root:<path> / story:<id> / generic:<path> id).
headed boolean — true (default) opens a visible tab (focuses the workspace so the tab is on screen).
name string — An optional display name for the new tab — so a spawned tab reads as what it's for ("build watch", "claude: triage").
run_in_terminal_tab
InputTypeRequiredWhat it is
handle string — The opaque terminal handle returned by open_terminal_tab, open_remote_tab or list_sessions.
tab string — The tab's name as its tab bar shows it now (e.g. "Terminal 2"), instead of a handle.
machine string — With tab: the machine it runs on, by label ("This Mac" for this one).
workspace string — With tab: the workspace id it is in.
command string — The input to type and submit: a shell command, or — when Claude or Codex is running in the tab — a prompt or slash command.
key string (key name) — One key to send on its own, nothing else typed: enter submits what is already in an agent's input box; also escape, tab, shift-tab, backspace, ctrl-c, ctrl-d, up, down, left,…
read_terminal_tab
InputTypeRequiredWhat it is
since string — Remote handles only: a canonical decimal-u64 head from an earlier read.
handle string — The opaque terminal-tab handle returned by open_terminal_tab, open_remote_tab or list_sessions.
tab string — The tab's name as its tab bar shows it now (e.g. "Terminal 2"), instead of a handle.
machine string — With tab: the machine it runs on, by label ("This Mac" for this one).
workspace string — With tab: the workspace id it is in.
view string — scrollback (default): the tab's lines including scrollback.
ask_user
InputTypeRequiredWhat it is
sessionId string yes The calling session's tab id — pass your $CODESENSE_TAB_SESSION_ID.
question string yes The question to ask the human.
options list of string — Optional discrete choices; a free-text answer is expected when absent.
category string — Triage hint for presentation only — never used to auto-answer.
stakes string — Urgency/impact hint for presentation only — never used to auto-answer.
signal_progress
InputTypeRequiredWhat it is
sessionId string yes The calling session's tab id — pass your $CODESENSE_TAB_SESSION_ID.
phase string yes Where in the run you are — one of planning | dev | review | pr | blocked | done.
step integer — Optional sub-step index for an N-of-M bar (e.g. 3 of total).
total integer — Optional sub-step count for an N-of-M bar.
note string — Optional short, human-readable note (rendered untrusted / safe-DOM).
signal_done
InputTypeRequiredWhat it is
sessionId string yes The calling session's tab id — pass your $CODESENSE_TAB_SESSION_ID.
status string yes One of success | failed | needs-attention.
summary string — Optional short human-readable result summary.
doneRecord object — The optional 3-leg done record.
post_agent_message
InputTypeRequiredWhat it is
sessionId string yes The calling session's tab id — pass your $CODESENSE_TAB_SESSION_ID (codesense stamped it into your PTY env at spawn).
text string yes The message text to surface in the chat.
role string — Sender role; defaults to "agent".
query_context
InputTypeRequiredWhat it is
where any — Where to look: { orgs: "all" | [slugs], sameOrgAs, teams, layers, kinds, pathPrefix, pathGlob }.
filters any — Filter clauses [{ key, op, value | min | max }]; ops: eq, in, not, exists, missing, contains, range, prefix.
match any — Shorthand filters { key: value | [values] } (scalar = eq, array = in).
relationships any — Relationship predicates { dependsOn, dependedOnBy, hasSupportingDoc, backlinkedBy, parentEpic, hasDeps, isBacklinked }.
text string — Case-insensitive body full-text match (bounded scan).
select list of string — Frontmatter keys to return (add "relationships" for refs).
sort any — Sort keys: "status", "-mtime", or { key, dir: "asc"|"desc", missing: "first"|"last" }.
limit integer — Rows per page (default 200, max 10000).
cursor string — The nextCursor of the previous page.
groupBy string — Count matches per value of this key (board columns).
hydrate_story
InputTypeRequiredWhat it is
target object (workspace target) yes The workspace: {kind:"local", codeRepoPath, sessionId} or {kind:"remote", machineId, workspaceHandle}.
storyId string yes The story id to hydrate.
policy object — The closure policy: {referenceDepth, ancestryLevels, siblingBreadth, maxMembers}.
operationId string — A UUID naming this operation; calling again with it returns the kept result instead of running again.
list_hydrated
InputTypeRequiredWhat it is
target object (workspace target) yes The workspace: {kind:"local", codeRepoPath, sessionId} or {kind:"remote", machineId, workspaceHandle}.
hydrate_worktree
InputTypeRequiredWhat it is
target object (workspace target) — The workspace: {kind:"local", codeRepoPath, sessionId} or {kind:"remote", machineId, workspaceHandle}.
paths list of string — Exact workspace-relative files to hydrate (docs/guide.md).
sets list of string — Context sets: workspace-relative folders (.claude/skills, docs).
prune boolean — Also remove managed files this workspace no longer wants (only ones nobody edited).
overwriteModified boolean — Replace files the workspace holds differently (edited, or not copied by CodeSense) with the team's version: the "Restore pinned files" recovery.
operationId string — A UUID naming this operation; calling again with it returns the kept result instead of running again.
kind SelectedKind — Compatibility: "selected" picks the selected form (with requestId, target and items).
requestId string — Selected form (required): the request's UUID (its operationId).
items list of HydrateItem — Selected form (required): [{ref:"doc:<path>"}], hydrated as those paths.
codeRepoPath path — Scope-less form: the worktree root (your $PWD), with sessionId.
sessionId string — Scope-less form: your $CODESENSE_TAB_SESSION_ID, with codeRepoPath.
get_sync_status
InputTypeRequiredWhat it is
target object (workspace target) — Count this one workspace's unpublished team-file edits now (read-only).
preview_reverse_sync_worktree
InputTypeRequiredWhat it is
target object (workspace target) — The workspace: {kind:"local", codeRepoPath, sessionId} or {kind:"remote", machineId, workspaceHandle}.
paths list of string — Only these workspace files or folders.
sets list of string — Also look for new files under these folders.
to string — Where a new file would go, as reverse_sync_worktree takes it.
includeDeletes boolean — Preview with removals included (as reverse_sync_worktree {includeDeletes:true} would do them).
kind SelectedKind — Compatibility: "selected" picks the selected form (with target and items).
items list of PreviewItem — Selected form (required): [{op:"update", path, ref}], previewed as those paths.
codeRepoPath path — Scope-less form: the worktree root (your $PWD), with sessionId.
sessionId string — Scope-less form: your $CODESENSE_TAB_SESSION_ID, with codeRepoPath.
reverse_sync_worktree
InputTypeRequiredWhat it is
target object (workspace target) — The workspace: {kind:"local", codeRepoPath, sessionId} or {kind:"remote", machineId, workspaceHandle}.
paths list of string — Only these workspace files or folders (absent: every managed file and every new file under the workspace's declared context).
sets list of string — Also publish new files under these folders.
to string — Where a new file goes: team (default), repo (this repo's tier), personal, or a tier label from a preview (team:org/team).
includeDeletes boolean — Also remove team files whose copy was deleted in the workspace (only while the team still holds what was copied).
operationId string — A UUID naming this operation; calling again with it returns the kept result instead of running again.
kind SelectedKind — Compatibility: "selected" picks the selected form (with requestId, target and items).
requestId string — Selected form (required): the request's UUID (its operationId).
items list of PublishItem — Selected form (required): [{op:"update", path, ref, expectedSource, expectedWorkspace}], published with those expected hashes.
codeRepoPath path — Scope-less form: the worktree root (your $PWD), with sessionId.
sessionId string — Scope-less form: your $CODESENSE_TAB_SESSION_ID, with codeRepoPath.
route_file_to_context
InputTypeRequiredWhat it is
codeRepoPath path yes Absolute path of the worktree root (the source code repo / worktree).
codeRepoSlug string (owner/repo) yes —
logicalName string yes Repo-relative, /-separated path of the file to route (e.g. .claude/skills/x.md).
layer string (layer id) — The content tier to route into.
unroute_file_from_context
InputTypeRequiredWhat it is
codeRepoPath path yes —
codeRepoSlug string (owner/repo) yes —
logicalName string yes Repo-relative, /-separated path of the previously-routed file.
move_content_file
InputTypeRequiredWhat it is
fromPath string yes Absolute context-layer source path (file or directory) being moved.
toPath string yes Absolute context-layer destination path.
delete_content_file
InputTypeRequiredWhat it is
path string yes Absolute context-layer content path (_team/{team}/content/…) — a file or directory.
sense_sync_list_layers
InputTypeRequiredWhat it is
codeRepoSlug string (owner/repo) — —
writableOnly boolean — —
sense_sync_read_layer_file
InputTypeRequiredWhat it is
layerId string (layer id) yes —
logicalName string yes —
codeRepoSlug string (owner/repo) — —
sense_sync_read_lockfile
InputTypeRequiredWhat it is
codeRepoPath path yes —
codeRepoSlug string (owner/repo) yes —
sense_sync_adopt
InputTypeRequiredWhat it is
expectedLayerHash string — Optional 64-digit blake3 hash of the current layer bytes; mismatch refuses overwrite.
codeRepoPath path yes Cwd-derived; contract symmetry with Push (the only difference between Push and Adopt is whether a lockfile entry already exists).
codeRepoSlug string (owner/repo) yes —
logicalName string yes —
targetLayer string (layer id) yes —
content string yes —
sense_sync_move_layer
InputTypeRequiredWhat it is
codeRepoPath path yes Cwd-derived; contract symmetry.
codeRepoSlug string (owner/repo) yes —
logicalName string yes —
fromLayer string (layer id) yes —
toLayer string (layer id) yes —
read_worktree_config
InputTypeRequiredWhat it is
repoPath path yes The source repo's path (the discovery skill's cwd).
write_worktree_config
InputTypeRequiredWhat it is
repoPath path yes The source repo's path (the discovery skill's cwd).
yaml string yes The full worktree.yaml document to persist, verbatim.
validate_live_data_doc
InputTypeRequiredWhat it is
path string — Absolute or relative path to the candidate HTML dashboard.
content string — Inline candidate HTML.
pane_list
InputTypeRequiredWhat it is
org string — The org (owner/repo); pass with team, or omit both for the active team.
team string — The team whose chain to list; pass with org, or omit both.
pane_write
InputTypeRequiredWhat it is
scope string — team (default) or personal (your private space for org, which is then required).
org string — —
team string — For scope team: the team, with org; omit both for the active team.
id string yes The pane id: its file name without .html, [a-z0-9][a-z0-9-]*.
html string yes The whole HTML document.
pane_open
InputTypeRequiredWhat it is
scope string — team (default) or personal.
org string — —
team string — —
id string yes The pane id, as pane_list returns it.
apply_canvas
InputTypeRequiredWhat it is
path path yes Target .excalidraw file path on the codesense content rails.
elements list of CanvasSkeleton yes The full intended scene as lightweight element skeletons.
render_canvas
InputTypeRequiredWhat it is
path string yes Absolute path to the .excalidraw file to render.
set_viewer_state
InputTypeRequiredWhat it is
state any yes Partial JSON object to merge into the viewer state.

Generated from app @ 1b3d5a69d73473db077dfb44f4390b42cded6bd4 Regenerate: pnpm gen:reference

How we know this is accurate 2 sources

Checked against the app at 1b3d5a69d73473db077dfb44f4390b42cded6bd4.

Code

  • src-tauri/src/mcp/handler.rs
  • src-tauri/crates/codesense-bridge