SynchronexBack to synchronex.ai
Docs
Synchronex

Getting Started

OverviewQuickstartAuthentication

Core Concepts

Identity KernelMemoryDecisions FeedAI WorkersWorkspaces / Teams

Integration

REST APIMCP ServerMCP ToolsCloud Developer ModeOAuthSendinelBYOK

Reference

API ReferenceChangelog

Integration

MCP Tools

Full Synchronex MCP tool reference generated from the tool registry.

8 min read

Tool Table

ToolDescriptionInputsScopeGroup
register_sessionRegister this AI session with Synchronex so it appears in the pane picker. Call this at the very start of every session. If you have a remote share URL (Claude Code: /share), pass it as session_url — Synchronex will offer it as a live pane in the terminal grid. Returns a session_id to use in subsequent calls.product_name, session_url, agent_name, label, metadatawriteSessions
end_sessionSignal that this IDE session has ended. Synchronex will summarize decisions made during the session, update the Product State Document, and write a handoff note for the next session. Call this in your IDE teardown hook or at the end of each session. Returns decisions_captured and handoff_note for confirmation.session_id, summary, ended_bywriteSessions
get_identity_kernelReturns the user's Identity Kernel — identity, product portfolio, standing constraints, and model preferences. Inject the returned injection_block at the start of every session to restore persistent identity context.session_id, client_typereadMemory & context
get_product_stateReturns the current Product State Document for a specific product, including last session summary, handoff note, what works, blockers, and open questions.product_namereadMemory & context
search_decisionsSemantic search over the cross-product decision history. Returns ranked, relevant decisions trimmed to a token budget. Falls back to keyword search if embeddings are unavailable.query, product_name, limit, token_budgetreadMemory & context
get_session_handoffReturns the handoff note (next_session_starts_here) for a product. Use this at the very start of a session to orient before loading full state. The lightest memory call available.product_namereadMemory & context
check_memory_confidenceAudits a session context block for stale data, constraint violations, and overall confidence score. Paste your CLAUDE.md or any injected memory block to validate it before relying on it.contextreadMemory & context
log_decisionWrites a new architectural or product decision to the cross-product decision index. Auto-tags, generates an embedding, and calculates temporal weight. Use this when a significant decision is made during a session.decision, reasoning, product_name, affects_products, workspace_idwriteMemory & context
log_project_eventRecord a project signal or event into the Synchronex command center. Use for deployments, errors, decisions, and any notable state change.project_id, event_type, title, severity, body, occurred_atwriteMemory & context
send_messageSend a team message or direct message to a teammate. Use this when the user explicitly asks you to message someone on their team.to, body, entity_reference, workspace_idwriteWorkers
export_kernelExports the authenticated user's active kernel into client-specific formats or a registered scaffold template.format, template_id, product_name, budget, session_id, client_typereadMemory & context
memory_kernel_attestConfirms that the AI agent loaded the Synchronex Identity Kernel for this session. Call once after reading the exported kernel or receiving kernel context.session_id, sentinel_token, kernel_fingerprintreadMemory & context
update_product_stateUpdates the Product State Document for a specific product. Accepts partial updates — only provided fields are changed. Creates the state document if it doesn't exist yet.product_name, last_session_summary, next_session_starts_here, status, what_works, what_is_blocked, open_questionswriteMemory & context
studio_generateQueue brand-aware content generation. Video requests use the async studio job pattern; poll with studio_get_job.content_type, brief, format, workspace_id, brand_id, provider, metadatawriteStudio / generation
studio_planQueue a brand-aware content lane plan from a brief.brief, duration_weeks, workspace_id, brand_idwriteStudio / generation
studio_proposeQueue content variants for approval from an existing generation request.generation_request_id, variant_countwriteStudio / generation
studio_get_jobPoll a studio generation job or async media job.job_idreadStudio / generation
worker_listList active Synchronex workers and recent run state.status, workspace_idreadWorkers
worker_runTrigger an active worker run. Returns immediately with a run id; poll with worker_get_run.worker_type, task, workspace_id, brand_id, inputwriteWorkers
worker_get_runRead the status and output of a worker run.run_idreadWorkers
worker_approveApprove an escalated worker run and resume execution. Requires full-scope MCP credentials.run_id, decision_reason, edited_actionfullWorkers
kernel_getRead the authenticated user Identity Kernel.nonereadKernel management
kernel_update_sliceMerge a validated partial update into one Identity Kernel slice.slice_name, updateswriteKernel management
kernel_list_productsList products managed by the authenticated user.nonereadKernel management
ceo_briefList pending CEO proposals and escalated worker runs awaiting review.limitreadCEO / decisions
ceo_approveApprove a CEO proposal or escalated worker run. Requires full-scope MCP credentials.proposal_id, run_id, notesfullCEO / decisions
ceo_rejectReject a CEO proposal or escalated worker run with feedback. Requires full-scope MCP credentials.proposal_id, run_id, feedbackfullCEO / decisions
list_datasetsLists normalized business datasets available to the authenticated user.workspace_idreadData ingress
query_datasetQueries rows from a normalized business dataset by exact-match filters.name, limit, filters, workspace_idreadData ingress
codebase_read_fileRead a UTF-8 file from a GitHub-backed registered project. Use before proposing code edits.project_id, path, refreadDeveloper tools
codebase_write_fileCreate or update one UTF-8 file in a GitHub-backed registered project. Requires full MCP scope.project_id, path, content, branch, message, shafullDeveloper tools
codebase_apply_diffApply a prepared file-set diff to a GitHub-backed registered project by writing complete file contents. Requires full MCP scope.project_id, branch, message, filesfullDeveloper tools
codebase_open_pull_requestOpen a GitHub pull request for a registered project and track it in Synchronex. Requires full MCP scope.project_id, title, head, base, body, draft, product_id, worker_run_id, workstream_brief_idfullDeveloper tools
codebase_list_pull_requestsList Synchronex-tracked pull requests for a GitHub-backed registered project.project_id, state, limitreadDeveloper tools
memory_kernel_readReturns the authenticated user Identity Kernel as structured JSON.nonereadMemory & context
memory_kernel_updateMerges a partial update into the authenticated user Identity Kernel.updateswriteMemory & context
memory_searchSearches memory layers (kernel, product state, decisions, free-form memories); decisions and free-form memories use semantic pgvector search.query, limit, layerreadMemory & context
memory_product_state_readReturns the current state document for a product by name.productreadMemory & context
memory_product_state_writeApplies partial updates to a product state document.product, updateswriteMemory & context
memory_decision_logAppends a cross-product decision to the decision index.decision, context, products_affectedwriteMemory & context
memory_session_summaryStores a cross-AI session summary with attribution.summary, topics, ai_toolwriteMemory & context
remember_free_formStores a free-form note in cloud memory with optional tags and workspace scope.title, content, tags, workspace_id, is_pinnedwriteMemory & context
recall_free_formSearches free-form cloud memories by semantic or keyword match.query, limit, workspace_idreadMemory & context
list_registered_workspacesLists registered Synchronex workspace sync targets for the authenticated user.nonereadWorkspaces
get_drift_eventsLists workspace drift events for the authenticated user.statusreadWorkspaces
approve_inbound_changeAccepts or rejects a pending workspace drift event.action, note, resolved_by, drift_event_idwriteWorkspaces
sync_workspace_stateRenders the current kernel export for a registered workspace. The MCP client writes the returned file content locally.workspace_registration_idwriteWorkspaces
intake_commandSubmit an inbound command through the intake spine. The command is recorded to the immutable command ledger and queued as a PENDING proposal for human approval; nothing executes directly.raw_content, requested_capabilitywriteCommand intake
get_inbound_commandsLists inbound command proposals for the authenticated user.statusreadCommand intake
approve_inbound_commandAccepts or rejects a pending inbound command proposal. Approval is a recorded decision only; execution is separately gated. Requires full-scope MCP credentials.proposal_id, action, notefullCommand intake
gmail_searchSearch Gmail threads in one explicitly labeled connected account.account_label, q, limit, workspace_idreadGmail
gmail_readRead a full Gmail thread from one explicitly labeled connected account.account_label, thread_id, workspace_idreadGmail
gmail_sendPropose a new Gmail message from one explicitly labeled account. The message is not sent until a human approves the connector write decision.account_label, to, subject, body, workspace_idwriteGmail

register_session

Register this AI session with Synchronex so it appears in the pane picker. Call this at the very start of every session. If you have a remote share URL (Claude Code: /share), pass it as session_url — Synchronex will offer it as a live pane in the terminal grid. Returns a session_id to use in subsequent calls.

Scope: write. Group: Sessions. Inputs: product_namesession_urlagent_namelabelmetadata.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "register_session",
    "arguments": {
      "product_name": "example"
    }
  }
}

end_session

Signal that this IDE session has ended. Synchronex will summarize decisions made during the session, update the Product State Document, and write a handoff note for the next session. Call this in your IDE teardown hook or at the end of each session. Returns decisions_captured and handoff_note for confirmation.

Scope: write. Group: Sessions. Inputs: session_idsummaryended_by.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "end_session",
    "arguments": {
      "session_id": "example"
    }
  }
}

get_identity_kernel

Returns the user's Identity Kernel — identity, product portfolio, standing constraints, and model preferences. Inject the returned injection_block at the start of every session to restore persistent identity context.

Scope: read. Group: Memory & context. Inputs: session_idclient_type.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "get_identity_kernel",
    "arguments": {
      "session_id": "example"
    }
  }
}

get_product_state

Returns the current Product State Document for a specific product, including last session summary, handoff note, what works, blockers, and open questions.

