Skip to main content
Glama

zo-mcp

Internal MCP for terminal agents on your Zo Computer.

Claude Code, Cursor, Codex, and other stdio MCP clients running inside your Zo get the same tools Zo chat has — files, shell, web, calendar, SMS, email, images, agents, the lot. No /zo/ask session. No access token from Settings. Just direct tool calls over the in-box identity token you already have.

This is the stdio counterpart to Zo's official HTTP MCP. Same tool names, same schemas, same backend. Different transport, and only works on your Zo.

Why this exists

Zo chat can text you, read your files, hit Gmail, run bash. Terminal agents on the same box couldn't — they're stuck in a TTY with no bridge to Zo's tool layer.

Official Zo MCP fixes that from outside the box (HTTP + zo_sk_ access token). zo-mcp fixes it from inside the box (stdio + ZO_CLIENT_IDENTITY_TOKEN).

Related MCP server: MCP Shell Server

Requirements

  • You must be on a Zo Computer (SSH session, Cursor on the box, Claude Code in the workspace, etc.)

  • ZO_CLIENT_IDENTITY_TOKEN must be set — it is automatically on every Zo

If that env var isn't there, zo-mcp exits. It does not work from your laptop, CI, or anywhere off-box.

Install on your Zo

Clone into your workspace (or anywhere on the box):

git clone https://github.com/vihaanshahh/zo-mcp.git
cd zo-mcp
npm install

Or one-shot via npx (still runs on the Zo — npx just fetches the package):

npx github:vihaanshahh/zo-mcp

MCP setup

Cursor / Claude Code (.mcp.json)

{
  "mcpServers": {
    "zo": {
      "type": "stdio",
      "command": "node",
      "args": ["/home/workspace/zo-mcp/dist/index.js"]
    }
  }
}

Adjust the path to wherever you cloned it. After npm install, dist/ is built automatically.

Claude Code CLI

claude mcp add zo -- node /home/workspace/zo-mcp/dist/index.js

Reload MCP. You should see ~80 tools — same catalog as GET /zo/tools.

Tools

The server mirrors Zo's live tool catalog:

GET  https://api.zo.computer/zo/tools
POST https://api.zo.computer/zo/tools/{name}/run

Categories include:

  • Filesread_file, write_file, edit_file, grep_search, …

  • Shellbash, …

  • Webweb_search, read_webpage, …

  • Commssend_sms_to_user, send_email_to_user

  • Apps — Google Calendar, Gmail, Linear, Spotify, …

  • Mediagenerate_image, transcribe_audio, …

  • Automationcreate_agent, list_agents, …

Tool list refreshes on each tools/list call. Per-tool docs: zo.computer/docs/tools.

CLI shortcut

Text yourself from a shell script without MCP:

zo-text "build finished on branch feature-x"

Wraps send_sms_to_user on the same internal route.

vs official Zo MCP

zo-mcp (this)

Official Zo MCP

Where it runs

On your Zo only

Anywhere with network

Transport

stdio

HTTP

Auth

ZO_CLIENT_IDENTITY_TOKEN (automatic)

zo_sk_ access token from Settings

Tool set

Full catalog via /zo/tools

Full catalog via /mcp

Use case

Terminal agents on the box

External clients, mcporter, OpenClaw bridge

Use both if you want. They hit the same tools.

Development

npm install
npm run build
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js 2>/dev/null | head -c 500

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vihaanshahh/zo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server