Skip to main content
Glama

muninn_artifact_publish

DestructiveIdempotent

Share a stored artifact publicly and get back a link anyone can open — use when the user says publish this, share this, make this public, give me a link to send someone, put this on the web, or asks for a URL they can paste into a chat or an email. Returns a short unguessable munn.is link that renders the artifact for anyone holding it: no login, no account, not indexed by search engines. The published copy stays LIVE — later edits to the artifact update what the link serves. Optionally pass name to give the page a readable address under the handle the artifact lives in, e.g. chai.munn.is/my-notes (a new or changed name needs the Paid plan; the munn.is/a/ link is free on every plan). To put it under a different handle, muninn_artifact_move first. Publishing is only ever this tool: never assume an artifact is public, and never publish as part of saving or editing something. Optionally pass expiresAt (ISO 8601 date or datetime) when the user wants the link to stop working after a date — e.g. share this until Friday, expire the link next week, only valid for 7 days. After that moment the link opens for nobody and the publish is removed the first time someone tries it; the artifact itself is kept. Calling publish again on a published artifact keeps its link and lets you change the expiry (pass null to remove it); publishing an expired one mints a new link. muninn_artifact_unpublish revokes the link. Returns {success, artifactId, publicUrl, namedUrl, durableUrl, live, expiresAt}.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "artifactId": "<artifactId>"
    },
    "name": "muninn_artifact_publish"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoOptional readable name for the page, e.g. 'my-notes' — becomes <handle>.munn.is/my-notes, under the handle the artifact lives in. Letters, numbers and hyphens only; no dots or slashes. Unique per handle, not per account. Only gets an address if the artifact is under an active handle. A new or changed name needs the Paid plan; re-applying the page's current name does not. Publishing still succeeds if the name is rejected (taken, invalid, or not on the Paid plan).
passwordNoOptional password a reader must type before the page opens. Only pass a password the user actually stated — never invent one, and never set one they did not ask for. It cannot be read back afterwards by anyone, including the user: it can only be replaced or removed with muninn_artifact_password. Tell the user the exact password you set, since this is the only moment it is visible.
expiresAtNoOptional moment the public link stops opening, ISO 8601: a datetime with offset such as '2026-10-01T17:00:00+07:00', or a bare date '2026-10-01' (read as 00:00 UTC, so the link is already closed on that date). Must be in the future. Only set one the user asked for, and resolve relative phrases ('for a week') against today's date. Omit to keep the current expiry on an already-published artifact; pass null to remove it. The link is refused after this moment and removed from the published list when someone next opens it.
artifactIdYesThe artifact's memory ID (full UUID or a unique prefix).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare destructive/openWorld/idempotent, but the description adds much more: the link stays LIVE and reflects later edits, is unguessable, requires no login, is not search-indexed, and reveals plan gating for named URLs. It also documents re-publish semantics (keeps link, can change expiry, expired publish mints a new link).

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 the action and trigger phrases, and every clause carries information. The trigger enumeration and the expiry/idempotency explanation are somewhat verbose, but no sentence is wasted.

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 mutation tool with no output schema, the description enumerates the return shape ({success, artifactId, publicUrl, namedUrl, durableUrl, live, expiresAt}) and covers plan limits, expiry, revocation, and idempotency. Nothing an agent needs to call it correctly is missing.

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%, so the baseline is 3. The description reinforces `name` with a concrete example (chai.munn.is/my-notes), states the Paid-plan condition, and clarifies re-publish/expiry behavior, adding routing context (move first for a different handle). It does not surface the `password` parameter at all, so it is not fully additive over the schema.

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 and resource ('Share a stored artifact publicly and get back a link anyone can open'), plus the concrete outcome (an unguessable munn.is link). It clearly distinguishes itself from muninn_artifact_unpublish and muninn_artifact_move, which it names directly.

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?

Gives explicit trigger phrases ('publish this, share this, make this public'), explicit exclusions ('never assume an artifact is public, and never publish as part of saving or editing'), and routes to the correct siblings: muninn_artifact_move to change handle, muninn_artifact_unpublish to revoke.

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