Skip to main content
Tempo’s tools are available outside the Tempo app in two forms. They expose the same tools with the same explicit scoping — pick by where your AI runs, and never set up both in the same client.

Which one do I need?

Rule of thumb: if the client can run a command, use the npm package. If all you can give it is a URL, use the hosted server.
@tempo-ai/mcp brings Tempo’s full tool surface to AI agents: issues, docs, canvas comments, custom agents, run scripts, Slack (as your org’s Tempo bot), Linear, and — inside a Tempo-enabled repo — the canvas tools, including screenshots and share links with real previews rendered from your production components. It works two ways, always with the same tools and the same explicit scoping:
  • As an MCP server — for hosts that attach stdio MCP servers (Claude Code, Codex CLI, Cursor, Claude Code cloud sessions).
  • As a CLItempo-mcp tools / tempo-mcp call — for environments with a terminal but no MCP support (Codex cloud, Grok Bot, CI jobs).
You don’t need the Tempo app installed on the machine. You just need a Tempo account and Node.js 20+.

Install on your machine

1. Sign in once

This opens your browser to sign in to Tempo. Credentials are stored locally per machine. (For machines without a browser, see Cloud and headless environments.)

2. Add the server to your client

Run it inside a project folder to scope the server to that project, or add --scope user to enable it everywhere. To share it with your whole team (and with Claude Code cloud sessions), commit a .mcp.json at the repo root instead:

3. That’s it — canvas included

Canvas tools appear automatically when the agent runs inside a repo that has Tempo canvases (a tempo/tempo.config.json). Screenshots and share links render headlessly with Chromium, which downloads itself automatically on the first capture (one-time, ~2 min; cached per machine afterwards). To make that first capture instant, you can pre-install it:
Share links additionally require the canvas’s branch to be committed and pushed. Locked-down environments can disable the automatic download with TEMPO_MCP_NO_AUTO_INSTALL=1 — captures then fail with the manual install command instead. Ask your agent to “list my Tempo issues” — or “share my canvas” — to confirm it works.

Cloud and headless environments

Cloud agent sandboxes have no browser, so login can’t run there. Instead, mint a personal access token on your own machine:
The token (tempo_...) prints exactly once. Set it in the cloud environment as TEMPO_AUTH_TOKEN — the CLI signs in with it automatically, no browser involved. Verify from the environment with:
Everything the token’s agent does acts as you; revoke it anytime with npx -y @tempo-ai/mcp token revoke <prefix> (and list with token list).
Cloud sessions (from claude.ai/code or the desktop app) clone your repo into Anthropic’s sandbox and launch the repo’s .mcp.json servers inside it — so with the .mcp.json above committed, the full tool surface (canvas included) works. Configure the cloud environment once:
  1. Environment variable: TEMPO_AUTH_TOKEN=tempo_...
  2. Network access: add *.convex.cloud and *.convex.site to the allowlist (Custom access), plus tempo.new for share links.
Optional speed-up: npx playwright install chromium in the setup script (cached across sessions) so the first canvas capture skips the automatic Chromium download.

Using the CLI instead of MCP

Every tool the MCP server exposes is also callable directly — same pipeline, same scoping, no per-tool differences:
call prints the tool result to stdout and exits non-zero on tool errors. --json - reads the argument object from stdin. Both commands accept --toolsets and --readonly.

Tell the agent the CLI exists

An MCP host advertises Tempo’s tools to the model automatically. A CLI doesn’t — like gh or aws, the agent only uses it when its instructions say to. Add this to your repo’s AGENTS.md (Codex reads it on every task) or your agent’s standing instructions:
Harmless to keep alongside an MCP setup — hosts with MCP attached will just use the tools directly.

Connect from ChatGPT, claude.ai, or mobile (hosted server)

Chat apps on the web can’t run npx — they connect to Tempo’s hosted MCP server instead. One URL for every client:
Paste it, complete the Tempo sign-in consent (OAuth), and every call runs as your Tempo account — reads and writes, with org membership re-verified server-side on every call. Canvas tools aren’t available here (there’s no filesystem behind a URL) — use the npm package in a coding agent for design work.
  1. Settings → Security and login → enable Developer mode. (Without it, custom plugins only run search-style deep-research tools — Developer mode unlocks full tool calling. Business/Enterprise workspaces: an admin must first allow it under Workspace Settings → Permissions & Roles → Connected Data.)
  2. Settings → Plugins+ → name it “Tempo”, paste https://mcp.tempo.new/mcp, authentication OAuth.
  3. Approve the Tempo sign-in consent.
  4. In a chat, enable the Tempo plugin from the plus menu. Write actions ask for confirmation before executing.
Connection options (query params on the URL): An authorized connector acts as you — only connect clients you trust, or pin them read-only with ?readonly=1.

How scoping works

This is identical on both the npm package and the hosted server. Your sign-in (browser, token, or OAuth consent) provides identity; every tool call carries explicit scope. The AI discovers your organization and project ids with the built-in tempo_list_orgs and tempo_list_projects tools and passes them on each call — you never configure an org on the connection, and membership is re-verified server-side on every call.

Options

Add flags after the package name, e.g. npx -y @tempo-ai/mcp --readonly.

Good to know

  • Inside the Tempo app you don’t need this — the app provides the same tools natively (and skips a user-installed copy to avoid duplicates).
  • Writes act as you — the signed-in Tempo user — with the same org permissions you have in the app. That includes anything a TEMPO_AUTH_TOKEN holder does, so treat tokens like passwords and revoke ones you stop using.
  • npx -y @tempo-ai/mcp logout clears the stored credentials; npx -y @tempo-ai/mcp whoami shows who’s signed in.