Connect in Claude
The fastest way to use Lace is the hosted connector athttps://mcp.inlace.co. It runs in the cloud and reads your comments and decisions straight from your Lace account, so you don’t need the desktop app open.
- Claude.ai
- Claude Code
- Open Settings → Connectors → Add custom connector.
- Enter the URL
https://mcp.inlace.coand click Add. - Click Connect and sign in with your Lace account.
The hosted connector needs a Lace account and at least one resolved comment. Sign-in uses OAuth 2.0, so the first connection opens your browser.
Install from the CLI
Use the Lace CLI to register the right MCP transport for each editor. Claude Code uses the hosted OAuth connector so it can manage authentication in/mcp; Claude Desktop, Cursor, and Codex use the local stdio server for editor-side installs.
- Cursor
- Claude Code
- Claude Desktop
- Codex CLI
How it works
1
Write a comment
In Reviews, write a comment and attach screen context — a pin on the exact spot you’re looking at. Resolve it into a decision. The screenshot, spatial context, and discussion persist with it.
2
Your agent queries Lace
It calls
search_comments to find relevant comments, picks one, then calls apply_comment for screenshots, element metadata, and step-by-step context. For what you did on screen earlier, it calls search_sessions then get_session_flow.3
Your agent executes
It carries out the work and you review the result.
Technical reference
MCP server
The Lace MCP server is registered under the namelace. It exposes comment/decision tools, session-flow tools, and publishing.
Session tools
Session data resolves in tiers — prefer the cheapest tier that answers:search_sessions (find) → get_session_flow (skeleton) → include: "elements" for specific screens → include: "screenshots" last.
Sessions you create are available to you automatically. Another user’s sessions appear only when that user has turned on sharing for the session.
search_sessions
Find recorded screen sessions — episodes of what the user did on their machine. Returns up to 20 summaries: session id, time span, apps, screen/step counts. Never returns steps, elements, or images.
Parameters:
All parameters are optional.
Returns: session summaries. Next step:
get_session_flow with a returned sessionId.
get_session_flow
Replay one recorded session as an ordered flow.
Parameters:
include options:
- Omitted — ordered skeleton: actions, targets, dwell, and screen identity (app, window, url,
screenKey). No elements, no images. Capped at ~200 steps. elements—CapturedElementtrees (role, label, bbox) for the listedscreenKeysonly. Use this to reason about what was on screen.screenshots— at most one inline image plus download links for the listedscreenKeys. Use only for visual/layout questions the element tree cannot answer. Never request screenshots to identify or locate elements.
Discovery tools
search_comments
Search and filter comments with cursor pagination. With no parameters, returns the top 20 resolved comments ranked by recency. Use the filter parameters to narrow results by review, project, app, element, time range, and more.
Parameters:
All parameters are optional.
Returns: a paginated list of comment summaries including headline, element info, review/project context, timestamps, and a
nextCursor for the next page.
list_reviews
List reviews in the current org. Returns title, project, page names, and comment counts per page. Use review titles and IDs to scope search_comments queries.
Parameters:
All parameters are optional.
Returns: a list of reviews, each with
id, title, status, project info, pages (with per-page comment counts), and timestamps.
list_projects
List projects in the current org. Returns name, thread count, and review count.
Parameters:
All parameters are optional.
Returns: a list of projects, each with
id, name, threadCount, reviewCount, and createdAt.
search_discussion
Search chat discussion threads linked to a review. Returns messages from the latest thread by default. Use query to search within a thread and threadId to target a specific linked thread. Returns messages only when the review owner has turned on Include linked chats in Share Settings and the linked thread has messages.
Parameters:
All parameters except
reviewId are optional.
Returns: matching messages from the review’s linked discussion thread.
Action tools
apply_comment
Act on a comment. Returns a multimodal response with page screenshots, element metadata, and step-by-step instructions. Control what’s returned with include.
Parameters:
include options:
instructions— full page screenshot + element metadata + step-by-step implementation instructionscrop— the full page screenshot plus a cropped element zoom for spatial grounding (falls back to full page only when no element region exists)discussion— the chat discussion behind the comment; requires Include linked chats in the review’s Share Settings, otherwise returns emptyall— instructions, crop, and discussion combined
Publishing tools
publish_review
Your agent presents its work as a live web page anyone can open. Reviewers pin comments directly on the page, and each comment they resolve becomes a decision your agent can query and act on. Use it for a prototype your team needs to see or a walkthrough of what the agent built. Supports Vite+React projects, pre-built static sites, and any web project with an index.html.
Returns a reviewId (save it — use with search_comments to check for reviewer feedback) and shareUrl (shareable link for reviewers).
Parameters:
Each entry in
files has:
Each entry in
assets has:
Text-only flow: pass
title and files, including a package.json with a dev script. Returns reviewId and shareUrl.
Two-phase asset upload: pass title, files, and assets. The tool returns publishReviewId, CDN URLs, and presigned upload URLs. Upload each asset, rewrite source file references to the CDN URLs, then call publish_review again with publishReviewId and the rewritten files. Do not pass assets and publishReviewId together. If the finalize step returns missing_assets, re-upload the missing files using the fresh URLs and retry.
Archive flow: pass title and sourceArchive. Cannot be combined with files, assets, or publishReviewId. With the local lace-mcp, set sourceArchive.localPath and the server reads and uploads the file for you. On the hosted MCP (which cannot read your disk), set sourceArchive.sizeBytes and sourceArchive.contentSha256 (lowercase hex); the tool returns a publishReviewId and a presigned archive_upload.upload_url. Upload the archive there with the returned headers, then call publish_review again with that publishReviewId to finalize.
Config file locations
Troubleshooting
Hosted connector won't connect
Hosted connector won't connect
Make sure you finished the browser sign-in step. The connector needs a Lace account, and you’ll only see results once you’ve resolved at least one comment.
Local install can't connect to Lace
Local install can't connect to Lace
The Lace desktop app must be open and signed in for the local
npx install. Open the app and retry. (The hosted connector does not need the app open.)I connected the wrong Lace account
I connected the wrong Lace account
In Claude Code, clear Lace authentication from
/mcp, then reconnect; Lace will ask you to choose an account again.
In clients that do not expose auth reset controls, remove and re-add the Lace MCP connector so the client starts OAuth again.
For the local CLI, run npx lace-mcp login --switch.No comments returned
No comments returned
You need at least one resolved comment. Open Lace, switch to Review mode, pin a comment, and resolve it. Or start from the agent side: ask it to publish something with
publish_review, open the share link, comment on the page, and resolve it.No sessions returned
No sessions returned
Start a capture session in the Lace desktop app (header control or ⌘S), work through a few screens, then stop or wait for idle close. Your own sessions appear automatically; a teammate’s sessions appear only if they enabled sharing on that session.
Agent doesn't recognize the MCP server after install
Agent doesn't recognize the MCP server after install
Restart your coding tool fully (quit and reopen), then confirm the Lace server appears in your MCP settings.
Something isn't working — how do I diagnose?
Something isn't working — how do I diagnose?
Run
npx lace-mcp health from your terminal. It checks connectivity to the Lace backend, validates your credentials, and reports any issues.Screenshots are missing from comment details
Screenshots are missing from comment details
For the local install, screenshots are stored alongside the Lace app data. If they were deleted or the app was reinstalled, the comment will still return card and targeting data but without images.
Privacy and terms
The Lace MCP server reads the comments and decisions your team captures, the recorded sessions you share (or own), and the context behind them. Writes happen only throughpublish_review, which turns your agent’s work into a shareable review page. It never edits or deletes existing data. See our Privacy Policy and Terms. Questions or support: hello@inlace.co.