Tempmd

io.github.tempmdPublished by GitHub account tempmdv0.4.3Updated Nov 2, 2026

Publish artifacts to one stable public temp.md link that updates in place. No account needed.

VerifiedStreamable HTTPWeb executableFiles & StorageDeveloper Tools

Overview

AI-generated overview

Publishes agent-made HTML, Markdown, CSV or Mermaid artifacts to one stable public temp.md URL that updates in place.

What you can do
  • Publish an inline text or base64 bundle and get a canonical public URL
  • Push new versions behind the same URL, or freeze a snapshot as a fixed reference
  • Check lifecycle, expiry, restore eligibility, ownership and moderation status
  • Reactivate a recently expired Temp at the same URL during its grace period
  • Toggle pinned visitor comments on a Temp
  • List account-owned Temps and rotate a lost scoped update token
When to use it
Useful when an assistant produces a report, dashboard, HTML page or diagram that someone else should open in a browser, and the link must stay the same as the work is revised. Also handy for sharing artifacts without setting up hosting or an account.
Requirements
Works as a remote endpoint or as a local npm package run with npx. No account or API key is needed for anonymous publishing; account-owned publishing and account tools need an Authorization header with a temp.md API key. The optional TEMPMD_API_URL variable overrides the API base URL. Remote bundles are limited to 10 MiB and 20 inline files; the local package supports 50 MiB and 100 files.
Before you install
Published artifacts are public at a stable URL, so anything placed in a bundle is visible to anyone with the link. The local package writes a .tempmd file holding the Temp ID, URL, update token and expiry into the project root; that token grants update rights, so add the file to .gitignore if the repository is shared. Account tools such as listing Temps and rotating update tokens require the account API key in the Authorization header.

Installation

In SourceWeft

  1. Open Tempmd in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.tempmd%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "tempmd": {
      "type": "http",
      "url": "https://api.temp.md/mcp"
    }
  }
}

README

@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

bash
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

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

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

json
{  "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.

Tools

ToolLocal stdioRemoteWhat 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 varDefaultPurpose
TEMPMD_API_URLhttps://api.temp.mdPoint 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.

Source: README.md at commit 8cb6fab

Tools

8

publish_temp

Publish a new Temp

Publish an inline text or base64 bundle to a stable public URL. Send index.html as the main page. Repeated identical calls are idempotent. If the MCP connection uses a temp.md account API key, the Temp is owned by that account immediately.

Parametersfilesrequiredtitlespa_modeidempotency_key

update_temp

Update an existing Temp

Atomically publish a new inline bundle behind the same canonical URL. The previous Version stays live if this call fails.

Parametersfilesrequiredtitletemp_idrequiredspa_modeupdate_tokenidempotency_key

get_temp_status

Get Temp status

Inspect lifecycle, expiry, restore eligibility, ownership, moderation, and settings.

Parameterstemp_idrequiredupdate_token

restore_temp

Restore an expired Temp

Reactivate an expired Temp during its restore grace period without changing its URL.

Parameterstemp_idrequiredupdate_token

snapshot_temp

Freeze a snapshot

Create a fixed snapshot URL for the current Version while the canonical URL continues to track the latest Version.

Parameterslabeltemp_idrequiredupdate_token

set_comments

Enable or disable comments

Toggle pinned visitor feedback on a Temp.

Parametersenabledrequiredtemp_idrequiredupdate_token

list_temps

List account Temps

List Temps owned by the account API key supplied in the MCP Authorization header.

Takes no parameters.

recover_update_token

Recover a Temp update token

Rotate every prior scoped update token and return one replacement. Requires an owning account API key in the MCP Authorization header.

Parameterstemp_idrequired

Version history

1
  1. v0.4.3LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts