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
| Tool | What it does | Inputs (? = 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
| Tool | What it does | Inputs (? = 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
| Tool | What it does | Inputs (? = 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
| Tool | What it does | Inputs (? = 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
| Tool | What it does | Inputs (? = 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
| Tool | What it does | Inputs (? = 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
| Tool | What it does | Inputs (? = 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
| Tool | What it does | Inputs (? = 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
| Input | Type | Required | What it is |
|---|---|---|---|
displayName | string | yes | Nonempty organization name; identity becomes local/<sanitized-name>. |
destinationPath | string | yes | Absolute new folder beneath an existing parent. |
| Input | Type | Required | What it is |
|---|---|---|---|
clonePath | string | yes | Absolute path to the existing checkout on the local desktop. |
| Input | Type | Required | What it is |
|---|---|---|---|
orgSlug | string | yes | — |
| Input | Type | Required | What it is |
|---|---|---|---|
orgSlug | string | yes | — |
edit | object (RegistryEdit) | yes | Existing registry edit, e.g. {"type":"CreateTeam","team_name":"engineering"}. |
| Input | Type | Required | What it is |
|---|---|---|---|
repoPath | string | yes | Absolute existing source Git checkout root. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What it is |
|---|---|---|---|
agent | string | — | Only the routines of this agent: its id or key from agent_list. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What it is |
|---|---|---|---|
id | string | yes | — |
limit | integer | — | At most this many runs (default 50, max 200). |
before | string | — | The previous page's next_before. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What it is |
|---|---|---|---|
sessionId | string | yes | Your $CODESENSE_TAB_SESSION_ID. |
| Input | Type | Required | What it is |
|---|---|---|---|
sessionId | string | yes | — |
payload | any | yes | — |
| Input | Type | Required | What 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. |
| Input | Type | Required | What it is |
|---|---|---|---|
path | string | — | Absolute or relative path to the candidate file. |
content | string | — | Inline candidate content (Markdown or HTML). |
| Input | Type | Required | What it is |
|---|---|---|---|
epicFilePath | string | yes | The epic main-doc path — pass your $CODESENSE_EPIC_DOC_PATH. |
| Input | Type | Required | What 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). |
| Input | Type | Required | What 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). |
| Input | Type | Required | What 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). |
| Input | Type | Required | What 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"). |
| Input | Type | Required | What 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,… |
| Input | Type | Required | What 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. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What 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). |
| Input | Type | Required | What 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. |
| Input | Type | Required | What 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". |
| Input | Type | Required | What 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). |
| Input | Type | Required | What 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. |
| Input | Type | Required | What it is |
|---|---|---|---|
target | object (workspace target) | yes | The workspace: {kind:"local", codeRepoPath, sessionId} or {kind:"remote", machineId, workspaceHandle}. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What it is |
|---|---|---|---|
target | object (workspace target) | — | Count this one workspace's unpublished team-file edits now (read-only). |
| Input | Type | Required | What 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. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What it is |
|---|---|---|---|
codeRepoPath | path | yes | — |
codeRepoSlug | string (owner/repo) | yes | — |
logicalName | string | yes | Repo-relative, /-separated path of the previously-routed file. |
| Input | Type | Required | What it is |
|---|---|---|---|
fromPath | string | yes | Absolute context-layer source path (file or directory) being moved. |
toPath | string | yes | Absolute context-layer destination path. |
| Input | Type | Required | What it is |
|---|---|---|---|
path | string | yes | Absolute context-layer content path (_team/{team}/content/…) — a file or directory. |
| Input | Type | Required | What it is |
|---|---|---|---|
codeRepoSlug | string (owner/repo) | — | — |
writableOnly | boolean | — | — |
| Input | Type | Required | What it is |
|---|---|---|---|
layerId | string (layer id) | yes | — |
logicalName | string | yes | — |
codeRepoSlug | string (owner/repo) | — | — |
| Input | Type | Required | What it is |
|---|---|---|---|
codeRepoPath | path | yes | — |
codeRepoSlug | string (owner/repo) | yes | — |
| Input | Type | Required | What 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 | — |
| Input | Type | Required | What 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 | — |
| Input | Type | Required | What it is |
|---|---|---|---|
repoPath | path | yes | The source repo's path (the discovery skill's cwd). |
| Input | Type | Required | What 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. |
| Input | Type | Required | What it is |
|---|---|---|---|
path | string | — | Absolute or relative path to the candidate HTML dashboard. |
content | string | — | Inline candidate HTML. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What it is |
|---|---|---|---|
scope | string | — | team (default) or personal. |
org | string | — | — |
team | string | — | — |
id | string | yes | The pane id, as pane_list returns it. |
| Input | Type | Required | What 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. |
| Input | Type | Required | What it is |
|---|---|---|---|
path | string | yes | Absolute path to the .excalidraw file to render. |
| Input | Type | Required | What 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