Your agent reads the comments and ships the fix.
Connect critlab to Claude Code, Codex or Cursor. Your agent publishes prototypes, reads every comment with what the reviewer saw, and resolves it once the fix is live.
Connect your agentWhat your agent does with critlab
Moves to the next session every few seconds. Choose a tab to stop.
A coding agent session. The agent writes critlab.canvas.json, publishes the build folder with critlab_publish and returns the share link.
> publish the build for review and send me the link● Write critlab.canvas.json └ 4 screens: Welcome, Workspace, Invite, Done● critlab_publish dir: "./dist", folder: "Harbor/Onboarding" └ Published "Harbor onboarding" (harbor-onboarding), version 1 └ Canvas: critlab.canvas.json, 4 screens● Published. Anyone with the link can comment, no account needed. https://critlab.app/p/harbor-onboardingOne command adds critlab to your agent.
Works with any client that runs a local MCP server.
- 1
Add critlab to Claude Code
Run this in your terminal. Add --scope user to have it in every project.
claude mcp add critlab -- npx -y @critlab/cli mcp - 2
Sign in once
Create an API key in Settings → API keys & agents, then run this and paste it when asked. Start a new session so your agent loads the tools.
npx -y @critlab/cli loginPrefer an environment variable? Set CRITLAB_TOKEN and CRITLAB_API for the server instead.
- 1
Add critlab to Codex
Add this to ~/.codex/config.toml.
[mcp_servers.critlab] command = "npx" args = ["-y", "@critlab/cli", "mcp"] - 2
Sign in once
Create an API key in Settings → API keys & agents, then run this and paste it when asked. Start a new Codex session so it loads the tools.
npx -y @critlab/cli loginPrefer an environment variable? Set CRITLAB_TOKEN and CRITLAB_API for the server instead.
- 1
Add critlab to Cursor
Add this to ~/.cursor/mcp.json for every project, or to .cursor/mcp.json in one.
{ "mcpServers": { "critlab": { "command": "npx", "args": ["-y", "@critlab/cli", "mcp"] } } } - 2
Sign in once
Create an API key in Settings → API keys & agents, then run this and paste it when asked. Restart Cursor so it loads the tools.
npx -y @critlab/cli loginPrefer an environment variable? Set CRITLAB_TOKEN and CRITLAB_API for the server instead.
- 1
Add critlab to your MCP client
Any client that runs a local MCP server takes this command. Claude Desktop and Windsurf read it as the JSON block in the Cursor tab.
npx -y @critlab/cli mcpNo MCP client? Every tool is also a crit command: npm i -g @critlab/cli.
- 2
Sign in once
Create an API key in Settings → API keys & agents, then run this and paste it when asked. Restart your client so it loads the tools.
npx -y @critlab/cli loginPrefer an environment variable? Set CRITLAB_TOKEN and CRITLAB_API for the server instead.
Every step of the loop is a tool your agent can call.
- critlab_publish
- Zips your build and publishes it as a prototype or as a new version, then returns the share link.
- critlab_list_open_threads
- Lists the open comments on a prototype, with the element, the page and the device each one was left on.
- critlab_get_thread_bundle
- Pulls one thread in full: every comment, the element's selector and screenshots of what the reviewer saw.
- critlab_reply_to_thread
- Answers on the thread's own pin, as an agent, so reviewers see what changed.
- critlab_resolve_thread
- Marks a thread resolved once the fix is published.
- critlab_get_canvas
- Reads the prototype's screens and the flow between them, with snapshots when your agent should see them.
- critlab_get_folder_context
- Reads the folder's PRD, tickets and design links, and the text of its documents, before it changes anything.
- critlab_share_prototype
- Reads the share link, who can open it and whether visitors may comment.
These are 8 of the 23 tools in core, the group your agent loads by default. critlab has 118 tools in 4 groups. Name more with --tools, for example core,workspace, when you want your agent to manage folders, people or settings. Choose your tools.