Scope: read. Group: Memory & context. Inputs: product_name.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "get_product_state",
    "arguments": {
      "product_name": "example"
    }
  }
}

search_decisions

Semantic search over the cross-product decision history. Returns ranked, relevant decisions trimmed to a token budget. Falls back to keyword search if embeddings are unavailable.

Scope: read. Group: Memory & context. Inputs: queryproduct_namelimittoken_budget.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "search_decisions",
    "arguments": {
      "query": "example"
    }
  }
}

get_session_handoff

Returns the handoff note (next_session_starts_here) for a product. Use this at the very start of a session to orient before loading full state. The lightest memory call available.

Scope: read. Group: Memory & context. Inputs: product_name.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "get_session_handoff",
    "arguments": {
      "product_name": "example"
    }
  }
}

check_memory_confidence

Audits a session context block for stale data, constraint violations, and overall confidence score. Paste your CLAUDE.md or any injected memory block to validate it before relying on it.

Scope: read. Group: Memory & context. Inputs: context.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "check_memory_confidence",
    "arguments": {
      "context": "example"
    }
  }
}

log_decision

Writes a new architectural or product decision to the cross-product decision index. Auto-tags, generates an embedding, and calculates temporal weight. Use this when a significant decision is made during a session.

Scope: write. Group: Memory & context. Inputs: decisionreasoningproduct_nameaffects_productsworkspace_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "log_decision",
    "arguments": {
      "decision": "example"
    }
  }
}

log_project_event

Record a project signal or event into the Synchronex command center. Use for deployments, errors, decisions, and any notable state change.

Scope: write. Group: Memory & context. Inputs: project_idevent_typetitleseveritybodyoccurred_at.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "log_project_event",
    "arguments": {
      "project_id": "example"
    }
  }
}

send_message

Send a team message or direct message to a teammate. Use this when the user explicitly asks you to message someone on their team.

Scope: write. Group: Workers. Inputs: tobodyentity_referenceworkspace_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "send_message",
    "arguments": {
      "to": "example"
    }
  }
}

export_kernel

Exports the authenticated user's active kernel into client-specific formats or a registered scaffold template.

Scope: read. Group: Memory & context. Inputs: formattemplate_idproduct_namebudgetsession_idclient_type.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "export_kernel",
    "arguments": {
      "format": "example"
    }
  }
}

memory_kernel_attest

Confirms that the AI agent loaded the Synchronex Identity Kernel for this session. Call once after reading the exported kernel or receiving kernel context.

Scope: read. Group: Memory & context. Inputs: session_idsentinel_tokenkernel_fingerprint.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "memory_kernel_attest",
    "arguments": {
      "session_id": "example"
    }
  }
}

update_product_state

Updates the Product State Document for a specific product. Accepts partial updates — only provided fields are changed. Creates the state document if it doesn't exist yet.

Scope: write. Group: Memory & context. Inputs: product_namelast_session_summarynext_session_starts_herestatuswhat_workswhat_is_blockedopen_questions.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "update_product_state",
    "arguments": {
      "product_name": "example"
    }
  }
}

studio_generate

Queue brand-aware content generation. Video requests use the async studio job pattern; poll with studio_get_job.

Scope: write. Group: Studio / generation. Inputs: content_typebriefformatworkspace_idbrand_idprovidermetadata.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "studio_generate",
    "arguments": {
      "content_type": "example"
    }
  }
}

studio_plan

Queue a brand-aware content lane plan from a brief.

Scope: write. Group: Studio / generation. Inputs: briefduration_weeksworkspace_idbrand_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "studio_plan",
    "arguments": {
      "brief": "example"
    }
  }
}

studio_propose

Queue content variants for approval from an existing generation request.

Scope: write. Group: Studio / generation. Inputs: generation_request_idvariant_count.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "studio_propose",
    "arguments": {
      "generation_request_id": "example"
    }
  }
}

studio_get_job

Poll a studio generation job or async media job.

Scope: read. Group: Studio / generation. Inputs: job_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "studio_get_job",
    "arguments": {
      "job_id": "example"
    }
  }
}

worker_list

List active Synchronex workers and recent run state.

Scope: read. Group: Workers. Inputs: statusworkspace_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "worker_list",
    "arguments": {
      "status": "example"
    }
  }
}

worker_run

Trigger an active worker run. Returns immediately with a run id; poll with worker_get_run.

Scope: write. Group: Workers. Inputs: worker_typetaskworkspace_idbrand_idinput.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "worker_run",
    "arguments": {
      "worker_type": "example"
    }
  }
}

worker_get_run

Read the status and output of a worker run.

Scope: read. Group: Workers. Inputs: run_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "worker_get_run",
    "arguments": {
      "run_id": "example"
    }
  }
}

worker_approve

Approve an escalated worker run and resume execution. Requires full-scope MCP credentials.

Scope: full. Group: Workers. Inputs: run_iddecision_reasonedited_action.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "worker_approve",
    "arguments": {
      "run_id": "example"
    }
  }
}

kernel_get

Read the authenticated user Identity Kernel.

Scope: read. Group: Kernel management. Inputs: none.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "kernel_get",
    "arguments": {}
  }
}

kernel_update_slice

Merge a validated partial update into one Identity Kernel slice.

Scope: write. Group: Kernel management. Inputs: slice_nameupdates.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "kernel_update_slice",
    "arguments": {
      "slice_name": "example"
    }
  }
}

kernel_list_products

List products managed by the authenticated user.

Scope: read. Group: Kernel management. Inputs: none.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "kernel_list_products",
    "arguments": {}
  }
}

ceo_brief

List pending CEO proposals and escalated worker runs awaiting review.

Scope: read. Group: CEO / decisions. Inputs: limit.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "ceo_brief",
    "arguments": {
      "limit": "example"
    }
  }
}

ceo_approve

Approve a CEO proposal or escalated worker run. Requires full-scope MCP credentials.

Scope: full. Group: CEO / decisions. Inputs: proposal_idrun_idnotes.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "ceo_approve",
    "arguments": {
      "proposal_id": "example"
    }
  }
}

ceo_reject

Reject a CEO proposal or escalated worker run with feedback. Requires full-scope MCP credentials.

Scope: full. Group: CEO / decisions. Inputs: proposal_idrun_idfeedback.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "ceo_reject",
    "arguments": {
      "proposal_id": "example"
    }
  }
}

list_datasets

Lists normalized business datasets available to the authenticated user.

Scope: read. Group: Data ingress. Inputs: workspace_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "list_datasets",
    "arguments": {
      "workspace_id": "example"
    }
  }
}

query_dataset

Queries rows from a normalized business dataset by exact-match filters.

Scope: read. Group: Data ingress. Inputs: namelimitfiltersworkspace_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "query_dataset",
    "arguments": {
      "name": "example"
    }
  }
}

codebase_read_file

Read a UTF-8 file from a GitHub-backed registered project. Use before proposing code edits.

Scope: read. Group: Developer tools. Inputs: project_idpathref.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "codebase_read_file",
    "arguments": {
      "project_id": "example"
    }
  }
}

codebase_write_file

Create or update one UTF-8 file in a GitHub-backed registered project. Requires full MCP scope.

Scope: full. Group: Developer tools. Inputs: project_idpathcontentbranchmessagesha.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "codebase_write_file",
    "arguments": {
      "project_id": "example"
    }
  }
}

codebase_apply_diff

Apply a prepared file-set diff to a GitHub-backed registered project by writing complete file contents. Requires full MCP scope.

Scope: full. Group: Developer tools. Inputs: project_idbranchmessagefiles.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "codebase_apply_diff",
    "arguments": {
      "project_id": "example"
    }
  }
}

codebase_open_pull_request

Open a GitHub pull request for a registered project and track it in Synchronex. Requires full MCP scope.

Scope: full. Group: Developer tools. Inputs: project_idtitleheadbasebodydraftproduct_idworker_run_idworkstream_brief_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "codebase_open_pull_request",
    "arguments": {
      "project_id": "example"
    }
  }
}

codebase_list_pull_requests

List Synchronex-tracked pull requests for a GitHub-backed registered project.

Scope: read. Group: Developer tools. Inputs: project_idstatelimit.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "codebase_list_pull_requests",
    "arguments": {
      "project_id": "example"
    }
  }
}

memory_kernel_read

Returns the authenticated user Identity Kernel as structured JSON.

Scope: read. Group: Memory & context. Inputs: none.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "memory_kernel_read",
    "arguments": {}
  }
}

memory_kernel_update

Merges a partial update into the authenticated user Identity Kernel.

Scope: write. Group: Memory & context. Inputs: updates.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "memory_kernel_update",
    "arguments": {
      "updates": "example"
    }
  }
}

memory_search

Searches memory layers (kernel, product state, decisions, free-form memories); decisions and free-form memories use semantic pgvector search.

Scope: read. Group: Memory & context. Inputs: querylimitlayer.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "memory_search",
    "arguments": {
      "query": "example"
    }
  }
}

memory_product_state_read

Returns the current state document for a product by name.

Scope: read. Group: Memory & context. Inputs: product.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "memory_product_state_read",
    "arguments": {
      "product": "example"
    }
  }
}

memory_product_state_write

Applies partial updates to a product state document.

Scope: write. Group: Memory & context. Inputs: productupdates.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "memory_product_state_write",
    "arguments": {
      "product": "example"
    }
  }
}

memory_decision_log

Appends a cross-product decision to the decision index.

Scope: write. Group: Memory & context. Inputs: decisioncontextproducts_affected.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "memory_decision_log",
    "arguments": {
      "decision": "example"
    }
  }
}

memory_session_summary

Stores a cross-AI session summary with attribution.

Scope: write. Group: Memory & context. Inputs: summarytopicsai_tool.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "memory_session_summary",
    "arguments": {
      "summary": "example"
    }
  }
}

remember_free_form

Stores a free-form note in cloud memory with optional tags and workspace scope.

Scope: write. Group: Memory & context. Inputs: titlecontenttagsworkspace_idis_pinned.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "remember_free_form",
    "arguments": {
      "title": "example"
    }
  }
}

recall_free_form

Searches free-form cloud memories by semantic or keyword match.

Scope: read. Group: Memory & context. Inputs: querylimitworkspace_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "recall_free_form",
    "arguments": {
      "query": "example"
    }
  }
}

list_registered_workspaces

Lists registered Synchronex workspace sync targets for the authenticated user.

Scope: read. Group: Workspaces. Inputs: none.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "list_registered_workspaces",
    "arguments": {}
  }
}

get_drift_events

Lists workspace drift events for the authenticated user.

Scope: read. Group: Workspaces. Inputs: status.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "get_drift_events",
    "arguments": {
      "status": "example"
    }
  }
}

approve_inbound_change

Accepts or rejects a pending workspace drift event.

Scope: write. Group: Workspaces. Inputs: actionnoteresolved_bydrift_event_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "approve_inbound_change",
    "arguments": {
      "action": "example"
    }
  }
}

sync_workspace_state

Renders the current kernel export for a registered workspace. The MCP client writes the returned file content locally.

Scope: write. Group: Workspaces. Inputs: workspace_registration_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "sync_workspace_state",
    "arguments": {
      "workspace_registration_id": "example"
    }
  }
}

intake_command

Submit an inbound command through the intake spine. The command is recorded to the immutable command ledger and queued as a PENDING proposal for human approval; nothing executes directly.

Scope: write. Group: Command intake. Inputs: raw_contentrequested_capability.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "intake_command",
    "arguments": {
      "raw_content": "example"
    }
  }
}

get_inbound_commands

Lists inbound command proposals for the authenticated user.

Scope: read. Group: Command intake. Inputs: status.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "get_inbound_commands",
    "arguments": {
      "status": "example"
    }
  }
}

approve_inbound_command

Accepts or rejects a pending inbound command proposal. Approval is a recorded decision only; execution is separately gated. Requires full-scope MCP credentials.

Scope: full. Group: Command intake. Inputs: proposal_idactionnote.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "approve_inbound_command",
    "arguments": {
      "proposal_id": "example"
    }
  }
}

gmail_search

Search Gmail threads in one explicitly labeled connected account.

Scope: read. Group: Gmail. Inputs: account_labelqlimitworkspace_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "gmail_search",
    "arguments": {
      "account_label": "example"
    }
  }
}

gmail_read

Read a full Gmail thread from one explicitly labeled connected account.

Scope: read. Group: Gmail. Inputs: account_labelthread_idworkspace_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "gmail_read",
    "arguments": {
      "account_label": "example"
    }
  }
}

gmail_send

Propose a new Gmail message from one explicitly labeled account. The message is not sent until a human approves the connector write decision.

Scope: write. Group: Gmail. Inputs: account_labeltosubjectbodyworkspace_id.

json
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "tools/call",
  "params": {
    "name": "gmail_send",
    "arguments": {
      "account_label": "example"
    }
  }
}