CrowNest
API reference

Capability matrix

Compare CrowNest resources across MCP tools, CLI commands, TypeScript SDK methods, and Python SDK methods.

This matrix maps each CrowNest operation to the surfaces that expose it: MCP tools, CLI commands, the TypeScript SDK, and the Python SDK. A - means the surface does not expose that operation.

Projects and usage

ResourceOperationMCP toolCLI commandTypeScript SDKPython SDK
ProjectListlist_projectscrownest projects listclient.projects.list()client.projects.list()
ProjectCreatecreate_project-client.projects.create()client.projects.create()
UsageReadget_usage-client.usage()client.usage()

Sandboxes

ResourceOperationMCP toolCLI commandTypeScript SDKPython SDK
SandboxCreatecreate_sandboxcrownest sandboxes createclient.sandboxes.create()client.sandboxes.create()
SandboxListlist_sandboxescrownest sandboxes listclient.sandboxes.list()client.sandboxes.list()
SandboxGetget_sandboxcrownest sandboxes getclient.sandboxes.get()client.sandboxes.get()
SandboxSet TTLset_sandbox_ttlcrownest sandboxes set-ttlclient.sandboxes.setTtl(), sandbox.setTtl()client.sandboxes.set_ttl(), sandbox.set_ttl()
SandboxKillkill_sandboxcrownest sandboxes killclient.sandboxes.kill(), sandbox.kill()client.sandboxes.kill(), sandbox.kill()

MCP tools that accept sandbox_id can omit it to use the session's lazy default Sandbox. The first omitted sandbox_id call creates that Sandbox; later calls reuse it until it expires, is killed, or the MCP server exits. Passing a visible existing Sandbox ID adopts it for the session without marking it as server-created cleanup state.

Commands

ResourceOperationMCP toolCLI commandTypeScript SDKPython SDK
CommandRun and waitrun_commandcrownest commands runclient.commands.run(), sandbox.commands.run()client.commands.run(), sandbox.commands.run()
CommandRun in backgroundrun_command (background: true)crownest commands run --backgroundclient.commands.run(..., { background: true })client.commands.run(..., background=True)
CommandGetget_commandcrownest commands getclient.commands.get()client.commands.get()
CommandLogsstream_command_logscrownest logsclient.commands.logs(), client.commands.streamLogs()client.commands.logs(), client.commands.stream_logs()
CommandCancelcancel_commandcrownest commands cancelclient.commands.cancel(), sandbox.commands.cancel()client.commands.cancel(), sandbox.commands.cancel()

Commands are persisted process invocation records. For interpreter state, use Code Contexts and Code Runs.

Workspace Runs

ResourceOperationMCP toolCLI commandTypeScript SDKPython SDK
Workspace RunCreatecreate_workspace_runcrownest workspace-runs createclient.workspaceRuns.create()client.workspace_runs.create()
Workspace RunUpload archiveupload_workspace_run_archivecrownest workspace-runs uploadclient.workspaceRuns.uploadArchive()client.workspace_runs.upload_archive()
Workspace RunCreate transfercreate_workspace_run_archive_transfer-client.workspaceRuns.createArchiveTransfer()client.workspace_runs.create_archive_transfer()
Workspace RunUpload transfer bytesupload_workspace_run_archive_transfer-client.workspaceRuns.uploadArchiveToTransfer()client.workspace_runs.upload_archive_to_transfer()
Workspace RunFinalize archivefinalize_workspace_run_archive-client.workspaceRuns.finalizeArchive()client.workspace_runs.finalize_archive()
Workspace RunRun archiveMCP flow: create, upload, finalize, startcrownest workspace-runs run-archiveSDK flow: create, upload, finalize, start, streamSDK flow: create, upload, finalize, start, stream
Workspace RunStartstart_workspace_runcrownest workspace-runs startclient.workspaceRuns.start()client.workspace_runs.start()
Workspace RunGet statusget_workspace_runcrownest workspace-runs statusclient.workspaceRuns.get()client.workspace_runs.get()
Workspace RunListlist_workspace_runscrownest workspace-runs listclient.workspaceRuns.list()client.workspace_runs.list()
Workspace RunReplay eventsreplay_workspace_run_eventscrownest workspace-runs logsclient.workspaceRuns.listEvents(), client.workspaceRuns.streamEvents()client.workspace_runs.list_events(), client.workspace_runs.stream_events()
Workspace RunCancelcancel_workspace_runcrownest workspace-runs cancelclient.workspaceRuns.cancel()client.workspace_runs.cancel()
Workspace RunEvidence Bundleget_workspace_run_evidencecrownest workspace-runs evidenceclient.workspaceRuns.evidence()client.workspace_runs.evidence()

Workspace Runs accept existing .tar.gz/.tgz archives, run a command in a curated CrowNest template, stream stdout/stderr events, and persist a durable Evidence Bundle. Use the CLI, SDK, API, or Crabbox to build the archive flow that fits your agent. MCP exposes primitive lifecycle steps, not the CLI-only run-archive convenience wrapper.

Workspace Run Matrices

OperationMCP toolCLI commandTypeScript SDKPython SDK
Createcreate_workspace_run_matrixcrownest workspace-run-matrices runclient.workspaceRunMatrices.create()client.workspace_run_matrices.create()
Upload archiveupload_workspace_run_matrix_archivecrownest workspace-run-matrices runclient.workspaceRunMatrices.uploadArchive()client.workspace_run_matrices.upload_archive()
Create transfer-crownest workspace-run-matrices runclient.workspaceRunMatrices.createArchiveTransfer()client.workspace_run_matrices.create_archive_transfer()
Upload transfer bytes-crownest workspace-run-matrices runclient.workspaceRunMatrices.uploadArchiveToTransfer()client.workspace_run_matrices.upload_archive_to_transfer()
Finalize archive-crownest workspace-run-matrices runclient.workspaceRunMatrices.finalizeArchive()client.workspace_run_matrices.finalize_archive()
Run archiveMCP flow: create, upload, startcrownest workspace-run-matrices runclient.workspaceRunMatrices.runArchive()client.workspace_run_matrices.run_archive()
Startstart_workspace_run_matrixcrownest workspace-run-matrices runclient.workspaceRunMatrices.start()client.workspace_run_matrices.start()
Get statusget_workspace_run_matrixcrownest workspace-run-matrices getclient.workspaceRunMatrices.get()client.workspace_run_matrices.get()
Listlist_workspace_run_matricescrownest workspace-run-matrices listclient.workspaceRunMatrices.list()client.workspace_run_matrices.list()
Replay eventsreplay_workspace_run_matrix_eventscrownest workspace-run-matrices eventsclient.workspaceRunMatrices.listEvents()client.workspace_run_matrices.list_events()
Cancelcancel_workspace_run_matrixcrownest workspace-run-matrices cancelclient.workspaceRunMatrices.cancel()client.workspace_run_matrices.cancel()
Aggregate evidenceget_workspace_run_matrix_evidencecrownest workspace-run-matrices evidenceclient.workspaceRunMatrices.evidence()client.workspace_run_matrices.evidence()

The CLI run command is the one-shot flow for create, upload, finalize, and start. The SDKs also expose each primitive and event streaming. The REST endpoint inventory is in Workspace Run Matrices.

Code Contexts and Code Runs

ResourceOperationMCP toolCLI commandTypeScript SDKPython SDK
Code RunRunrun_codecrownest code runclient.code.run(), sandbox.code.run()client.code.run(), sandbox.code.run()
Code RunStream-crownest code runclient.code.runStream(), sandbox.code.runStream()client.code.run_stream(), sandbox.code.run_stream()
Code ContextCreatecreate_code_context-client.code.createContext(), sandbox.code.createContext()client.code.create_context(), sandbox.code.create_context()
Code ContextListlist_code_contexts-client.code.listContexts(), sandbox.code.listContexts()client.code.list_contexts(), sandbox.code.list_contexts()
Code ContextGetget_code_context-client.code.getContext(), sandbox.code.getContext()client.code.get_context(), sandbox.code.get_context()
Code ContextDeletedelete_code_context-client.code.deleteContext(), sandbox.code.deleteContext()client.code.delete_context(), sandbox.code.delete_context()

run_code uses artifact promotion by default. Inline display outputs stay inline when safe; rich outputs are promoted to Artifacts; oversized, unsafe, or unsupported outputs are reported as rejected outputs.

Workspace files

