Skip to main content
Glama

@tempmd/mcp

tempmd-mcp MCP server

MCP server for temp.md — give agent-made artifacts one stable public link that updates in place.

Publish an HTML, Markdown, CSV, or Mermaid artifact and get a canonical URL like amber-hill-9eb6.temp.md. Push new versions behind the same URL — no re-sharing, ever. Temps expire intentionally when the work goes cold (7-day active window, resets on every update) and can be restored within 7 days of expiry.

Install

Remote — no install

claude mcp add --transport http tempmd https://api.temp.md/mcp

Remote MCP accepts inline UTF-8 or base64 files. Anonymous publishing needs no credential. To publish directly into an account and use account tools, configure the connection with Authorization: Bearer <tempmd_key_...>.

Local stdio — best for filesystem access and larger directories

claude mcp add tempmd -- npx -y @tempmd/mcp

Cursor / Windsurf / any MCP client — add to your MCP config:

{
  "mcpServers": {
    "tempmd": {
      "command": "npx",
      "args": ["-y", "@tempmd/mcp"]
    }
  }
}

tempmd-mcp remains available as a compatibility package with the same implementation and version.

No account or API key required — temp.md is anonymous-create-first. Claim a Temp later to keep it.

The remote transport is limited to 10 MiB and 20 inline files per bundle. The stdio package uses local paths and supports the full 50 MiB / 100-file bundle.

Related MCP server: publish-artifacts-mcp

Tools

Tool

Local stdio

Remote

What it does

publish_temp

✓

✓

Publish a new artifact and get a stable public URL

update_temp

✓

✓

Push a new version behind the same URL

get_temp_status

✓

✓

Check lifecycle and restore eligibility

restore_temp

✓

✓

Bring a recently expired Temp back at the same URL

snapshot_temp

✓

✓

Freeze the current version as a fixed reference

set_comments

✓

✓

Toggle pinned visitor comments

list_temps

✓

✓

List local project records or account-owned Temps

recover_update_token

—

✓

Rotate and recover a lost scoped update token

publish_temp and update_temp accept spa_mode: true for client-routed single-page apps. Leave it off for static sites so missing assets return 404. Uploads are capped at 10 MB per file, 50 MB per bundle, and 100 files; publish and update limits are 60/hour/IP and 120/hour/Temp/IP respectively.

How credentials work

publish_temp saves a record (Temp ID, URL, update token, expiry) to a .tempmd file in the project root. Every other tool reads that file automatically, so an agent can update the same Temp across sessions without you managing tokens. Tokens can also be passed explicitly via update_token.

Add .tempmd to .gitignore if the update token shouldn't be shared with everyone who can read the repo.

Configuration

Env var

Default

Purpose

TEMPMD_API_URL

https://api.temp.md

Point at a different API (e.g. local dev http://localhost:8787)

Development

This repo mirrors the packages/mcp package from the temp.md monorepo, where development happens. Issues and feature requests are welcome here.

Semantics agents should preserve

  • The canonical URL is the only link to share — never surface version-specific links.

  • A failed update never breaks the live link; the last successful version keeps serving.

  • Prefer update_temp over publish_temp when the project already has a Temp for the artifact.

Available Tools

7 tools
get_temp_statusGet Temp statusAInspect

Check a Temp's lifecycle: active/cooling/expired, when it expires, and whether it can be restored. Reads credentials from the project's .tempmd file when omitted.

Inputs: temp_id, project_dir, update_token.

list_tempsList this project's TempsAInspect

List the Temps recorded in this project's .tempmd file (local records, no network call).

Inputs: project_dir.

publish_tempPublish a new TempAInspect

Publish an artifact (HTML, Markdown, CSV, or Mermaid) to temp.md and get a stable public URL. Use only for a NEW artifact — if this project already has a Temp for it (check .tempmd), use update_temp to keep the same link. The record is saved to .tempmd automatically.

Inputs: file (required), title, project_dir, additional_files.

restore_tempRestore an expired TempAInspect

Reactivate a recently expired Temp — the same canonical URL comes back to life. Only works within 7 days of expiry. Reads credentials from .tempmd when omitted.

Inputs: temp_id, project_dir, update_token.

set_commentsEnable or disable commentsBInspect

Toggle pinned visitor comments (Pindrop) on a Temp's page. Reads credentials from the project's .tempmd file when omitted.

Inputs: enabled (required), temp_id, project_dir, update_token.

snapshot_tempFreeze a snapshotAInspect

Freeze the current version of a Temp as a fixed reference with its own URL — for sign-offs and 'approve exactly this' moments. The canonical link keeps serving the latest version; share the snapshot URL only when exactness matters. Reads credentials from the project's .tempmd file when omitted.

Inputs: label, temp_id, project_dir, update_token.

update_tempUpdate an existing TempAInspect

Push a new version of an artifact behind the same temp.md URL — no re-sharing needed. Resets the 7-day active window. Reads temp_id and update_token from the project's .tempmd file when omitted. If the update fails, the previous version stays live.

Inputs: file (required), title, temp_id, project_dir, +2 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool targets a distinct operation: lifecycle check, local listing, publishing new, restoring expired, toggling comments, freezing snapshot, and updating existing. No functional overlap; clear boundaries.

    Naming Consistency5/5

    All tools follow the snake_case verb_noun pattern (e.g., get_temp_status, publish_temp, snapshot_temp). No deviations or mixed conventions.

    Tool Count5/5

    Seven tools cover the full lifecycle of temporary artifacts without bloat. The count feels right for the domain—neither too sparse nor excessive.

    Completeness4/5

    Core CRUD-like operations are covered (create via publish, read via get_status/list, update via update_temp, plus restore and snapshot). A delete tool is missing, but the domain may intentionally avoid deletion (temps expire naturally). Minor gap.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      F
      maintenance
      Enables publishing and updating Claude artifacts or HTML to private, access-controlled links directly from Claude.
      1
      AGPL 3.0
    • A
      license
      A
      quality
      C
      maintenance
      Publish HTML or markdown artifacts (reports, dashboards, demos) as instant shareable links with TTL expiry, social preview cards, and optional password protection. Works with the hosted service or a self-hosted instance.
      1
      27 npm
      14
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables publishing sanitized static HTML pages from an MCP agent and receiving shareable URLs, with tools for updating, listing, publishing, and deleting pages.
      12
      17 npm
      MIT