Quickstart: OpenClaw
OpenClaw is an open-source AI agent that runs locally and connects to LLMs like Claude, GPT, and DeepSeek through messaging platforms. This guide adds Tusky as a storage skill so your OpenClaw agent can persist files, back up conversations, and share data — all on the decentralized Walrus network.
What you’ll set up
Section titled “What you’ll set up”OpenClaw Agent ↕ MCP (skill)Tusky CLI (tusky mcp serve) ↕ Tusky SDKTusky API → Hot Cache → Walrus NetworkOpenClaw’s skill system is built on MCP. Installing Tusky as a skill gives your agent 29 storage tools — vaults, files, folders, trash, sharing — accessible through natural language.
-
Get a Tusky API key
Sign up at app.tusky.ai (you’ll need an access code during early access) and create an API key from the dashboard. Keys start with
tdp_. -
Install the Tusky CLI
Terminal window npm install -g @tuskydp/cliVerify the install:
Terminal window tusky --version -
Create the Tusky skill
Create a
SKILL.mdin your OpenClaw skills directory:Terminal window mkdir -p ~/.openclaw/workspace/skills/tuskyWrite the skill file at
~/.openclaw/workspace/skills/tusky/SKILL.md:---name: tuskydescription: Decentralized file storage — upload, download, and manage files on the Walrus network via Tuskymetadata:{"openclaw":{"emoji": "🦣","requires": { "bins": ["tusky"], "env": ["TUSKYDP_API_KEY"] },"primaryEnv": "TUSKYDP_API_KEY"}}---You have access to Tusky decentralized storage through MCP tools.Tusky stores files on the Walrus network — a decentralized storage layer with no single point of failure.## Key concepts- **Vaults** are containers for files. Use `public` visibility for sharing, `shared` for encrypted collaboration.- **Files** upload to a hot cache first, then sync to Walrus in the background.- **File statuses**: `uploading` → `hot` → `synced` → `cold`. Files are available for download in any status except `uploading`.## Common workflows### Save a file1. Check for an existing vault with `tusky_vault_list`, or create one with `tusky_vault_create`2. Upload with `tusky_file_upload` (from disk) or `tusky_file_create` (from inline content)### Retrieve a file1. Find it with `tusky_file_list` (filter by vault or folder)2. Download with `tusky_file_download` (to disk) or `tusky_file_read` (inline content)### Organize files- Use `tusky_folder_create` to create folders within vaults- Use `tusky_file_list` with a `folderId` to browse folder contents## Rules- Always check for existing vaults before creating new ones- Use descriptive vault and file names- Prefer `tusky_file_create` over `tusky_file_upload` when working with generated text content- Deleted files go to trash first — use `tusky_trash_restore` to recover mistakes -
Add the MCP server to your OpenClaw config
Add the Tusky MCP server to
~/.openclaw/openclaw.json:In any OpenClaw chat, run:
/mcp set tusky={"command":"tusky","args":["mcp","serve"],"env":{"TUSKYDP_API_KEY":"tdp_your_key"}}Open
~/.openclaw/openclaw.jsonand add the server undermcp.servers:{// ... your existing config"mcp": {"servers": {"tusky": {"command": "tusky","args": ["mcp", "serve"],"env": {"TUSKYDP_API_KEY": "tdp_your_key"}}}}} -
Restart OpenClaw and test
Refresh your skills or restart the agent, then try:
“List my Tusky vaults”
Your agent should call
tusky_vault_listand return results.
Try it out
Section titled “Try it out”Once the skill is active, try these prompts in any OpenClaw channel (Signal, Telegram, Discord, WhatsApp):
| Prompt | What happens |
|---|---|
| ”Create a vault called ‘notes‘“ | Calls tusky_vault_create |
| ”Save today’s conversation to Tusky” | Calls tusky_file_create with inline content |
| ”Upload the file at ~/reports/q1.pdf to Tusky” | Calls tusky_file_upload from local disk |
| ”What files do I have in my notes vault?” | Calls tusky_file_list filtered by vault |
| ”Download the latest backup from Tusky” | Calls tusky_file_download to local disk |
| ”How much storage am I using?” | Calls tusky_account_info |
Per-agent routing (optional)
Section titled “Per-agent routing (optional)”If you run multiple OpenClaw agents, you can assign Tusky to specific agents instead of making it globally available:
{ "agents": { "research-bot": { "mcpServers": ["tusky"] } }, "mcp": { "servers": { "tusky": { "command": "tusky", "args": ["mcp", "serve"], "env": { "TUSKYDP_API_KEY": "tdp_your_key" } } } }}Shared vaults (optional)
Section titled “Shared vaults (optional)”For encrypted collaboration between agents or users, enable SEAL encryption by adding a Sui keypair:
# Generate or import a Sui keypairtusky sui setupThen add the key to your MCP server config:
{ "mcp": { "servers": { "tusky": { "command": "tusky", "args": ["mcp", "serve"], "env": { "TUSKYDP_API_KEY": "tdp_your_key", "TUSKYDP_SUI_PRIVATE_KEY": "suiprivkey1..." } } } }}Now your agent can create shared vaults, grant access to other Sui addresses, and encrypt/decrypt files transparently.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Fix |
|---|---|
| Skill not appearing | Check that ~/.openclaw/workspace/skills/tusky/SKILL.md exists and restart OpenClaw |
| ”Command not found” | Use the absolute path to tusky in openclaw.json — find it with which tusky |
| ”Invalid API key” | Verify your key with tusky whoami, or create a new one at app.tusky.ai |
| MCP server not connecting | Check TUSKYDP_API_KEY is set in the env block of your openclaw.json config |
| ”SEAL encryption not available” | Add TUSKYDP_SUI_PRIVATE_KEY to enable shared vault access |
| Tools not showing in chat | Run /mcp show tusky to verify the server is registered |
Available tools
Section titled “Available tools”The Tusky MCP server exposes 29 tools:
| Category | Tools |
|---|---|
| Account | tusky_account_info, tusky_account_link_sui, tusky_account_unlink_sui |
| Vaults | create, list, get, update, delete |
| Files | upload, create, download, read, list, get, delete, retry |
| Folders | create, list, get_contents, update, delete |
| Trash | list, restore, delete, empty |
| Shared vaults | grant_access, revoke_access, list_members, list_shared |