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 resolved 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 decision. 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; Cursor and Codex use the local stdio server for editor-side installs.
- Cursor
- Claude Code
- Codex CLI
How it works
Resolve a comment
In the Review canvas, capture a screenshot, comment on UI elements, and resolve a comment into a decision. It persists with the screenshot, spatial context, and discussion.
Your agent queries Lace
It calls
search_decisions to find relevant decisions, picks one, then calls apply_decision to get screenshots, element metadata, and step-by-step instructions.Technical reference
MCP server
The Lace MCP server is registered under the namelace and exposes four tools — three for discovery and one for action.
Discovery tools
search_decisions
Search and filter resolved decisions with cursor pagination. With no parameters, returns the top 20 decisions ranked by recency. Use the filter parameters to narrow results by canvas, project, app, element, time range, and more.
Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
query | string | — | Text search across headline, body, and element text |
status | resolved | suggested | all | resolved | Filter by annotation status |
limit | number (1–100) | 20 | Results per page |
cursor | string | — | Pagination cursor from a previous response |
sort | relevance | resolved_at_desc | created_at_desc | resolved_at_desc | Sort order |
canvasId | string (UUID) | — | Exact canvas ID |
canvasTitle | string | — | Canvas title substring match |
canvasStatus | active | archived | — | Canvas status filter |
pageId | string (UUID) | — | Exact page ID |
pageName | string | — | Page name substring match |
projectId | string (UUID) | — | Exact project ID |
projectName | string | — | Project name substring match |
threadId | string (UUID) | — | Filter by thread ID |
appName | string | — | App name substring match |
windowTitle | string | — | Window title substring match |
url | string | — | URL substring match |
anchorState | anchored | reanchored | detached | — | Anchor state filter |
elementEid | string | — | Exact element accessibility ID |
elementRole | string | — | Exact element ARIA role |
elementInteractivity | boolean | — | Filter to interactive elements only |
minEndorsements | number | — | Minimum endorsement count |
hasReplies | boolean | — | Filter to decisions with replies |
createdBy | string (UUID) | — | Creator user ID |
resolvedFrom | string (ISO date) | — | Lower bound for resolved date |
resolvedTo | string (ISO date) | — | Upper bound for resolved date |
createdFrom | string (ISO date) | — | Lower bound for created date |
createdTo | string (ISO date) | — | Upper bound for created date |
nextCursor for the next page.
list_canvases
List review canvases in the current org. Returns title, project, page names, and decision counts per page. Use canvas titles and IDs to scope search_decisions queries.
Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
status | active | archived | active | Canvas status filter |
projectId | string (UUID) | — | Filter by project ID |
limit | number (1–100) | 50 | Results per page |
cursor | string | — | Pagination cursor |
id, title, status, project info, pages (with per-page decision counts), and timestamps.
list_projects
List projects in the current org. Returns name, chat count, and canvas count.
Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | number (1–100) | 50 | Results per page |
cursor | string | — | Pagination cursor |
id, name, threadCount, canvasCount, and createdAt.
Action tools
apply_decision
Act on a resolved decision. Returns a multimodal response with page screenshots, element metadata, and step-by-step instructions. Control what’s returned with include.
Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
id | string | — | Decision ID from search_decisions (required) |
include | instructions | crop | discussion | all | instructions | What to return (see below) |
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 decision; requires the canvas owner to enable chat sharing, otherwise returns emptyall— instructions, crop, and discussion combined
Config file locations
| Tool | Config file |
|---|---|
| Claude Code | ~/.claude.json |
| Cursor | ~/.cursor/mcp.json |
| Codex CLI | ~/.codex/config.toml |
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 decision.
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.)No decisions returned
No decisions returned
You need to resolve at least one comment first. Open Lace, switch to Review mode, comment on a UI element, and resolve it into a decision.
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.
Screenshots are missing from decision details
Screenshots are missing from decision details
For the local install, screenshots are stored alongside the Lace app data. If they were deleted or the app was reinstalled, the decision will still return card and targeting data but without images.