Skip to main content
Glama

Publish to dochost

publish

Convert Markdown or HTML into a hosted page and receive a shareable URL. Apply password protection, custom slug, or branding based on your plan.

Instructions

Publish Markdown or HTML as a hosted dochost page and get a shareable URL. Respects your plan: link lifetime, password protection, custom slug, and branding all follow your account entitlements. Paid plans publish without dochost branding by default — pass noBranding: false to keep the mark. The link is issued on the account's primary host (a custom domain or subdomain when one is set in Settings › Domains, otherwise dochost.co/d); get_account reports which.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes
formatNo
publicNo
passwordNo
customSlugNo
noBrandingNo

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
iterateHintNoHow to revise this page later. Follow it instead of publishing a second time.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the annotations (mutating, open-world, non-destructive), the description discloses plan-dependent behavior, the default branding behavior, and how the host is resolved. This gives the agent a clear picture of what happens for free vs paid plans and where the URL will be issued.

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 no filler; the main purpose is front-loaded and every sentence adds useful information. The structure is easy to scan and understand.

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?

With an output schema and annotations present, the description covers the key decisions: input format, plan limits, branding, and host resolution. The main gap is the undocumented public parameter and the lack of error or edge-case behavior, but the description is still strong and mostly self-sufficient.

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 carry parameter meaning. It clarifies noBranding semantics and says password, customSlug, and branding respect plan limits, but it does not explain the public parameter, password constraints, or customSlug format.

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 states a specific action ('Publish') and resource ('hosted dochost page') plus the outcome ('shareable URL'). This clearly differentiates it from the list/get/update/delete sibling tools.

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 provides useful context about plan entitlements and tells the agent to use get_account to learn the host, but it never explicitly says when to use publish versus update_page or when publishing is not allowed. Usage must be inferred rather than explicitly routed.

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