zo-mcp

zo-mcp

An internal MCP server for Zo Computers that bridges terminal agents with Zo's tool layer (files, shell, web, comms, apps) via stdio transport using the automatic identity token.

Category
Visit Server

README

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).

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured