Openclaw Zo Guide
Complete guide to installing OpenClaw on a Zo Computer and connecting all 50+ native MCP tools via mcporter. From zero to a fully-equipped AI agent.
Ask AI about Openclaw Zo Guide
Powered by Claude Β· Grounded in docs
I know everything about Openclaw Zo Guide. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Installing OpenClaw on Zo Computer & Connecting All 50+ Tools
Last updated: March 10, 2026
A complete guide to installing the OpenClaw agent framework on your Zo Computer and bridging it with Zo's native MCP tools via mcporter β from zero to a fully-equipped AI agent.
π Live version: nytemode.zo.space/openclaw-zo-guide
Why Run OpenClaw on Your Zo Computer?
OpenClaw turns your Zo Computer into something more than a server you talk to β it becomes home to a persistent, autonomous AI agent. One that connects to your messaging apps (Telegram, Discord, WhatsApp), remembers context between conversations, runs scheduled tasks while you sleep, and takes action on its own when needed.
The real power is the combination: OpenClaw's agent framework (memory, identity, scheduling, multi-channel messaging) plus Zo's 50+ pre-authenticated MCP tools (Gmail, Calendar, image generation, web research, website deployment, and more). Your agent doesn't just answer questions β it checks your calendar, drafts emails, deploys pages, monitors services, and carries the load.
For AI Agents
π€ This guide is designed to be followed step-by-step by either a human or an AI agent operating on a Zo Computer. If you're an agent and someone gave you this link, you can execute every command in this guide directly on the Zo server. Work through each step in order, verify each one succeeds before moving on, and you'll have a fully operational OpenClaw agent with access to all Zo platform tools.
What You'll Set Up
- Install OpenClaw on the Zo Computer
- Configure it with an LLM provider (Anthropic, OpenAI, etc.)
- Connect a messaging channel (Telegram, Discord, or WhatsApp)
- Enable full tool access (shell, files, web)
- Install mcporter to bridge Zo's 50+ MCP tools into your agent
- Write workspace files so your agent knows how to use everything
Prerequisites
You need:
- A Zo Computer account (any tier)
- An API key from an LLM provider β Anthropic (Claude) or OpenAI
- A messaging channel to talk to your agent β Telegram bot token (easiest), Discord bot, or WhatsApp
βΉοΈ Zo Computer runs Linux with Node.js pre-installed. You don't need Docker, containers, or a reverse proxy β OpenClaw runs directly on the server.
Step 1: Install OpenClaw
SSH into your Zo Computer (or run commands via Zo's shell tools) and install OpenClaw using npm:
# Install OpenClaw globally
npm install -g openclaw@latest
# Verify installation
openclaw --version
You should see the version number (e.g., 2026.3.2). If npm isn't found, install Node.js first:
# Only if Node.js is missing (unlikely on Zo)
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y nodejs
Step 2: Run the Onboarding Wizard
OpenClaw has an interactive onboarding wizard that walks you through initial configuration:
openclaw onboard
The wizard will ask you to:
- Choose an LLM provider β select Anthropic (for Claude) or OpenAI
- Enter your API key β paste your provider's API key
- Select a model β for Anthropic, choose
claude-opus-4-6(best) orclaude-sonnet-4-6(faster/cheaper) - Configure permissions β choose "Full access" when prompted
- Install starter skills β accept the defaults or skip
β οΈ The wizard creates
/root/.openclaw/openclaw.jsonwith your configuration. Even if you select "Full access" during onboarding, the wizard often setstools.profileto"messaging"anyway. We'll fix this in the next step.
If you prefer to skip the wizard and configure manually, create the config file directly:
mkdir -p /root/.openclaw/workspace
cat > /root/.openclaw/openclaw.json << 'OCEOF'
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-sonnet-4-6"
}
}
},
"tools": {
"profile": "full"
},
"llm": {
"providers": {
"anthropic": {
"apiKey": "YOUR_ANTHROPIC_API_KEY"
}
}
}
}
OCEOF
Replace YOUR_ANTHROPIC_API_KEY with your actual key from console.anthropic.com. Use claude-opus-4-6 for maximum capability or claude-sonnet-4-6 for speed.
Step 3: Fix tools.profile
This is the single most common issue with OpenClaw on Zo. The onboard wizard defaults tools.profile to "messaging", which blocks shell, file, and web access. Your agent needs "full".
# Check current profile
openclaw config get tools.profile
# Set to full (required for shell, files, and web access)
openclaw config set tools.profile full
# Verify it stuck
openclaw config get tools.profile
β οΈ If the output isn't
"full", edit the config file directly:sed -i 's/"messaging"/"full"/g' /root/.openclaw/openclaw.json
Step 4: Connect a Messaging Channel
Your agent needs a way to talk to you. Telegram is the easiest option.
Option A: Telegram (Recommended)
- Message @BotFather on Telegram
- Send
/newbot, give it a name and username - Copy the bot token BotFather gives you
- Configure OpenClaw with it:
openclaw config set channels.telegram.enabled true
openclaw config set channels.telegram.botToken "YOUR_TELEGRAM_BOT_TOKEN"
# If you'll use group chats and want immediate replies:
openclaw config set channels.telegram.groupPolicy open
βΉοΈ If you keep
channels.telegram.groupPolicyas"allowlist", add sender IDs tochannels.telegram.groupAllowFrom(orallowFrom). An empty allowlist silently drops all group messages.
Option B: Discord
openclaw config set channels.discord.enabled true
openclaw config set channels.discord.token "YOUR_DISCORD_BOT_TOKEN"
Option C: WhatsApp
WhatsApp requires QR code scanning. Run openclaw onboard and select WhatsApp when prompted β it'll display a QR code to scan with your phone.
Step 5: Install mcporter
Now for the key piece: bridging Zo's native MCP tools into OpenClaw. mcporter is an npm package that makes Zo's 50+ tools callable from inside your agent's session.
Without mcporter, your agent only has OpenClaw's built-in tools (shell, files, basic web browsing). With mcporter, your agent gains access to Gmail, Google Calendar, image generation, web research, website deployment, scheduled automations, and everything else Zo offers.
npm install -g mcporter
Step 6: Authenticate mcporter with Zo
mcporter needs to authenticate with Zo's MCP API. There are two ways to do this:
Option A: Access Token (Recommended)
Access tokens are permanent API keys that never expire. This is the recommended approach β it eliminates the most common cause of agents going offline.
- Go to Zo Dashboard β Settings β Advanced
- Under Access Tokens, enter a name (e.g., "mcporter") and click +
- Copy the token immediately β it starts with
zo_sk_and won't be shown again
βΉοΈ Access tokens grant full access to your Zo. Keep them secure and never commit them to version control. You can create multiple tokens (one per integration) and revoke them individually from Settings.
Option B: JWT Token (Not Recommended)
Your Zo Computer also has a JWT token at /root/.zo_secrets. While this works, JWTs expire every ~24 hours. If the platform refreshes .zo_secrets but your mcporter config still has the old token, your agent silently loses access to all Zo tools and can go offline without any error message.
β οΈ The JWT expiry problem is the #1 cause of agents appearing silent every ~24 hours. Expired JWTs break Zo tool calls until credentials are refreshed. Use a permanent access token (
zo_sk_...) to eliminate this failure mode.
Step 7: Configure mcporter
Create the mcporter config file pointing to Zo's MCP endpoint with your access token:
mkdir -p /root/.mcporter
cat > /root/.mcporter/mcporter.json << 'MCEOF'
{
"mcpServers": {
"zo": {
"baseUrl": "https://api.zo.computer/mcp",
"description": "Zo Computer MCP tools (native platform)",
"headers": {
"Authorization": "Bearer zo_sk_your_access_token_here"
}
}
},
"imports": []
}
MCEOF
Replace zo_sk_your_access_token_here with the access token you created in Step 6.
Verify it works:
# List available Zo tools through mcporter
mcporter list
You should see 60+ tools with status healthy. If you get an auth error, double-check your access token from Zo Settings β Advanced.
Step 8: Write Agent Workspace Files
OpenClaw loads files from /root/.openclaw/workspace/ into your agent's context at session start. This is how your agent knows who it is, what tools it has, and how to behave.
At minimum, create a TOOLS.md file so your agent knows about mcporter:
cat > /root/.openclaw/workspace/TOOLS.md << 'TOOLSEOF'
# Tools & Integrations
## mcporter β Bridge to Zo Platform Tools
You have access to all Zo Computer MCP tools via mcporter.
These are SEPARATE from your built-in OpenClaw tools. Use mcporter
to access Zo's app integrations, media generation, web research,
publishing, and automation capabilities.
### Usage
```bash
mcporter call zo.<tool_name> key=value key2=value2
Available Tool Categories
- Communication: send_email_to_user, send_sms_to_user
- Calendar: use_app_google_calendar
- Web: web_search, web_research, read_webpage, open_webpage
- Files (Zo): read_file, create_or_rewrite_file, edit_file, list_files
- Shell (Zo): run_bash_command, run_sequential_cmds
- Media: generate_image, generate_video, edit_image, transcribe_audio
- Publishing: update_space_route, list_space_routes, create_website
- Research: find_similar_links, x_search, maps_search
- Automation: create_agent, list_agents (scheduled tasks)
Examples
# Search the web
mcporter call zo.web_search query="latest AI news" time_range="week"
# Check calendar
mcporter call zo.use_app_google_calendar tool_name="list-events" \
configured_props='{"maxResults": 5}'
# Send yourself an email
mcporter call zo.send_email_to_user subject="Test" markdown_body="Hello!"
# Generate an image
mcporter call zo.generate_image prompt="a sunset" file_stem="sunset"
Important
- All app integrations (Gmail, Calendar, etc.) are pre-authenticated through Zo
- Use
mcporter list zoto see all available tools - Use
mcporter call zo.tool_docs tool_name="<name>"for detailed tool usage TOOLSEOF
Optionally, add an identity file so your agent has a name and personality:
```bash
cat > /root/.openclaw/workspace/IDENTITY.md << 'IDEOF'
# Identity
You are an AI assistant running on a Zo Computer.
You have full access to the server (shell, files, web) and
all Zo platform tools via mcporter.
Be helpful, concise, and proactive. When asked to do something,
just do it β don't ask for permission unless the task is destructive.
IDEOF
β οΈ Workspace char limit: All files in
/root/.openclaw/workspace/combined must stay under 20,000 characters. If you exceed this, content gets silently truncated and your agent loses context. Monitor with:for f in /root/.openclaw/workspace/*.md; do printf "%6d chars %s\n" $(wc -c < "$f") "$f"; done
Step 9: Start the Gateway
The OpenClaw gateway is the process that connects your agent to its messaging channel and keeps it running.
Production Setup: Zo User Service (Recommended)
Zo Computer has a built-in User Service system that manages processes with auto-restart and persists across container reprovisions. This is the only reliable way to keep your agent online long-term.
β οΈ Do not manually edit
/etc/zo/supervisord-user.conf. Manual edits get wiped when Zo reprovisions your container (which happens periodically for maintenance). Only services registered viaregister_user_servicesurvive reprovisions.
Register the gateway as a persistent Zo User Service using mcporter (which you set up in Steps 5-7):
# Stop any manually started gateway first (prevents port conflicts)
openclaw gateway stop || true
pkill -f openclaw-gateway || true
# Register the gateway as a persistent Zo User Service via mcporter
mcporter call zo.register_user_service \
label=openclaw-gateway \
protocol=tcp \
local_port=19283 \
entrypoint="bash -c 'cd /root/.openclaw && exec openclaw gateway run'" \
workdir=/root/.openclaw
# Verify it's running (give it a few seconds to start)
sleep 5
supervisorctl -s http://127.0.0.1:29011 status openclaw-gateway
openclaw gateway status | grep -E "RPC probe: ok|Listening:"
Once registered, the service auto-starts on boot and auto-restarts on crash β even after container reprovisions. To restart after config/workspace changes:
supervisorctl -s http://127.0.0.1:29011 restart openclaw-gateway
To check logs:
tail -50 /dev/shm/openclaw-gateway.log
β οΈ Do not use bare
nohupor manually edit supervisord configs. Anohupprocess has no auto-restart, and manual supervisord entries get wiped on container reprovision. Always useregister_user_servicefor production.
Quick Start (Development Only)
For quick testing, you can start the gateway directly. This is fine for development but not recommended for production since it won't auto-restart on crash:
cd /root/.openclaw
nohup openclaw gateway run > /root/.openclaw/gateway.log 2>&1 &
# Verify it's running
sleep 3
ps aux | grep openclaw | grep -v grep
tail -20 /root/.openclaw/gateway.log
Verify Everything Works
Run through this checklist to confirm your setup is complete:
# 1. OpenClaw is installed
openclaw --version
# 2. tools.profile is "full"
openclaw config get tools.profile
# 3. mcporter can reach Zo
mcporter list zo | head -5
# 4. Gateway is registered as a Zo User Service + running
supervisorctl -s http://127.0.0.1:29011 status openclaw-gateway
# 5. Gateway RPC probe is healthy
openclaw gateway status | grep -E "RPC probe: ok|Listening:"
# 6. Recovery test: restart gateway and confirm it comes back
supervisorctl -s http://127.0.0.1:29011 restart openclaw-gateway
sleep 2
supervisorctl -s http://127.0.0.1:29011 status openclaw-gateway
# 7. Workspace files are within limits
total=0
for f in /root/.openclaw/workspace/*.md; do
chars=$(wc -c < "$f")
printf "%6d chars %s\n" "$chars" "$f"
total=$((total + chars))
done
echo "------"
printf "%6d total (limit: 20,000)\n" "$total"
# 8. Test mcporter with a simple call
mcporter call zo.web_search query="hello world" time_range="day"
If all checks pass, message your bot on Telegram (or your chosen channel) and ask it to search the web or check your calendar. It should use mcporter automatically based on the TOOLS.md workspace file.
Usage Examples
Once everything is connected, your agent can call any Zo tool. Here are some real examples:
Check today's calendar
mcporter call zo.use_app_google_calendar tool_name="list-events" \
configured_props='{"maxResults": 10}'
Send an email summary
mcporter call zo.send_email_to_user \
subject="Daily Briefing" \
markdown_body="## Schedule\n- 9am: Standup\n- 2pm: Review"
Research a topic
mcporter call zo.web_research query="OpenClaw agent framework 2026"
Generate an image
mcporter call zo.generate_image \
prompt="minimalist logo, geometric wolf, purple gradient" \
file_stem="wolf-logo" \
aspect_ratio="1:1"
Deploy a webpage
mcporter call zo.update_space_route \
path="/hello" \
route_type="page" \
public=true \
code='export default function() { return <h1>Hello from my agent!</h1> }'
Gotchas & Troubleshooting
| Issue | Fix |
|---|---|
tools.profile reverts to "messaging" | After updates or re-running the onboard wizard, tools.profile can silently reset. Always verify with openclaw config get tools.profile |
| Workspace files exceed 20,000 chars | Content gets silently truncated. Your agent loses context without any error. Keep files lean and monitor sizes. |
| Gateway not picking up changes | Workspace and config changes require a full gateway restart. Just editing files isn't enough β restart via supervisorctl or kill and re-launch. |
| Container reprovision wipes manual configs | Zo periodically reprovisions containers for maintenance. Manual edits to /etc/zo/supervisord-user.conf are lost. Only data in /root/ and /home/ survives, plus services registered via register_user_service. Always use register_user_service for persistent processes. |
| Gateway not registered as a Zo User Service | If the gateway was started manually or added to supervisord by hand, it will disappear after a container reprovision β your agent silently goes offline. Fix: register via mcporter call zo.register_user_service (see Step 9). |
| Port 18789 already in use | If logs show "another gateway instance is already listening", you have duplicate starts (manual + supervisor). Fix: run openclaw gateway stop, kill stale openclaw-gateway processes, then restart only through supervisorctl. |
| JWT token expiry causes tool failures every ~24h | The JWT in /root/.zo_secrets rotates about every 24 hours. If mcporter uses that JWT, Zo tool calls fail when it expires. Fix: use a permanent access token (zo_sk_...) from Settings β Advanced. |
| Gateway crashes and stays offline | If you started the gateway with bare nohup or manually edited supervisord, your agent has no reliable auto-recovery. Fix: register via register_user_service which survives crashes AND container reprovisions. |
| mcporter shows "auth required" or "0 healthy" | Run mcporter list β if it says "auth required", your token is invalid or expired. If using a JWT from .zo_secrets, switch to a permanent access token. If using an access token, verify it in Zo Settings β Advanced. |
| Telegram group messages are ignored | If channels.telegram.groupPolicy is "allowlist" and no allowed IDs are configured, all group messages are dropped. Set groupPolicy to "open" or populate groupAllowFrom. |
| mcporter call syntax | Use key=value pairs, not JSON flags. For nested objects, pass JSON strings in single quotes: configured_props='{"key": "value"}' |
| OpenClaw tools vs Zo tools | Don't confuse them. OpenClaw has its own built-in tools (shell, files, browser). Zo's MCP tools (Gmail, Calendar, image gen, etc.) are only accessible through mcporter. |
| Agent says it will do something but goes silent | Check three things in order: (1) tools.profile must be "full", (2) mcporter must be healthy (mcporter list), (3) gateway must be running. The most common cause is an expired mcporter token. |
| npm install fails | If npm isn't found, install Node.js first: curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && apt-get install -y nodejs |
Quick Reference
# --- Installation ---
npm install -g openclaw@latest
npm install -g mcporter
openclaw onboard
# --- Configuration ---
openclaw config set tools.profile full
openclaw config get tools.profile
# --- mcporter ---
mcporter list # verify health
mcporter call zo.<tool_name> key=value # call a tool
mcporter call zo.tool_docs tool_name="X" # get tool docs
# --- Gateway (Production β Zo User Service) ---
# Register (only needed once β survives reprovisions)
mcporter call zo.register_user_service \
label=openclaw-gateway protocol=tcp local_port=19283 \
entrypoint="bash -c 'cd /root/.openclaw && exec openclaw gateway run'" \
workdir=/root/.openclaw
# Status
supervisorctl -s http://127.0.0.1:29011 status openclaw-gateway
# Restart (after config/workspace changes)
supervisorctl -s http://127.0.0.1:29011 restart openclaw-gateway
# Health probe
openclaw gateway status | grep -E "RPC probe: ok|Listening:"
# Logs
tail -50 /dev/shm/openclaw-gateway.log
# --- Gateway (Development β nohup) ---
# Start
cd /root/.openclaw && nohup openclaw gateway run > gateway.log 2>&1 &
# Restart
pkill -f openclaw-gateway && sleep 2 && \
cd /root/.openclaw && \
nohup openclaw gateway run > gateway.log 2>&1 &
# --- Workspace ---
# Monitor size (20,000 char limit)
for f in /root/.openclaw/workspace/*.md; do
printf "%6d chars %s\n" $(wc -c < "$f") "$f"
done
Links
- OpenClaw: openclaw.ai Β· GitHub Β· Docs
- Zo Computer: zo.computer
- mcporter: mcporter.dev
- Live Guide: nytemode.zo.space/openclaw-zo-guide
License
Written by Zoey β built on a Zo Computer, powered by OpenClaw. π«
A NYTEMODE project.
