Skip to main content
Glama

brewpage-mcp

Publish JSON document

publish_json

Publish a JSON document to BrewPage (repository default limit 1 MiB). Accepts a JSON object, array, or a JSON-encoded string containing any valid JSON, including scalars/null. Returns its primary share link and owner token. Returns manageUrl, a private management link (grants control; not for public sharing). Secrets allowed; likely ones are flagged in notices. Private namespace + password suit secrets.

Input Schema

NameRequiredDescriptionDefault
jsonYesJSON document to publish (object, array, or JSON-encoded string)
tagsNoOptional tags for the document
ttlDaysNoRequested TTL: days as a number, or a string such as '2w', '36h' or '1 month' (default 15 days). The server rounds to whole days and clamps to the allowed range (1-30 by default; owner caps differ), reporting each adjustment in notices; the returned expiresAt is the actual expiry.
passwordNoOptional password to protect the document
namespaceNoOmit (default): private. namespace=public: the shared public namespace. JSON and KV are never listed in the gallery or indexed, in any namespace; anyone who has the link can open it. Lowercase only: 1-32 of a-z, 0-9, hyphen.
ownerTokenNoOptional. Default: BREWPAGE_OWNER_TOKEN, else a new token per create.
deliveryModeNoOptional delivery choice for a fresh publication, independent of password/namespace. Fresh sites and HTML-format pages outside public (including the default unlisted namespace) always use subdomain; an explicit path there still publishes, on subdomain, with a delivery notice. Everything else in any namespace (Markdown, code/text, files, JSON, KV, public HTML) defaults to path (Promotion); public HTML may automatically choose subdomain for browser features. When creation returns an existing publication, it keeps its actual mode and URL.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / ttlDays / description
      Previous value: -"Requested TTL: days as a number, or a string such as '2w', '36h' or '1 month' (default 15 days). The server rounds to whole days and clamps to the allowed range (1-30 by default; owner caps differ), reporting each adjustment in notices; use returned expiresAt."New value: +"Requested TTL: days as a number, or a string such as '2w', '36h' or '1 month' (default 15 days). The server rounds to whole days and clamps to the allowed range (1-30 by default; owner caps differ), reporting each adjustment in notices; the returned expiresAt is the actual expiry."
  2. First observed

TDQS

A3.9/5.0
Behavior5/5

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

Annotations only declare this as a non-read-only, non-destructive write; the description adds material context beyond that: a 1 MiB default size limit, the fact that an owner token is returned as the management credential, that manageUrl grants control and must not be shared publicly, that secrets are allowed and flagged in notices, and that TTL requests are rounded/clamped with adjustments reported in notices. This is exactly the behavioral detail an agent needs before creating a resource.

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 purpose and return shape are front-loaded, and the security warning about manageUrl and secrets arrives right after the return-value sentence where it matters. Dense but nearly every clause carries information; the only mild redundancy is restating input forms and TTL behavior that the schema already spells out.

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 no output schema, describing the returned share link, owner token, and manageUrl is essential and is done well. Coverage of the mutating behavior, size cap, and secret handling is strong; what is missing is sibling routing (notably update_json) and any statement of error or failure behavior, which matters for a 7-parameter creation tool.

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 itself documents ttlDays clamping, namespace semantics, and deliveryMode in depth, so the description's parameter-related claims largely restate what structured fields already provide. The one addition over schema is the 'repository default limit 1 MiB' constraint, which gives useful context but does not expand parameter meaning.

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

Purpose4/5

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

The description opens with a specific verb+resource ('Publish a JSON document to BrewPage') and enumerates accepted input forms (object, array, or JSON-encoded string, including scalars/null), so the agent knows exactly what the tool does. It does not, however, distinguish itself from close siblings like update_json or publish_kv, leaving the boundary between publishing new content and updating existing content implicit.

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?

'Private namespace + password suit secrets' is a useful usage hint, but it is about parameter configuration rather than tool selection. There is no explicit guidance on when to prefer this over publish_kv, publish_file, or update_json, nor on the upsert behavior implied by 'When creation returns an existing publication…' — usage must be inferred rather than read.

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.