Skip to main content
Glama

Publish a page and get a link

publish_page

Turn generated content (HTML, Markdown, CSV, JSON, code) into a shareable public URL instantly. Choose the right filename to control rendering and get a link you can send.

Instructions

Publish content you have in hand to a public URL. Use this whenever the user asks to share, send, publish, or "give me a link to" something you just produced — an HTML page (dashboard, report, chart, interactive page), a Markdown document, CSV, JSON, or a code/data file. Everything it publishes becomes a page the recipient opens in a browser: the filename decides how it renders, so pass "report.md" for Markdown instead of renaming it to .html. Returns a public link that opens on any device; no account or configuration needed. Anonymous pages are kept for a month — with a token, storage is permanent and the page can be updated in place. Prefer this over telling the user to save the file and upload it somewhere themselves.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contentYesThe complete content of the file, as a string. With the default filename this is a self-contained HTML document including the <html> tag — relative references to local files will not resolve, so use publish_path when the page needs sibling files (CSS, JS, images).
filenameNoWhat to name the file — this decides how the content is rendered, so get it right rather than renaming Markdown to .html. Defaults to "index.html". Use "report.md", "data.csv", "query.sql" and so on; subdirectories work too ("reports/q3.md"). Only text can be sent as a string — binary formats (docx, xlsx, pdf) must go through publish_path.
update_urlNoA URL returned by an earlier publish. When given, the content of that page is replaced and the link stays the same. Requires the server to be configured with a Plopino token.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesPublic link to the published page — give this to the user.
noteYesHuman-readable status: created vs updated, and how long the page is kept.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.10

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate this is not read-only (readOnlyHint=false) and has open world effects (openWorldHint=true). The description adds valuable context: pages are public, no account needed, anonymous pages retained for a month, permanent storage with a token, and in-place updates via update_url. It does not contradict annotations and provides behavioral specifics beyond the safety flags.

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 compact paragraph, roughly five sentences, front-loaded with the primary purpose and use cases. It efficiently packs usage triggers, behavioral notes, and filename guidance without redundancy. It is not overly terse but remains focused and scannable, earning a high but not perfect score.

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

Completeness3/5

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

Given the output schema exists and the annotations cover safety, the description is largely complete. However, it does not explicitly mention the sibling tool publish_path or when to choose it (e.g., for file paths or binary content). While the schema hints at this, the description itself leaves the boundary ambiguous. This is a notable gap for a tool with a sibling, so completeness is adequate but not full.

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 coverage is 100% with detailed parameter descriptions, so the baseline is 3. The description adds extra guidance beyond the schema, such as emphasizing that the filename decides rendering ('pass 'report.md' for Markdown instead of renaming it to .html') and clarifying that only text can be sent as a string, which reinforces the schema's note about binary formats. This lifts the score above baseline.

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 verb 'publish', the resource (content to a public URL), and explicitly enumerates the content types and user intents that trigger it (share, send, publish, give me a link). It also differentiates from the sibling publish_path by specifying 'content you have in hand' and later noting binary formats must go through publish_path, making the tool's role unambiguous.

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 a strong when-to-use rule ('Use this whenever the user asks to share, send, publish...') and even advises preferring it over manual uploads. However, it does not explicitly name the sibling publish_path as the alternative for when content is a file path or binary, though the schema description covers this. The context is clear but the exclusion of alternatives is left to inference from the phrase 'content you have in hand'.

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

Deploy Server

Other Tools