Arbo
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Site structure for client redesigns. Page tree with URL, keyword, status and redirect plan export.
| Author | com.getarbo |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2097 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Arbo": {
"url": "https://getarbo.com/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (12)
list_projectsList all projects accessible with this token
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_projectGet a project with its full sitemap tree
Parameters:
project_id(required) — string — The project ID
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
create_projectCreate a new project. Returns the project ID. Add nodes with create_node after.
Parameters:
name(required) — string — Project nameaccent— string — Accent color hex (e.g. #2563EB)client— string — Client name
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
create_nodeAdd a page to a project's sitemap. Use parent_id to create hierarchy. Supports rich data: zoning blocks (wireframe layout), entry points (traffic sources), CTAs, and tags.
Parameters:
project_id(required) — string — The project IDlabel(required) — string — Page name (e.g. 'Accueil', 'Contact')cta— array — Call-to-action button labels (e.g. ['Acheter', 'En savoir plus'])seo— object — SEO data of the page: URL, target keyword, volume, intent, migration statustags— array — Tags for categorization (e.g. ['SEO', 'conversion'])type— string — Page type: home, listing, detail, form, landing, quiz, search, hub, error, legalnotes— string — Additional notespriority— string — Page importanceparent_id— Parent node ID. Null = root page.rationale— string — Why this page exists (UX insight)description— string — Page description. Use real newlines for formatting. Supports long multiline content (SEO, copy, sections, CTAs, FAQ). No length limit.entry_points— array — Traffic entry points for this pagezoning_blocks— array — Wireframe zoning blocks (page layout structure)zoning_expanded— boolean — If true, zoning is shown expanded by default on the canvas
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
update_nodeUpdate a page's properties. For the description field: use real newlines (not literal \n). Supports rich multiline content: SEO notes, copy, sections, CTAs, FAQ, maillage, etc. No length limit. You can also set zoning_html (full wireframe HTML) and annotations (contextual notes per wireframe section).
Parameters:
project_id(required) — string — The project IDnode_id(required) — string — The node ID to updateseo— object — SEO data. Fields sent are merged into the existing SEO block.type— string — New page typelabel— string — New page namenotes— stringpriority— stringparent_id— Move to new parentrationale— stringannotations— array — Contextual annotations for wireframe sections. These appear as a sidebar alongside the wireframe preview.description— string — Page description. Use real newlines for formatting. Supports long multiline content (SEO, copy, sections, CTAs, FAQ). No length limit.zoning_html— string — Full wireframe HTML (lo-fi, inline CSS, standalone). Replaces the current wireframe for this page.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
generate_wireframeGenerate a lo-fi wireframe HTML for a page using AI. The wireframe is saved to the node's zoningHtml field. Requires zoning blocks to be defined on the node. Costs 1 AI credit (or uses BYOK key). Returns the generated HTML.
Parameters:
project_id(required) — string — The project IDnode_id(required) — string — The node ID to generate wireframe for
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
delete_nodeRemove a page from the sitemap (soft delete, can be restored via version history)
Parameters:
project_id(required) — string — The project IDnode_id(required) — string — The node ID to deletecascade— boolean — If true, also deletes all children. Default: false (children are reparented to grandparent)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
bulk_create_nodesCreate multiple pages at once from a tree structure. Ideal for generating a full sitemap with zoning, entry points, CTAs and tags.
Parameters:
project_id(required) — string — The project IDnodes(required) — array — Flat list of nodes with temp_id references for parent-child relationships (500 max)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_reviewReview of a project: per page, the status and version of each step (wireframe, mockup), and the latest Figma link per breakpoint
Parameters:
project_id(required) — string — The project ID
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_review_commentsComments left in the review (wireframe or mockup), pinned on a version and a breakpoint. Set open_only true to get only the unresolved ones.
Parameters:
project_id(required) — string — The project IDstep— string — Review step: wireframe or mockupnode_id— string — Only the comments of this pageopen_only— boolean — Only unresolved comments
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_change_listChange list from the open review comments: deduplicated and classed (text, visual, structure), out-of-scope requests with a reply and an amendment line, and contradictions with decided points. Costs AI credits (quality model, 3 credits), paid by the token's account or the project owner. Requires write access.
Parameters:
project_id(required) — string — The project IDstep— string — Review step: wireframe or mockupnode_id— string — Only this page
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
set_comment_resolvedMark a review comment resolved or open again. Same rights as the other write tools (write:nodes, owner or editor).
Parameters:
project_id(required) — string — The project IDcomment_id(required) — string — The comment ID (from list_review_comments)resolved(required) — boolean — true to resolve, false to reopen
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.