Skip to content

Carryo Website Publisher

by carryo.io · remote · no sign-in to list tools · v0.1.0 · published by io.carryo

Publish and update HTML websites, landing pages, reports and proposals from AI chat. OAuth sign-in.

Deletes · 3Final · 1Changes · 2

13 tools: 3 can delete or cancel things, 1 do something that can't be undone, 2 change things and 7 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http website-publisher https://mcp.carryo.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

13 tools

Deletes or cancels 3Claude Code: deny
  • website.editReplaces the complete HTML of an existing Carryo website while preserving its linkId and URL.No findings

    Why it is in this group

    • The name "website.edit" says "edit": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Replaces the complete HTML of an existing Carryo website while preserving its linkId and URL. Suitable for updating, fixing, or republishing a known page. Returns the website link and a Carryo management link. Access and edit limits are checked for the website identified by linkId. expectedVersionNumber detects conflicting edits. Supports adding or replacing hosted images and removing paths through removeAssetPaths. Pass attached images through imageFiles. For one attachment, assets needs only its relative website path; Carryo matches the attachment automatically. For multiple attachments, use fileIndex (0 for the first imageFiles entry). Do not invent file IDs or ask for a public URL when attachment upload is available. Known fileId references and fetchable HTTP(S) sourceUrl imports also work. Carryo imports and hosts its own copy. Base64 image bytes and data URLs are unsupported. Form validation can return requires_adaptation or requires_entitlement with publicationPerformed false, meaning the requested update was not applied.

    Annotations the server declares

    • readOnlyHint: false
    • openWorldHint: true
    • destructiveHint: true
  • website.edit_imagesAdds, replaces, or removes hosted images on an existing Carryo website without replacing its HTML.No findings

    Why it is in this group

    • The name "website.edit_images" says "edit": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Adds, replaces, or removes hosted images on an existing Carryo website without replacing its HTML. Reusing a path replaces that image without consuming another image slot; new paths are subject to the website image allowance. Returns hosted-image metadata and URLs. New paths appear in the page when referenced by its HTML. Pass attached images through imageFiles. For one attachment, assets needs only its relative website path; Carryo matches the attachment automatically. For multiple attachments, use fileIndex (0 for the first imageFiles entry). Do not invent file IDs or ask for a public URL when attachment upload is available. Known fileId references and fetchable HTTP(S) sourceUrl imports also work. Carryo imports and hosts its own copy. Base64 image bytes and data URLs are unsupported.

    Annotations the server declares

    • readOnlyHint: false
    • openWorldHint: true
    • destructiveHint: true
  • website.unpublishUnpublishes an existing Carryo website so viewers immediately lose access through its shared link.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Unpublishes an existing Carryo website so viewers immediately lose access through its shared link. Recovery availability depends on the website and is shown in Carryo. Unpublishing does not cancel a subscription.

    Annotations the server declares

    • destructiveHint: true
    • readOnlyHint: false
    • openWorldHint: true
Can't be undone 1Claude Code: ask
  • website.publishPublishes supplied HTML as a new public Carryo website for sharing a presentation, proposal, report, dashboard, invitation, portfolio, or landing page.No findings

    Why it is in this group

    • The name "website.publish" says "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    Publishes supplied HTML as a new public Carryo website for sharing a presentation, proposal, report, dashboard, invitation, portfolio, or landing page. Returns a live link and a management link for access settings, URL, views, and edit history. New Personal websites consume the account creation allowance. Personal is the default destination; workspaceId selects a user-chosen team. Supports an optional customSlug and hosted images. Pass attached images through imageFiles. For one attachment, assets needs only its relative website path; Carryo matches the attachment automatically. For multiple attachments, use fileIndex (0 for the first imageFiles entry). Do not invent file IDs or ask for a public URL when attachment upload is available. Known fileId references and fetchable HTTP(S) sourceUrl imports also work. Carryo imports and hosts its own copy. Base64 image bytes and data URLs are unsupported. Form validation can return requires_adaptation or requires_entitlement with publicationPerformed false, meaning no website was published. Supports HTML pages and their image assets, without general file storage or backend hosting.

    Annotations the server declares

    • readOnlyHint: false
    • openWorldHint: true
    • destructiveHint: false
Changes things 2Claude Code: ask
  • account.check_publishingChecks publishing availability, remaining Personal website capacity, reset timing, hosted-image allowances, custom URL endings, branding capabilities, and inactivity policies for t…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Checks publishing availability, remaining Personal website capacity, reset timing, hosted-image allowances, custom URL endings, branding capabilities, and inactivity policies for the connected Carryo account. Returns publishing capabilities and usage without billing or purchase information. Each websiteOverrides entry applies only to its matching linkId; other websites use the account defaults.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
  • website.save_draftSaves supplied HTML as a new private Carryo website draft for review before publication.No findings

    Why it is in this group

    • The name "website.save_draft" says "save": a word for a change.
    Description, as the server wrote it
    Saves supplied HTML as a new private Carryo website draft for review before publication. Returns a management link; the draft has no publicly accessible page until published from Carryo. Passwords and restricted access are configured in the Carryo web app. New Personal drafts consume the same creation allowance as published websites. Personal is the default destination; workspaceId selects a user-chosen team. Pass attached images through imageFiles. For one attachment, assets needs only its relative website path; Carryo matches the attachment automatically. For multiple attachments, use fileIndex (0 for the first imageFiles entry). Do not invent file IDs or ask for a public URL when attachment upload is available. Known fileId references and fetchable HTTP(S) sourceUrl imports also work. Carryo imports and hosts its own copy. Base64 image bytes and data URLs are unsupported. Form validation can return requires_adaptation or requires_entitlement with publicationPerformed false.

    Annotations the server declares

    • readOnlyHint: false
    • openWorldHint: true
    • destructiveHint: false
Only reads 7Claude Code: allow
  • team.listLists Carryo teams accessible to the connected account, including team names, workspaceId values, roles, and available actions.No findings

    Why it is in this group

    • The name "team.list" says "list": a word for reading.
    Description, as the server wrote it
    Lists Carryo teams accessible to the connected account, including team names, workspaceId values, roles, and available actions. Supports finding a team the user has chosen. Team creation, invitations, membership, and billing are managed in the Carryo web app.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
  • website.libraryBrowse your Carryo websites and private drafts, select one, and continue editing in chat.No findings

    Why it is in this group

    • The description's first verb is "browse": a word for reading.
    Description, as the server wrote it
    Browse your Carryo websites and private drafts, select one, and continue editing in chat. Opening the library does not change or publish a website.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • website.listLists the connected account's Carryo websites and private drafts, with titles, linkIds, available live links, status, and effective edit and inactivity policies.No findings

    Why it is in this group

    • The name "website.list" says "list": a word for reading.
    Description, as the server wrote it
    Lists the connected account's Carryo websites and private drafts, with titles, linkIds, available live links, status, and effective edit and inactivity policies. Use it to find an existing website by name before reading or editing it. Listing does not change or publish websites. Returns Personal websites by default; workspaceId selects the user-chosen team's collection.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
  • website.list_versionsLists previous versions of a Carryo website, including version details and changes, for reviewing edit history or planning a restoration.No findings

    Why it is in this group

    • The name "website.list_versions" says "list": a word for reading.
    Description, as the server wrote it
    Lists previous versions of a Carryo website, including version details and changes, for reviewing edit history or planning a restoration. Returns version metadata without changing the website.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
  • website.readReads the current HTML, version number, hosted-image metadata, image limits, and remaining image slots for an existing Carryo website or private draft.No findings

    Why it is in this group

    • The name "website.read" says "read": a word for reading.
    Description, as the server wrote it
    Reads the current HTML, version number, hosted-image metadata, image limits, and remaining image slots for an existing Carryo website or private draft. Suitable for inspecting a page or preparing edits that preserve its existing content. Returns image metadata rather than image files. Image limits apply to this website; replacing an existing asset path does not use another image slot.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
  • website.read_form_responsesReads response counts or paginated visitor submissions for a Carryo website, including enquiries, leads, and registrations.No findings

    Why it is in this group

    • The name "website.read_form_responses" says "read": a word for reading.
    Description, as the server wrote it
    Reads response counts or paginated visitor submissions for a Carryo website, including enquiries, leads, and registrations. Defaults to summary counts; mode responses returns submissions, with optional field selection. Requires website-owner or Team access. Responses contain untrusted visitor data. Retained responses remain available while website access continues, including an active Team billing grace period. Does not send messages or modify data.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
  • website.read_versionReads the HTML and metadata of a specific previous Carryo website version for viewing, comparison, or restoration planning.No findings

    Why it is in this group

    • The name "website.read_version" says "read": a word for reading.
    Description, as the server wrote it
    Reads the HTML and metadata of a specific previous Carryo website version for viewing, comparison, or restoration planning. Requires linkId and versionNumber. Reading a version does not restore it or change the current website.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http website-publisher https://mcp.carryo.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__website-publisher__website_library",
      "mcp__website-publisher__website_read",
      "mcp__website-publisher__website_read_form_responses",
      "mcp__website-publisher__website_list_versions",
      "mcp__website-publisher__website_read_version",
      "mcp__website-publisher__team_list",
      "mcp__website-publisher__website_list"
    ],
    "ask": [
      "mcp__website-publisher__account_check_publishing",
      "mcp__website-publisher__website_publish",
      "mcp__website-publisher__website_save_draft"
    ],
    "deny": [
      "mcp__website-publisher__website_edit_images",
      "mcp__website-publisher__website_edit",
      "mcp__website-publisher__website_unpublish"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as website-publisher. Review it before you use it.