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