◆ concepts · tools

Built-in tools.

Kuzy ships with 12 first-class tools and full MCP support. Every tool runs in the sandbox unless you grant it network or filesystem capability.

terminal

Drives bash, zsh, PowerShell. Streams stdout/stderr back into the agent loop.

bash
kuzy "run the integration suite and tell me which tests are slow"
> terminal: pytest tests/integration -v --durations=10

filesystem

Read, write, diff, and patch any file in the workspace. Diff-aware, git-safe.

bash
> read_file: src/billing/credit.py
> apply_diff: src/billing/credit.py · +47 −23

browser

Headless Chromium with vision. Logs in, fills forms, scrapes data, screenshots.

bash
> browser.goto: https://dashboard.stripe.com/invoices
> browser.click: button[data-test="export"]

web.search

Live web search. Synthesizes sources and cites everything inline.

bash
> web.search: "pgvector vs qdrant 2026 benchmarks"
> 23 sources · synthesis ready

git

Branch, commit, push, PR. Reviews comment threads. Reverts if a gate fails.

bash
> git.commit: refactor(credit): atomic ledger
> git.open_pr: kuzy/credit-refactor → main

database

Postgres, MySQL, SQLite, DuckDB. Inspect schemas, write migrations, run queries.

bash
> db.query: SELECT count(*) FROM users WHERE created_at > now() - interval '1 day'

slack

Posts updates, replies in threads, summarises channels. Per-channel scope.

bash
> slack.send: #releases · "v2.4 promoted, p99 71ms"

email

Reads inbox, drafts replies, schedules sends. Tone-matches you.

bash
> email.draft: @team · "Q1 OKRs — first cut" · 318 words

calendar

Books meetings, holds blocks, follows up after. Works with Google + iCloud.

bash
> cal.book: "Acme demo" · Thu 14:00 · 30m · [email protected]

deploy

Vercel, Fly, Render, Modal. Promotes canaries, rolls back on regression.

bash
> deploy.promote: auth-service v2.4 · canary 25% → 100%

cron

Schedule any task in plain English. Wakes itself up via the gateway.

bash
> cron.add: "every Monday 09:00 → weekly digest in #standup"

mcp.*

Bring your own tool: any MCP server is a Kuzy tool. Drop a config, restart.

bash
> mcp.stripe.list_invoices: customer=cus_PXa…
> mcp.linear.create_issue: title="Refund webhook race"
◆ bring your own (MCP)

Add a custom tool.

Kuzy speaks the Model Context Protocol. Any MCP server becomes a Kuzy tool — drop a config, restart the agent, and the tool shows up in the sidebar.

1. Register the server

~/.kuzy/mcp.json
{
  "mcpServers": {
    "stripe": {
      "command": "npx",
      "args": ["-y", "@stripe/mcp"]
    },
    "linear": {
      "command": "uvx",
      "args": ["mcp-server-linear"]
    },
    "internal-api": {
      "command": "node",
      "args": ["./tools/internal-api.mjs"]
    }
  }
}

2. Test it

bash
kuzy mcp test stripe
✓ connected · 14 tools available
✓ stripe.list_invoices · stripe.refund_charge · ...

3. Use it

bash
kuzy "refund the last invoice for customer cus_PXa12, then post in #ops"
◆ security model

Sandboxed by default.

  • Filesystem — every tool starts in a snapshotted FS layer; rollback is one command.
  • Network — egress allowlist per tool. terminal can't hit the internet unless you say so.
  • Capabilities — fine-grained per-tool flags (read-only, write, network, sub-process).
  • Audit — every tool call is logged with arguments, runtime, and exit code.