ResourceOperationMCP toolCLI commandTypeScript SDKPython SDK
Workspace fileRead textread_filecrownest files readclient.files.read(), sandbox.files.read()client.files.read(), sandbox.files.read()
Workspace fileWrite textwrite_filecrownest files writeclient.files.write(), sandbox.files.write()client.files.write(), sandbox.files.write()
Workspace fileUpload local file-crownest files uploadclient.files.write()client.files.write()
Workspace fileList directorylist_filescrownest files listclient.files.list(), sandbox.files.list()client.files.list(), sandbox.files.list()
Workspace fileStatstat_filecrownest files statclient.files.stat(), sandbox.files.stat()client.files.stat(), sandbox.files.stat()
Workspace fileMake directorymake_directorycrownest files mkdirclient.files.mkdir(), sandbox.files.mkdir()client.files.mkdir(), sandbox.files.mkdir()
Workspace fileMove or renamemove_filecrownest files moveclient.files.move(), sandbox.files.move()client.files.move(), sandbox.files.move()
Workspace fileDeletedelete_filecrownest files deleteclient.files.delete(), sandbox.files.delete()client.files.delete(), sandbox.files.delete()
Workspace fileDownload URLget_file_download_url-client.files.downloadUrl(), sandbox.files.downloadUrl()client.files.download_url(), sandbox.files.download_url()
Workspace fileRead bytesread_file_bytes-client.files.readBytes(), sandbox.files.readBytes()client.files.read_bytes(), sandbox.files.read_bytes()
Workspace fileWrite byteswrite_file_bytes-client.files.writeBytes(), sandbox.files.writeBytes()client.files.write_bytes(), sandbox.files.write_bytes()

Public file APIs operate inside the Sandbox Workspace. Use /workspace paths unless a lower-level runtime command intentionally reads elsewhere.

Artifacts

ResourceOperationMCP toolCLI commandTypeScript SDKPython SDK
ArtifactCreate from Workspace filecreate_artifactcrownest artifacts createclient.artifacts.create(), sandbox.artifacts.create()client.artifacts.create(), sandbox.artifacts.create()
ArtifactList for Sandboxlist_artifactscrownest artifacts listclient.artifacts.list(), sandbox.artifacts.list()client.artifacts.list(), sandbox.artifacts.list()
ArtifactGet metadataget_artifact-client.artifacts.get()client.artifacts.get()
ArtifactDownload bytesdownload_artifactcrownest artifacts downloadclient.artifacts.download()client.artifacts.download()
ArtifactDownload URLget_artifact_download_url-client.artifacts.downloadUrl()client.artifacts.download_url()
ArtifactDeletedelete_artifactcrownest artifacts deleteclient.artifacts.delete()client.artifacts.delete()

Artifacts are durable outputs copied out of the Workspace and indexed by CrowNest. A file becomes an Artifact only when you explicitly create one or when Code Run output promotion succeeds.

Previews

ResourceOperationMCP toolCLI commandTypeScript SDKPython SDK
PreviewCreatecreate_previewcrownest previews createclient.previews.create(), sandbox.previews.create()client.previews.create(), sandbox.previews.create()
PreviewList for Sandboxlist_previewscrownest previews listclient.previews.list(), sandbox.previews.list()client.previews.list(), sandbox.previews.list()
PreviewGet metadataget_preview-client.previews.get()client.previews.get()
PreviewRevokerevoke_previewcrownest previews revokeclient.previews.revoke()client.previews.revoke()

Preview URLs are authenticated or token-mode private browser links. Public unauthenticated Preview URLs are not part of v1.

API Keys

ResourceOperationMCP toolCLI commandTypeScript SDKPython SDK
API KeyCreate-crownest keys create--
API KeyList metadatalist_api_keyscrownest keys listclient.apiKeys.list()client.api_keys.list()
API KeyGet metadataget_api_key-client.apiKeys.get()client.api_keys.get()
API KeyRevokerevoke_api_key-client.apiKeys.revoke()client.api_keys.revoke()

You create API keys from the dashboard or the CLI, not from the SDKs. Programmatic surfaces can inspect and revoke metadata, but secret key values are only shown once at creation.

Vercel AI SDK tools

@crownest/ai-sdk is a compact starter set for Vercel AI SDK loops: runCode, runCommand, readFile, and writeFile. MCP is the complete model-callable parity surface for the operations in this matrix.

Beta scopes

Backup scopes are visible in API-key and auth.md metadata for beta accounts: backup:create, backup:read, backup:restore, and backup:delete. They are feature-gated and are not listed as generally available operations in this matrix until the backup API surface is public.

Next steps

  • Agent patterns has multi-step recipes that use the matrix above.
  • MCP documents the default Sandbox model for MCP hosts.
  • Authentication lists the scopes each operation requires.

On this page