Skip to main content
Glama

Publish to dochost

publish

Publish HTML or Markdown as a hosted web page and return a shareable URL. Use when the user asks to share an HTML quiz, calculator, report or Markdown document as a link. HTML JavaScript runs in a sandbox. Free links expire after seven days; paid link lifetime and options follow account entitlements. For revisions of an existing page, use update_page to keep the same link. Results report expiry and any ignored options; relay ignoredOptions/ignoredNote instead of claiming all requested settings were applied. New links use the account primary host; get_account reports it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesComplete HTML or Markdown source to publish, preserving scripts and styles. Pass the content itself, not a summary, file path, URL or surrounding Markdown code fence. Single-file HTML must inline assets or use publicly accessible asset URLs.
formatNoUse html for HTML source and markdown for Markdown. Omit only when you want automatic format detection.
publicNoWhether the page is discoverable on Explore (default true). False does not password-protect the link; readers with its URL can still access an unprotected page.
passwordNoRequested reader password, subject to plan entitlement. Omit unless requested; check ignoredOptions/ignoredNote before claiming password protection.
customSlugNoRequested custom URL slug, subject to plan entitlement and availability. Omit unless the user requests one.
noBrandingNoOmit to use the plan default: paid plans hide branding, free plans keep it. Set false if the user wants to keep the dochost mark.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe shareable page URL, on the account's primary host (custom domain, subdomain, or dochost.co/d). Relay it verbatim.
noteNoFree-tier only: expiry warning + upgrade link. Relay this to the user.
slugYes
formatYes
expiresAtNoISO timestamp, or null when the link is permanent.
permanentYes
ignoredNoteNoPlain-language consequence of ignoredOptions. Relay it instead of reporting plain success.
iterateHintNoHow to revise this page later. Follow it instead of publishing a second time.
ignoredOptionsNoPaid options this account does not have, which were dropped. Present only when non-empty — the publish still succeeded, but NOT as asked.
firstPublishWelcomeNoPresent only on the account's first publish: relay the link and offer the one next step it describes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / firstPublishWelcome
      Added value: +{
      +  "description": "Present only on the account's first publish: relay the link and offer the one next step it describes.",
      +  "type": "string"
      +}
  2. Changed6 schema fields changed
    • addedInput schema / properties / body / description
      Added value: +"Complete HTML or Markdown source to publish, preserving scripts and styles. Pass the content itself, not a summary, file path, URL or surrounding Markdown code fence. Single-file HTML must inline assets or use publicly accessible asset URLs."
    • addedInput schema / properties / customSlug / description
      Added value: +"Requested custom URL slug, subject to plan entitlement and availability. Omit unless the user requests one."
    • addedInput schema / properties / format / description
      Added value: +"Use html for HTML source and markdown for Markdown. Omit only when you want automatic format detection."
    • addedInput schema / properties / noBranding / description
      Added value: +"Omit to use the plan default: paid plans hide branding, free plans keep it. Set false if the user wants to keep the dochost mark."
    • addedInput schema / properties / password / description
      Added value: +"Requested reader password, subject to plan entitlement. Omit unless requested; check ignoredOptions/ignoredNote before claiming password protection."
    • addedInput schema / properties / public / description
      Added value: +"Whether the page is discoverable on Explore (default true). False does not password-protect the link; readers with its URL can still access an unprotected page."
  3. Changed2 schema fields changed
    • addedOutput schema / properties / ignoredNote
      Added value: +{
      +  "description": "Plain-language consequence of ignoredOptions. Relay it instead of reporting plain success.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / ignoredOptions
      Added value: +{
      +  "description": "Paid options this account does not have, which were dropped. Present only when non-empty — the publish still succeeded, but NOT as asked.",
      +  "items": {
      +    "enum": [
      +      "noBranding",
      +      "password",
      +      "customSlug",
      +      "searchable"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  4. Changed1 schema field changed
    • changedOutput schema / properties / url / description
      Previous value: -"The shareable dochost.co page URL."New value: +"The shareable page URL, on the account's primary host (custom domain, subdomain, or dochost.co/d). Relay it verbatim."
  5. Changed1 schema field changed
    • addedOutput schema / properties / iterateHint
      Added value: +{
      +  "description": "How to revise this page later. Follow it instead of publishing a second time.",
      +  "type": "string"
      +}
  6. Changed1 schema field changed
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "Free-tier only: expiry warning + upgrade link. Relay this to the user.",
      +  "type": "string"
      +}
  7. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "expiresAt": {
      +      "description": "ISO timestamp, or null when the link is permanent.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "format": {
      +      "enum": [
      +        "markdown",
      +        "html"
      +      ],
      +      "type": "string"
      +    },
      +    "permanent": {
      +      "type": "boolean"
      +    },
      +    "slug": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "description": "The shareable dochost.co page URL.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "url",
      +    "slug",
      +    "format",
      +    "permanent"
      +  ],
      +  "type": "object"
      +}
  8. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (which only declare it is a non-destructive, open-world write), the description discloses sandboxed JS execution, free-link 7-day expiry vs. paid entitlements, that results report expiry and ignored options, and that new links default to the account primary host. It also instructs the agent to relay ignoredOptions/ignoredNote rather than over-claim settings, which is real behavioral guidance.

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?

Front-loaded with purpose, then usage, behavior, routing and result-handling, with no filler sentences. It is dense but slightly long, packing host/expiry/ignored-options details that could be trimmed, though each sentence still carries operational value.

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?

An output schema exists, so return values need not be explained, yet the description still adds the critical result-handling nuance (report expiry and ignoredOptions). Combined with expiry rules, sandboxing and host behavior, an agent has everything needed to invoke and interpret the call correctly.

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 all six parameters in detail (format auto-detection, public not implying password protection, entitlement caveats on password/customSlug, noBranding defaults). The description largely restates these constraints rather than adding new per-parameter semantics, so the baseline 3 applies.

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 gives a precise verb+resource+outcome: 'Publish HTML or Markdown as a hosted web page and return a shareable URL.' It further distinguishes itself from the sibling update_page by scoping that sibling to revisions of an existing page.

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?

Explicit trigger ('Use when the user asks to share an HTML quiz, calculator, report or Markdown document as a link') plus an explicit alternative and its selecting condition ('For revisions of an existing page, use update_page to keep the same link'). Both when-to-use and when-to-use-something-else are covered.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources