{"ok":true,"site":{"host":"cargopilot-webmcp.vercel.app","url":"https://cargopilot-webmcp.vercel.app/","type":"live","desc":"CargoPilot is a WebMCP workspace where people and agents shape portfolio sites together.","tools":[{"name":"request_cargo_context","kind":"act","impl":"imperative","description":"After the human asks to share their Cargo tab, create a single-use read-only capture request. The browser host then captures that tab and calls attach_cargo_context. No new login, edits, or publishing.","title":"Share the current Cargo tab","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"confirmed":{"type":"boolean","const":true,"description":"True only when the human has asked to share or inspect this Cargo tab."}},"required":["confirmed"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_cargo_attach_state","kind":"answer","impl":"imperative","description":"Read the current user-approved active-tab share request and attached-context freshness. Use before attaching a Cargo tab; this never reads cookies or changes Cargo.","title":"Check active Cargo tab sharing","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"attach_cargo_context","kind":"act","impl":"imperative","description":"After the human clicks Share active Cargo tab, relay a sanitized current screenshot and semantic outline from the browser-host Cargo tab. Never include cookies, tokens, storage, raw DOM, or selectors.","title":"Attach active Cargo tab context","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"requestId":{"type":"string","description":"Exact live consent request ID from get_cargo_attach_state."},"sourceUrl":{"type":"string","description":"Current cargo.site URL. Query and hash are discarded."},"title":{"type":"string","description":"Current Cargo tab title."},"screenKind":{"type":"string","enum":["dashboard","site_list","settings","editor","preview","unknown"],"description":"Recognized visible Cargo screen."},"visibleText":{"type":"string","description":"Sanitized visible text from the current viewport."},"headings":{"type":"array","items":{"type":"string"},"maxItems":40},"actions":{"type":"array","items":{"type":"string"},"maxItems":40},"links":{"type":"array","items":{"type":"string"},"maxItems":40},"screenshotDataUrl":{"type":"string","description":"Current PNG, JPEG, or WebP viewport screenshot as a data URL."},"capturedAt":{"type":"string","description":"ISO timestamp created with this snapshot."},"viewport":{"type":"object","properties":{"width":{"type":"number","minimum":200,"maximum":5000},"height":{"type":"number","minimum":200,"maximum":5000}},"required":["width","height"],"additionalProperties":false},"siteName":{"type":"string","description":"Optional visible Cargo site name."},"pageTitle":{"type":"string","description":"Optional visible Cargo page title."}},"required":["requestId","sourceUrl","title","screenKind","visibleText","headings","actions","links","screenshotDataUrl","capturedAt","viewport"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_cargopilot_status","kind":"answer","impl":"imperative","description":"Read whether this CargoPilot companion has a live human-approved selected-tab edit session. This does not change Cargo.","title":"Check verified Cargo editor connection","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"connect_cargo_editor","kind":"act","impl":"imperative","description":"Request pairing with the signed-in Cargo editor tab. The human must approve the exact CargoPilot origin in the Chrome extension before edits are enabled.","title":"Request verified Cargo editor pairing","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"replace_cargo_text","kind":"act","impl":"imperative","description":"Replace one uniquely matched exact text value in the approved signed-in Cargo editor and verify the visible result. This never publishes.","title":"Replace exact Cargo text","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"New text to place in Cargo."},"expectedText":{"type":"string","description":"Exact existing visible text that must still match."},"idempotencyKey":{"type":"string","description":"Stable unique key for this requested change."}},"required":["text","expectedText","idempotencyKey"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_cargo_backdrop","kind":"act","impl":"imperative","description":"Select one exact native Cargo Backdrop option in the approved editor and verify Cargo's selected value. This never publishes.","title":"Set Cargo backdrop","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"backdrop":{"type":"string","description":"Exact Cargo backdrop option, such as Parallax or Gradient."},"idempotencyKey":{"type":"string","description":"Stable unique key for this requested change."}},"required":["backdrop","idempotencyKey"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_cargo_workspace","kind":"answer","impl":"imperative","description":"Get Cargo connection, authentication, sites, selected site, draft state, and page tree. Use first or after the user changes Cargo manually.","title":"Inspect Cargo workspace","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"refresh":{"type":"boolean","description":"Reload Cargo before reading state."}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"select_cargo_site","kind":"act","impl":"imperative","description":"Select one available Cargo site as the boundary for later reads and changes. Use a site ID returned by get_cargo_workspace.","title":"Select Cargo site","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"siteId":{"type":"string","description":"Exact Cargo site ID from the workspace."}},"required":["siteId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_cargo_page","kind":"answer","impl":"imperative","description":"Inspect one page's content, settings, and referenced assets before changing it. Use a page ID from the selected site's page tree.","title":"Inspect Cargo page","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"pageId":{"type":"string","description":"Exact Cargo page ID from the page tree."}},"required":["pageId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"apply_cargo_page","kind":"act","impl":"imperative","description":"Create, replace text on, rename, or duplicate a page in the selected site's unpublished draft.","title":"Change Cargo page","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["create","duplicate","update","rename"],"description":"Verified page operation to perform."},"pageId":{"type":"string","description":"Required for update and rename."},"title":{"type":"string","description":"Required for create and rename."},"content":{"type":"object","description":"For update, pass replacement text.","properties":{"text":{"type":"string"}},"additionalProperties":false}},"required":["operation"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"duplicate_cargo_page","kind":"act","impl":"imperative","description":"Duplicate a current Cargo page into a new unpublished draft. Use when the human chooses an existing page as the visual starting point.","title":"Use Cargo page as template","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"pageId":{"type":"string","description":"Exact reference page ID."},"title":{"type":"string","description":"Optional final title for the new draft."}},"required":["pageId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_staged_assets","kind":"answer","impl":"imperative","description":"List images the human has placed in the shared asset tray. Use their IDs with upload_cargo_assets.","title":"List images ready for Cargo","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"upload_cargo_assets","kind":"act","impl":"imperative","description":"Upload selected images from the shared asset tray into the active Cargo site's asset library. This does not publish the site.","title":"Upload images to Cargo","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"assetIds":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":20,"description":"Exact staged asset IDs from list_staged_assets."}},"required":["assetIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"compose_cargo_page","kind":"act","impl":"imperative","description":"Create a blank page or duplicate a chosen Cargo reference, safely apply text, upload staged images, and open the new unpublished draft for shared review.","title":"Start Cargo portfolio draft","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"title":{"type":"string","description":"Final title for the new Cargo draft."},"referencePageId":{"type":"string","description":"Optional existing Cargo page to duplicate as the visual starting point."},"text":{"type":"string","description":"Optional initial copy. Complex reference layouts are preserved for targeted canvas editing."},"assetIds":{"type":"array","items":{"type":"string"},"maxItems":20,"description":"Optional staged image IDs to upload for this draft."}},"required":["title"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"preview_cargo","kind":"act","impl":"imperative","description":"Capture verified desktop and mobile screenshots of the selected Cargo draft. Use before review and before preparing publication.","title":"Preview Cargo draft","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"pageId":{"type":"string","description":"Optional page ID to preview."},"viewports":{"type":"array","items":{"type":"string","enum":["desktop","mobile"]},"maxItems":2,"description":"Viewports to capture."}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_cargo_editor_context","kind":"answer","impl":"imperative","description":"Return fresh read-only context for the user-attached Cargo editor tab, falling back to the optional local automation browser. This never navigates or edits.","title":"Refresh active Cargo editor context","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_cargo_screen_context","kind":"answer","impl":"imperative","description":"Return the user-attached active Cargo tab snapshot and semantic outline, falling back to the optional local automation browser. Includes short-lived freshness and never navigates or edits.","title":"Refresh current Cargo screen","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"interact_cargo_canvas","kind":"act","impl":"imperative","description":"Click, double-click, drag, scroll, type, or press a supported key in the same live Cargo content canvas the user is viewing. Use coordinates from the latest preview. Editor chrome and publication controls are blocked.","title":"Use shared Cargo canvas","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"pageId":{"type":"string","description":"Exact selected Cargo page ID."},"viewport":{"type":"string","enum":["desktop","mobile"],"description":"Viewport used by the visible canvas."},"snapshotId":{"type":"string","description":"Exact snapshot ID returned by the latest preview or canvas action."},"action":{"type":"string","enum":["click","double_click","drag","scroll","type","key"],"description":"Canvas interaction to perform."},"x":{"type":"number","minimum":0,"description":"Horizontal coordinate in the original preview."},"y":{"type":"number","minimum":0,"description":"Vertical coordinate in the original preview."},"toX":{"type":"number","minimum":0,"description":"Drag destination x coordinate."},"toY":{"type":"number","minimum":0,"description":"Drag destination y coordinate."},"deltaX":{"type":"number","minimum":-4000,"maximum":4000,"description":"Horizontal wheel distance for a scroll action."},"deltaY":{"type":"number","minimum":-4000,"maximum":4000,"description":"Vertical wheel distance for a scroll action."},"text":{"type":"string","description":"Text to insert at the active Cargo insertion point."},"key":{"type":"string","enum":["Enter","Backspace","Delete","Escape","Tab","ArrowUp","ArrowDown","ArrowLeft","ArrowRight","SelectAll"],"description":"Supported key to send."}},"required":["pageId","viewport","snapshotId","action"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_cargo_tasks","kind":"answer","impl":"imperative","description":"List durable tasks shared by the human and agent, optionally filtered by site, page, or status.","title":"List Cargo collaboration tasks","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"siteId":{"type":"string","description":"Optional Cargo site ID."},"pageId":{"type":"string","description":"Optional Cargo page ID."},"status":{"type":"string","enum":["queued","working","review","completed","failed"]}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_cargo_task","kind":"act","impl":"imperative","description":"Queue a durable task, optionally anchored to an exact point on the shared canvas and a recovery checkpoint.","title":"Create Cargo collaboration task","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"pageId":{"type":"string","description":"Exact Cargo page ID."},"viewport":{"type":"string","enum":["desktop","mobile"]},"instruction":{"type":"string","description":"Work to perform."},"checkpointId":{"type":"string","description":"Optional recovery checkpoint ID."},"target":{"type":"object","properties":{"pageId":{"type":"string","description":"Target page ID."},"viewport":{"type":"string","enum":["desktop","mobile"]},"snapshotId":{"type":"string","description":"Target snapshot ID."},"x":{"type":"number","minimum":0},"y":{"type":"number","minimum":0},"label":{"type":"string","description":"Short target label."}},"required":["pageId","viewport","snapshotId","x","y","label"],"additionalProperties":false}},"required":["pageId","viewport","instruction"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"update_cargo_task","kind":"act","impl":"imperative","description":"Move a shared task through working, review, completed, or failed and attach a concise result.","title":"Update Cargo collaboration task","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"taskId":{"type":"string","description":"Task ID."},"status":{"type":"string","enum":["working","review","completed","failed"]},"result":{"type":"string","description":"Optional result note."}},"required":["taskId","status"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_cargo_checkpoints","kind":"answer","impl":"imperative","description":"List local visual checkpoints for a site or page, including whether each can be safely restored.","title":"List Cargo checkpoints","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"siteId":{"type":"string","description":"Optional Cargo site ID."},"pageId":{"type":"string","description":"Optional Cargo page ID."}},"required":[],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"create_cargo_checkpoint","kind":"act","impl":"imperative","description":"Save current page content and a visual preview before a draft change. This does not publish.","title":"Create Cargo checkpoint","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"pageId":{"type":"string","description":"Exact Cargo page ID."},"viewport":{"type":"string","enum":["desktop","mobile"]},"label":{"type":"string","description":"Optional checkpoint label."}},"required":["pageId","viewport"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"restore_cargo_checkpoint","kind":"act","impl":"imperative","description":"Restore a safe text-only checkpoint to the unpublished Cargo draft and verify the result. This never publishes.","title":"Restore Cargo checkpoint","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"checkpointId":{"type":"string","description":"Exact checkpoint ID."}},"required":["checkpointId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"prepare_cargo_publish","kind":"act","impl":"imperative","description":"Capture the exact site, draft version, pending changes, and previews for review. This does not publish. Returns a short-lived confirmation ID.","title":"Prepare Cargo publication","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"siteId":{"type":"string","description":"Exact selected Cargo site ID."}},"required":["siteId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Productivity & Business","apiSurface":"spec","toolCount":26}}