mcp

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

Should I use this

Quality & Safety

A
Description quality
90%
Schema completeness
83%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'restore_temp' description lacks action verbin restore_temp
  • LOWTool 'set_comments' description lacks action verbin set_comments

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,272Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (0.99% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

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

Runnable packages

npm@tempmd/mcp0.4.3stdio

Remote endpoints

https://api.temp.md/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡publish_temp(files, title, spa_mode, idempotency_key)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "files": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "description": "Safe relative bundle path. The main page should be index.html."
          },
          "content": {
            "type": "string",
            "description": "UTF-8 text by default, or base64 when encoding is base64."
          },
          "content_type": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "encoding": {
            "default": "utf8",
            "type": "string",
            "enum": [
              "utf8",
              "base64"
            ]
          }
        },
        "required": [
          "path",
          "content"
        ]
      }
    },
    "title": {
      "type": "string",
      "maxLength": 120
    },
    "spa_mode": {
      "type": "boolean"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    }
  },
  "required": [
    "files"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴update_temp(temp_id, update_token, files, title, spa_mode, ...)

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

Input Schema

{
  "type": "object",
  "properties": {
    "temp_id": {
      "type": "string",
      "minLength": 1,
      "description": "The Temp ID."
    },
    "update_token": {
      "description": "Scoped Temp update token. May be omitted when the MCP Authorization header contains an account API key that owns the Temp.",
      "type": "string"
    },
    "files": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "description": "Safe relative bundle path. The main page should be index.html."
          },
          "content": {
            "type": "string",
            "description": "UTF-8 text by default, or base64 when encoding is base64."
          },
          "content_type": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "encoding": {
            "default": "utf8",
            "type": "string",
            "enum": [
              "utf8",
              "base64"
            ]
          }
        },
        "required": [
          "path",
          "content"
        ]
      }
    },
    "title": {
      "type": "string",
      "maxLength": 120
    },
    "spa_mode": {
      "type": "boolean"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    }
  },
  "required": [
    "temp_id",
    "files"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_temp_status(temp_id, update_token)

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

Input Schema

{
  "type": "object",
  "properties": {
    "temp_id": {
      "type": "string",
      "minLength": 1,
      "description": "The Temp ID."
    },
    "update_token": {
      "description": "Scoped Temp update token. May be omitted when the MCP Authorization header contains an account API key that owns the Temp.",
      "type": "string"
    }
  },
  "required": [
    "temp_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪restore_temp(temp_id, update_token)

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

Input Schema

{
  "type": "object",
  "properties": {
    "temp_id": {
      "type": "string",
      "minLength": 1,
      "description": "The Temp ID."
    },
    "update_token": {
      "description": "Scoped Temp update token. May be omitted when the MCP Authorization header contains an account API key that owns the Temp.",
      "type": "string"
    }
  },
  "required": [
    "temp_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡snapshot_temp(temp_id, update_token, label)

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

Input Schema

{
  "type": "object",
  "properties": {
    "temp_id": {
      "type": "string",
      "minLength": 1,
      "description": "The Temp ID."
    },
    "update_token": {
      "description": "Scoped Temp update token. May be omitted when the MCP Authorization header contains an account API key that owns the Temp.",
      "type": "string"
    },
    "label": {
      "type": "string",
      "maxLength": 120
    }
  },
  "required": [
    "temp_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴set_comments(temp_id, update_token, enabled)

Toggle pinned visitor feedback on a Temp.

Input Schema

{
  "type": "object",
  "properties": {
    "temp_id": {
      "type": "string",
      "minLength": 1,
      "description": "The Temp ID."
    },
    "update_token": {
      "description": "Scoped Temp update token. May be omitted when the MCP Authorization header contains an account API key that owns the Temp.",
      "type": "string"
    },
    "enabled": {
      "type": "boolean"
    }
  },
  "required": [
    "temp_id",
    "enabled"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_temps

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

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴recover_update_token(temp_id)

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

Input Schema

{
  "type": "object",
  "properties": {
    "temp_id": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "temp_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools