Skip to main content
Glama

Carryo Website Publisher

Server Details

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

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

TDQS

A4.4/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct resource and action: account, team, and website operations are cleanly separated. The website tools clearly differentiate publish, draft, edit, image editing, read, list, version viewing, form reading, and unpublish, with no meaningful overlap.

Naming Consistency5/5

All tool names follow a consistent resource.action convention using snake_case, such as website.publish, website.list_versions, and account.check_publishing. The pattern is predictable and makes the target resource and operation immediately clear.

Tool Count5/5

Twelve tools is well within the appropriate range for a website publishing and management server. Each tool serves a distinct part of the publishing workflow, from account checks and team selection to drafts, editing, version history, and unpublishing.

Completeness4/5

The core website lifecycle is well covered: publish, save draft, edit, edit images, read, list, unpublish, and read form responses. Minor gaps exist around permanent deletion, restoring a previous version, and publishing an existing draft directly, but these can be worked around via the Carryo web app.

Available Tools

12 tools
account.check_publishingCheck Publishing AvailabilityA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
usageYesPersonal link usage needed to answer the current action
limitsYesPersonal default policies; websiteOverrides takes precedence for the named websites
capabilitiesYesPersonal default capabilities. Use websiteOverrides for the named websites, not for the whole account
websiteOverridesNoWebsite-specific exceptions to Personal defaults. Explicit owner-set expiry and unpublishing still apply

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, establishing that this is a safe read operation. The description adds valuable behavioral context beyond the annotations: the account scope, the explicit exclusion of billing/purchase data, and the nuance that each websiteOverrides entry applies only to its matching linkId.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is composed of three purposeful sentences with no filler. It front-loads the core purpose and then adds scope and response nuance. The first sentence is a somewhat long enumeration of checks, but each listed item meaningfully contributes to specifying what the tool reports.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only capability check with an output schema, the description is complete enough for an agent to invoke it correctly. It states what the tool reports, explicitly excludes billing/purchase information, and clarifies the websiteOverrides behavior. The agent can predict the response semantics without additional assumptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so there is nothing for the description to clarify about inputs. The description appropriately focuses on the meaning of the response instead, explaining what capabilities are included and how websiteOverrides behaves. This fits the baseline for a zero-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Checks') with a clear resource ('publishing availability for the connected Carryo account') and enumerates the concrete dimensions it covers, such as remaining capacity, reset timing, and allowances. This clearly distinguishes it from the website.* siblings, which operate on individual websites rather than the account level.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when the tool would be relevant—checking account-level publishing capabilities—and notes that it excludes billing or purchase information. However, it does not explicitly state when to prefer this tool over sibling tools like website.publish or website.read, nor does it name alternatives; the usage context must be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

team.listFind Carryo TeamsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
workspacesYesCarryo workspaces the authenticated user can access

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and non-destructive behavior, so the description adds value by noting that only teams accessible to the connected account are returned and that role/action information is included. This gives agents practical expectations about scope without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core behavior. The second sentence is somewhat redundant with the first, but the third sentence usefully redirects admin operations to the web app without adding significant length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless read-only tool with an output schema and safety annotations, the description covers scope, access constraints, and out-of-band operations. Nothing essential is missing for an agent to select and call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing for the description to clarify beyond the schema. Per baseline for parameterless tools, this is sufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists Carryo teams accessible to the connected account and enumerates the fields included (names, workspaceId, roles, actions). This distinguishes it from the website-focused sibling tools by identifying the resource type (teams) and the operation (list).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when the tool is useful: finding a team the user has chosen. It also explicitly excludes team creation, invitations, membership, and billing by redirecting those to the Carryo web app, providing a when-not boundary even though it doesn't name alternative sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

website.editEdit a Live WebsiteA
Destructive
Inspect

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. Image assets use relative HTML paths and exactly one source: a fileId matching a host-supplied imageFiles attachment, or a fetchable HTTP(S) sourceUrl. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
formsNoOptional definitions for JavaScript/React forms using window.CarryoForms.submit(key, values), which resolves on acceptance and rejects on failure. Stable keys and field names identify forms across edits. Static collection forms are inferred from data-carryo-form="key" and named controls without duplicate definitions; placeholder submit handlers can block collection. Local calculator/filter forms use data-carryo-local and do not collect responses. Existing external endpoints retain their destination. Visitor acknowledgement is disabled unless explicitly enabled.
assetsNoOptional image assets to add or replace. Each entry requires a relative HTML path and exactly one of fileId (matching imageFiles[].file_id) or sourceUrl (a fetchable HTTP(S) image URL). Existing images are preserved when omitted. The hosted-image allowance applies to the final website collection; replacing an existing path does not use another slot. Base64 bytes and data URLs are unsupported.
linkIdYesCarryo page link identifier to update
fileNameNoOptional replacement file name
expiresAtNoOptional ISO-8601 expiration timestamp
imageFilesNoOptional image attachments supplied by a compatible host, with file_id and download_url. Each attachment is mapped to a relative HTML path by an assets entry with the matching fileId. Temporary download URLs are import sources, not hosted image URLs. Clients without file input support can omit this field.
htmlContentYesUpdated complete HTML for the Carryo page while keeping the same URL.
sharingModeNoOptional replacement publishing mode. Only public live links are supported here.
removeAssetPathsNoOptional relative asset paths to remove from the page asset bundle.
expectedVersionNumberNoExpected current website version number for detecting conflicting edits.

Output Schema

ParametersJSON Schema
NameRequiredDescription
codeNo
formsNo
linkIdNoCarryo page link identifier
statusNo
messageNo
guidanceNo
shareUrlNoPrimary share URL
expiresAtNoOptional ISO-8601 expiration timestamp
manageUrlNoCarryo web-app URL for managing the link URL, password, views, and edit history
updatedAtNoISO-8601 update timestamp
workspaceIdNoWorkspace that owns the link; omitted for Personal
alternateShareUrlsNoAlternate share URLs, when available
currentVersionNumberNo
publicationPerformedNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations by disclosing destructive semantics ('Replaces the complete HTML'), preserving linkId/URL, returning management links, checking access and edit limits, using expectedVersionNumber for conflict detection, and explaining failure states (requires_adaptation/requires_entitlement with publicationPerformed false). It also details asset hosting behavior and unsupported formats. No contradiction with readOnlyHint=false or destructiveHint=true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but appropriately sized for a tool with 10 parameters and complex asset/form behavior. The core action is front-loaded, but later sections cover asset rules, form rules, and failure conditions in a somewhat list-like way that could be structured more cleanly. Still, every sentence contributes information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, the description covers the full lifecycle: what it does, what it preserves, what it returns, access and versioning checks, image asset constraints, form semantics, and failure modes where the update is not applied. The presence of an output schema reduces the need to describe return shapes, and nothing important appears missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema description coverage is 100%, the description adds substantial operational meaning beyond the schema: the mutual exclusivity and import behavior of fileId/sourceUrl, 'Base64 bytes and data URLs are unsupported,' the semantics of removeAssetPaths, expectedVersionNumber's conflict-detection role, and detailed behavior of forms. This richly compensates for the many parameters and nested structures.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description leads with a specific verb and resource: 'Replaces the complete HTML of an existing Carryo website while preserving its linkId and URL.' This clearly distinguishes it from siblings such as website.edit_images (image-only edits) and website.publish (publishing/scheduling), making the tool's scope unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: 'Suitable for updating, fixing, or republishing a known page.' It does not explicitly name alternatives or exclusions, but the 'complete HTML' scope strongly implies when this tool is appropriate versus image-only or draft-only operations, which is enough for an agent to make a routing decision.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

website.edit_imagesEdit Website ImagesA
Destructive
Inspect

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. Image assets use relative HTML paths and exactly one source: a fileId matching a host-supplied imageFiles attachment, or a fetchable HTTP(S) sourceUrl. Carryo imports and hosts its own copy. Base64 image bytes and data URLs are unsupported.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetsNoOptional image assets to add or replace. Each entry requires a relative HTML path and exactly one of fileId (matching imageFiles[].file_id) or sourceUrl (a fetchable HTTP(S) image URL). Existing images are preserved when omitted. The hosted-image allowance applies to the final website collection; replacing an existing path does not use another slot. Base64 bytes and data URLs are unsupported.
linkIdYesCarryo page link identifier to update
imageFilesNoOptional image attachments supplied by a compatible host, with file_id and download_url. Each attachment is mapped to a relative HTML path by an assets entry with the matching fileId. Temporary download URLs are import sources, not hosted image URLs. Clients without file input support can omit this field.
removeAssetPathsNoOptional relative asset paths to remove from the page asset bundle.

Output Schema

ParametersJSON Schema
NameRequiredDescription
codeNo
formsNo
linkIdNoCarryo page link identifier
statusNo
messageNo
guidanceNo
shareUrlNoPrimary share URL
assetUrlsNoURLs for added or replaced assets
updatedAtNoISO-8601 update timestamp
currentVersionNumberNo
publicationPerformedNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation risk is known. The description adds valuable behavioral context: reusing a path doesn't consume another image slot, new paths are subject to allowance, Carryo imports and hosts its own copy, and base64/data URLs are unsupported. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured, front-loading the core action and then explaining key constraints. Every sentence adds information. It's slightly long but justified given the complexity of the tool's behavior (allowance, path reuse, source types).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential behavioral rules: path reuse, allowance, source requirements, and unsupported formats. The output schema exists, so return values don't need explanation. Minor gaps: it doesn't explicitly state what happens when removeAssetPaths conflicts with assets, or whether the operation is atomic, but these are edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds meaningful context beyond the schema: the distinction between reusing a path (no extra slot) vs new paths (allowance applies), and the import/hosting behavior. This is above the baseline 3 because it clarifies the semantics of the assets array and the relationship between fileId and sourceUrl.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Adds, replaces, or removes') and resource ('hosted images on an existing Carryo website'), and explicitly distinguishes itself from website.edit by noting it does not replace HTML. This clearly differentiates it from sibling tools like website.edit and website.save_draft.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use this tool (to manage images without touching HTML) and provides clear context about path reuse, image allowance, and source requirements. It doesn't explicitly name alternatives or say 'use X instead', but the context is strong enough for an agent to select it appropriately among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

website.listList My WebsitesA
Read-only
Inspect

Lists the connected account's live Carryo websites and private drafts, with titles, linkIds, live links, status, and effective edit and inactivity policies. Suitable for finding a website by name. Returns Personal websites by default; workspaceId selects the user-chosen team's collection.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdNoOptional exact workspaceId of the Carryo team selected by the user. Lists Personal websites when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitYesPagination limit used by the response
totalYesTotal page count before pagination
offsetYesPagination offset used by the response
artifactsYesCarryo pages owned by the authenticated user
workspaceIdNoWorkspace whose links were listed; omitted for Personal

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds useful behavioral detail about listing live sites and drafts, default personal scope, and returning 'effective edit and inactivity policies.' It does not contradict the annotations and adds context beyond the structured metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences deliver the resource, default scope, and a practical use case without filler. The wording is packed but still readable; the only minor cost is the dense list of returned fields in the first sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the return values are already covered. The description provides the essential selection context (personal vs team), the connection to the account, and the read-only nature consistent with annotations. Nothing necessary for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents workspaceId as optional, exact, and team-selecting. The description repeats the default behavior rather than adding meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Lists') and resource ('connected account's live Carryo websites and private drafts'), and enumerates the returned fields. This distinguishes it clearly from siblings like website.read or website.list_versions, which target single websites or versions rather than the website collection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear usage context: 'Suitable for finding a website by name' and explains the default behavior for Personal websites versus selecting a team via workspaceId. It does not explicitly name alternative tools or exclusion conditions, so it stops just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

website.list_versionsList Website VersionsA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
linkIdYesCarryo page link identifier to inspect

Output Schema

ParametersJSON Schema
NameRequiredDescription
linkIdYesCarryo page link identifier
versionsYesPage version history
currentVersionNumberYesCurrent page version number

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly states 'without changing the website,' reinforcing the readOnlyHint and destructiveHint annotations. It also adds context that the tool 'Returns version metadata,' which clarifies the nature of the operation beyond the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no filler. It front-loads the core action and purpose, then adds a concise behavioral guarantee. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list operation with one parameter, an output schema, and annotations covering safety, the description is complete. It gives purpose, scope, and non-destructive intent without missing critical information an agent would need.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, linkId, is already fully documented in the schema with 'Carryo page link identifier to inspect.' Schema description coverage is 100%, so the description does not need to add parameter meaning. It remains at the baseline because no extra parameter context is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Lists previous versions of a Carryo website') and the resource scope ('previous versions'). It also specifies what is included ('version details and changes') and distinguishes itself from sibling tools like website.list and website.read_version.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: 'for reviewing edit history or planning a restoration.' It does not explicitly name alternatives or exclusion conditions, but the intended use cases are evident, so it earns a 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

website.publishPublish a Live WebsiteAInspect

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. Image assets use relative HTML paths and exactly one source: a fileId matching a host-supplied imageFiles attachment, or a fetchable HTTP(S) sourceUrl. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
formsNoOptional definitions for JavaScript/React forms using window.CarryoForms.submit(key, values), which resolves on acceptance and rejects on failure. Stable keys and field names identify forms across edits. Static collection forms are inferred from data-carryo-form="key" and named controls without duplicate definitions; placeholder submit handlers can block collection. Local calculator/filter forms use data-carryo-local and do not collect responses. Existing external endpoints retain their destination. Visitor acknowledgement is disabled unless explicitly enabled.
assetsNoOptional image assets to add or replace. Each entry requires a relative HTML path and exactly one of fileId (matching imageFiles[].file_id) or sourceUrl (a fetchable HTTP(S) image URL). Existing images are preserved when omitted. The hosted-image allowance applies to the final website collection; replacing an existing path does not use another slot. Base64 bytes and data URLs are unsupported.
fileNameYesShort internal file name, for example client-proposal.html, board-deck.html, report.html, or landing-page.html.
expiresAtNoOptional ISO-8601 expiration timestamp
customSlugNoOptional user-chosen URL ending using lowercase letters, numbers, and hyphens. An automatic URL is generated when omitted.
imageFilesNoOptional image attachments supplied by a compatible host, with file_id and download_url. Each attachment is mapped to a relative HTML path by an assets entry with the matching fileId. Temporary download URLs are import sources, not hosted image URLs. Clients without file input support can omit this field.
htmlContentYesComplete HTML for the page, presentation, slide deck, proposal, report, landing page, dashboard, invitation, portfolio, or one-page website to publish.
sharingModeYesPublishing mode for the Carryo page. Only public live links are supported here.
workspaceIdNoOptional exact workspaceId of the Carryo team explicitly selected by the user. The default destination is Personal when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
codeNo
formsNo
linkIdNoCarryo page link identifier
statusNo
messageNo
guidanceNo
shareUrlNoPrimary share URL
expiresAtNoOptional ISO-8601 expiration timestamp
manageUrlNoCarryo web-app URL for managing the link URL, password, views, and edit history
customSlugNoOptional custom URL ending
workspaceIdNoWorkspace that owns the link; omitted for Personal
alternateShareUrlsNoAlternate share URLs, when available
currentVersionNumberNo
publicationPerformedNo

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate it's a write operation (readOnlyHint=false) with side effects (openWorldHint=true). The description adds critical context: it consumes the account creation allowance, imports and hosts its own copy of images, returns live and management links, and can return validation errors (requires_adaptation/requires_entitlement) with publicationPerformed false. It also highlights limitations (no backend hosting) that go beyond annotations. Loses a point because it could mention the side effect of overwriting any existing site with the same slug? But not required as this is creation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but each sentence earns its place. It front-loads the core purpose and use cases, then covers key constraints (account allowance, image handling, validation failures) without fluff. It is longer than typical but every part adds critical information that is not in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present)Skip the return details are covered. The description covers all necessary aspects for correct invocation: prerequisites (account allowance), parameter semantics (assets), error handling (validation errors), and scope limitations (only HTML pages, no backend). It leaves nothing significant to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds meaning by explaining how assets must be set up (relative HTML paths, exactly one source, base64 unsupported), how forms work (window.CarryoForms.submit), and the behavior of imageFiles (temporary download URLs). It clarifies customSlug generation and the role of expiresAt. Already high, so 4 is warranted for the extra depth.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool publishes supplied HTML as a new public Carryo website, listing specific use cases (presentation, proposal, report, etc.) and contrasting with siblings like website.edit (for editing) and website.save_draft (for drafts). It distinguishes itself by the 'new' and 'public' aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states the default destination is Personal and that workspaceId is used for a user-chosen team, and mentions checking account creation allowance. It does not explicitly name alternatives for when not to use, but the sibling list (website.edit, website.save_draft) context implies this is for creation. It also notes what is unsupported (general file storage, backend hosting) to prevent misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

website.readRead the Current WebsiteA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
linkIdYesCarryo page link identifier to read

Output Schema

ParametersJSON Schema
NameRequiredDescription
formsNo
assetsNoBundled asset descriptors
linkIdYesCarryo page link identifier
htmlContentYesCurrent HTML content for the page
imageLimitsNoHosted-image allowance for this website. Null counts mean no plan-specific cap. Existing images above a reduced limit can be kept or replaced, but the count cannot increase.
currentVersionNumberNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is safe. The description adds useful behavioral specifics: it returns HTML, version number, hosted-image metadata, and image limits, and explains that replacing an existing asset path does not consume a new image slot. This goes beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, all substantive. Front-loaded with the primary purpose and return contents, then the image-slot caveat. No filler or repetition of schema property names.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with readOnly/destructive annotations and an output schema, the description covers what is read, what is not returned, and an edge case about image slots. Nothing the agent needs to decide whether to call it or interpret its purpose is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter (linkId) is already self-describing in the schema. The description doesn't add new detail about the parameter's format or constraints, but it does state the tool's scope (existing website or draft), which is lightly relevant. Baseline 3 applies because schema fully covers this simple parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Reads') and a precise resource: the current HTML, version number, image metadata, and image limits of a Carryo website or private draft. It clearly distinguishes itself from siblings like website.edit and website.read_version by focusing on reading current content rather than modifying or inspecting a specific historical version.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear use cases: inspecting a page or preparing edits that preserve existing images. It also clarifies that it returns metadata, not image files, which helps an agent choose this over tools that may return binaries. It does not explicitly name alternative tools or state when not to use it, but the context is adequate for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

website.read_form_responsesRead Website Form ResponsesA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo
afterNo
limitNo
beforeNo
cursorNo
fieldsNo
linkIdYes
formKeyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
formsYes
totalYes
linkIdYes
responsesNo
nextCursorNo
untrustedContentYes
notificationCountsNoEmail job counts; sent means accepted by the provider, not confirmed inbox delivery

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and destructiveHint=false, but the description adds valuable context: responses contain untrusted visitor data, retention behavior is tied to website access including a billing grace period, and it explicitly states the tool does not send messages or modify data. These details go beyond the annotations and help the agent understand data handling and safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph of four sentences, front-loaded with the core purpose and mode behavior. It avoids redundant details and each sentence contributes useful information, though it could be slightly more structured with bullet points for readability, but overall it is concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, pagination, modes) and the presence of an output schema, the description covers the essential aspects: modes, access, data trust, retention, and read-only nature. Pagination parameters are documented in the schema, and return values are covered by the output schema. It lacks explicit explanation of 'formKey' and pagination cursor usage, but those are inferable from the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the 'mode' parameter (summary vs. responses) and the 'fields' parameter (optional selection), but does not explain 'after', 'before', 'cursor', 'limit', 'formKey', or 'linkId'. With 8 parameters, only a couple are clarified, so the agent must infer the rest from schema constraints alone, leaving gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads response counts or paginated visitor submissions for a Carryo website, specifying the verb 'reads' and the resource. It explicitly mentions the two modes (summary and responses) and notes that it does not send messages or modify data, distinguishing it from sibling tools like website.publish and website.edit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the default mode (summary) and the alternative mode (responses) with optional field selection, giving the agent guidance on how to get different kinds of data. It also mentions access requirements (website-owner or Team access) but does not explicitly state when to prefer this tool over alternatives, though no direct sibling tool handles form responses, so the use case is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

website.read_versionRead a Website VersionA
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
linkIdYesCarryo page link identifier to read
versionNumberYesSpecific page version number to read

Output Schema

ParametersJSON Schema
NameRequiredDescription
formsNoForm definitions belonging to this historical version, for comparison or restoration; not its current collection state
assetsNoBundled asset descriptors
linkIdYesCarryo page link identifier
htmlContentYesHTML content for the requested historical version
versionNumberYesPage version number

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable context beyond annotations: it explicitly states that reading does not restore the version or change the current website, which is a key behavioral trait for an agent to know. It also clarifies the scope (HTML and metadata).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero waste. The core action and resource are front-loaded, the required parameters are stated, and the critical non-destructive behavior is called out. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return values don't need to be described. The description covers what it reads, the required parameters, and the non-destructive behavior. It could mention that this is for a 'previous' version vs. current, which it does. It doesn't explicitly say when NOT to use it (e.g., for current site use website.read), but the context is sufficient for a read-only tool with full schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters (linkId and versionNumber) with descriptions. The tool description adds the requirement that both are needed ('Requires linkId and versionNumber') and clarifies that versionNumber refers to a 'specific previous' version, but this is marginal value over the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Reads'), a specific resource ('HTML and metadata of a specific previous Carryo website version'), and its purpose ('viewing, comparison, or restoration planning'). It also distinguishes itself from sibling tools like website.read and website.list_versions by focusing on reading a specific previous version rather than the current site or listing versions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states when to use this tool: when you need to read a specific previous version, and it explicitly notes that reading does not restore or change the current website. It doesn't explicitly name alternatives like website.read or website.list_versions, but the context of 'previous version' vs. current site is clear enough to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

website.save_draftSave a Private Website DraftAInspect

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. Image assets use relative HTML paths and exactly one source: a fileId matching a host-supplied imageFiles attachment, or a fetchable HTTP(S) sourceUrl. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
formsNoOptional definitions for JavaScript/React forms using window.CarryoForms.submit(key, values), which resolves on acceptance and rejects on failure. Stable keys and field names identify forms across edits. Static collection forms are inferred from data-carryo-form="key" and named controls without duplicate definitions; placeholder submit handlers can block collection. Local calculator/filter forms use data-carryo-local and do not collect responses. Existing external endpoints retain their destination. Visitor acknowledgement is disabled unless explicitly enabled.
assetsNoOptional image assets to add or replace. Each entry requires a relative HTML path and exactly one of fileId (matching imageFiles[].file_id) or sourceUrl (a fetchable HTTP(S) image URL). Existing images are preserved when omitted. The hosted-image allowance applies to the final website collection; replacing an existing path does not use another slot. Base64 bytes and data URLs are unsupported.
fileNameYesShort internal file name, for example client-proposal.html, board-deck.html, report.html, or landing-page.html.
expiresAtNoOptional ISO-8601 expiration timestamp
customSlugNoOptional user-chosen URL ending using lowercase letters, numbers, and hyphens. An automatic URL is generated when omitted.
imageFilesNoOptional image attachments supplied by a compatible host, with file_id and download_url. Each attachment is mapped to a relative HTML path by an assets entry with the matching fileId. Temporary download URLs are import sources, not hosted image URLs. Clients without file input support can omit this field.
htmlContentYesComplete HTML for the private Carryo draft page, presentation, slide deck, proposal, report, landing page, dashboard, invitation, portfolio, or one-page website.
workspaceIdNoOptional exact workspaceId of the Carryo team explicitly selected by the user. The default destination is Personal when omitted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
codeNo
formsNo
statusNo
draftIdNoCarryo private draft identifier
messageNo
guidanceNo
expiresAtNoOptional ISO-8601 expiration timestamp
manageUrlNoCarryo URL where the user can review access settings and publish the draft
workspaceIdNoWorkspace that owns the draft; omitted for Personal
currentVersionNumberNo
publicationPerformedNo

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description fully discloses behavioral traits beyond annotations: no public page until published, management link returned, consumption of creation allowance, form validation errors (requires_adaptation/requires_entitlement with publicationPerformed false), image hosting behavior, and restrictions on unsupported formats. With annotations only indicating non-read-only/non-destructive, the description carries the full burden and does so thoroughly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense but structured efficiently: core behavior first, then asset constraints, then form behavior, then validation notes. Some redundancy exists between the top-level description and schema field descriptions (e.g., base64 unsupported appears twice), and the form-related sentences could be tighter. However, the front-loading is good and every sentence contributes meaningful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (8 params, nested assets/forms, sibling publish/edit tools, no output schema details), the description covers all critical aspects: what the tool does, when to use it, what to know about assets and forms, what errors to expect, and what the response contains (management link, publicationPerformed). The presence of an output schema further reduces the need to explain return values, and the description already addresses key lifecycle behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description adds meaning beyond the schema: it explains the mutual exclusivity of fileId and sourceUrl, the relationship between assets and imageFiles, the behavior of forms and static collection forms, the meaning of workspaceId vs personal default, and the lifecycle of drafts (no public page until published). The description enriches every parameter's semantics, not just repeating names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence clearly states the tool's action ('Saves supplied HTML as a new private Carryo website draft for review before publication'), identifies the resource (private website draft), and differentiates it from siblings by emphasizing 'private' and 'draft' before publication. This distinguishes it from website.publish, website.edit, and website.read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool vs alternatives: it saves a draft for review before publication, notes that published websites use website.publish, and explains that editing existing websites would use website.edit. It also provides clear conditions for asset handling and form definitions, and mentions the alternative of workspaceId for team selection versus personal default. The description covers when to use it and what to avoid (e.g., base64 image bytes, data URLs).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

website.unpublishUnpublish a WebsiteA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
linkIdYesCarryo page link identifier to take offline

Output Schema

ParametersJSON Schema
NameRequiredDescription
linkIdYesCarryo page link identifier
deleteAtYesISO-8601 deletion timestamp
revokedAtYesISO-8601 revocation timestamp

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=truecars, and the description adds meaningful specifics: the effect is immediate, access is lost through the shared link, recovery availability is conditional and surfaced in Carryo, and the action does not cancel a subscription. This goes well beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, with the primary effect and scope front-loaded. Every sentence adds useful information: immediate effect, reversibility caveat, and a non-goal. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter destructive tool with annotations and an output schema present, the description covers the main action, the immediate consequence, recovery uncertainty, and a common misunderstanding. It does not describe how to obtain linkId, but the schema field description mitigates that gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already complete (100%): the only parameter, linkId, has a clear description. The tool description adds little new parameter meaning beyond implying the linkId identifies the shared link. Baseline 3 is appropriate because the schema carries the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Unpublishes'), a precise subject ('existing Carryo website'), and a concrete effect ('viewers immediately lose access through its shared link'). This clearly distinguishes it from sibling tools like website.publish, website.edit, or website.read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when to use it: to take a website offline immediately. It also adds an exclusion ('does not cancel a subscription'), which prevents misuse. It does not explicitly name a sibling alternative, but the tool's purpose is distinct enough that no alternative is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 12 tool updates
    • First observedaccount.check_publishing
    • First observedteam.list
    • First observedwebsite.edit
    • First observedwebsite.edit_images
    • First observedwebsite.list
    • First observedwebsite.list_versions
    • First observedwebsite.publish
    • First observedwebsite.read
    • First observedwebsite.read_form_responses
    • First observedwebsite.read_version
    • First observedwebsite.save_draft
    • First observedwebsite.unpublish

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Publish Markdown or HTML to a shareable link from your AI assistant, then list, inspect, update or delete your pages. Six tools cover publishing, page management and account usage. Connect through hosted Streamable HTTP with OAuth, or use an API key for headless clients.
    6
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Publishes HTML pages straight from your AI assistant to a shareable URL, then lets you manage them - update, list, search, fetch, and delete pages in a public or private workspace. Turns "share what I just made" into a single tool call from Claude, Cursor, or any MCP client.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources