Every write in Undisk is versioned.
File operations
| Tool | Description |
|---|
read_file | Read file contents by path. Returns UTF-8 text or base64 for binary with a mimeType hint, plus metadata. Large text files (over ~10 KB) are automatically truncated — use line_start/line_end to paginate through remaining content. Supports negative indices for tailing (e.g., line_start: -50). Use version_id to read a specific historical version without modifying state. |
write_file | Write UTF-8 text or base64-encoded binary to a file. Creates an immutable version automatically. |
create_file | Create a new file (fails if path already exists). Use write_file for upsert behavior. |
append_log | Append log entries to a file without overwriting. Ideal for shared logs across agents, sessions, and machines. |
upload_session | Manage staged binary uploads for large files. Use action ‘start’ to begin, ‘append’ to send chunks, ‘complete’ to finalize, or ‘cancel’ to discard. |
delete_file | Soft-delete a file or directory. Set recursive: true to delete all files under a path. Each file is individually tombstoned and restorable. |
move_file | Move or rename a file or directory. Set recursive: true to move all files under a path. Full audit trail on every path. |
list_files | List files in a directory. Supports recursive listing. Returns up to 1,000 entries per call. |
search_files | Search file contents by plain text pattern. Returns matching file metadata (path, name, size). Supports regex, case-insensitive, and content snippets. |
Version control
| Tool | Description |
|---|
list_versions | Show version history for a file: timestamp, agent, content hash, size. |
list_changes | Query all changes across the workspace by agent and/or time range. At least one filter required. Returns version records from all files — ideal for session review, audit, and compliance evidence. |
restore_version | Restore a file to any prior version. Creates a new version with restored content. |
get_diff | Structured diff between two versions: changes with type (added/removed/modified), line ranges, and before/after content. |
workspace_checkpoint | Manage workspace snapshots and templates. For snapshots: create, list, restore, and delete named checkpoints that capture every live file’s current version, enabling atomic multi-file rollback. For templates: scaffold workspaces via apply_template, list_templates, and preview_template — existing files are skipped. |
Workspace admin
| Tool | Description |
|---|
policy | Get, validate, or set workspace access rules and limits. Use action ‘read’ to fetch current policy, action ‘validate’ to preview a replace/merge update without applying it, and action ‘write’ to apply path ACL, size limit, extension rule, and rate cap changes. |
vault_secret | Securely store, retrieve, list, rotate, and delete workspace secrets. Encrypted at rest, never in file listings or audit plaintext. |
share_with_public | Share a file via an unlisted public link (experimental). Requires enabling at /keys. Shared links need Undisk auth to view. Flagged content blocked. |
audit_trail | Query the workspace’s tamper-evident audit trail. Use ‘list’ to browse entries with filters, ‘export’ for JSON/NDJSON evidence dumps, and ‘verify’ to validate hash-chain integrity. Supports filtering by agent, time, operation, and path. |
workspace_collaborate | Multi-agent coordination: claim/release file locks, leave handoff notes, discover active agents. Locks auto-expire after a configurable TTL. Use for collaborative workspace scenarios. |
webhook | Manage webhook endpoints for real-time event notifications. Register HTTPS URLs to receive HMAC-SHA256 signed POST requests when workspace events occur (file changes, policy updates, etc.). Supports create, list, get, update, delete, and list_deliveries actions. |
federation | Cross-workspace file federation: create read-only links to files in other workspaces you own. Read federated files without switching workspaces. Supports create_link, list_links, read, and delete_link actions. |
list_workspaces | List all workspaces accessible to the current API key. Returns provider, org membership, current workspace, and current server time, and gives a better hint when only one workspace is available. |
Introspection
| Tool | Description |
|---|
discover_tools_and_capabilities | Call after tools/list to learn available tools, server capabilities, provider-specific feature flags, data residency notes, caller identity, and current Undisk MCP server time. |
Compute
| Tool | Description |
|---|
run_in_sandbox | Execute code in a secure, ephemeral E2B cloud sandbox and return stdout, stderr, and exit code. Supports Python, JavaScript, TypeScript, Bash, and C. Each call creates a fresh sandbox — no state persists between calls. Requires the workspace owner to have enabled Undisk Compute (E2B_API_KEY configured). |