Publish HTML, Markdown, and multi-file sites as shareable URLs instantly via MCP.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get artifact metadata. Set include_content to true to also return the full HTML content.
Artifact ID or short ID
Include the full HTML content in the response (default: false)
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Get artifact metadata. Set include_content to true to also return the full HTML content.
| Argument | Type | Description |
|---|---|---|
| id* | string | Artifact ID or short ID |
| include_content | boolean | Include the full HTML content in the response (default: false) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Artifact ID or short ID"
},
"include_content": {
"type": "boolean",
"description": "Include the full HTML content in the response (default: false)"
}
}
}Publish HTML or Markdown content as a shareable URL. Pass `content` byte-for-byte from the source — do not retype, reformat, minify, summarize, or 'clean up' the input; even one stray character can break inline scripts on the published page. If the content is too large to copy verbatim through the model, use the REST endpoint `POST /v1/artifacts` (or `/v1/artifacts/upload` for ZIPs) instead. For Markdown, optionally include images as base64-encoded data.
| Argument | Type | Description |
|---|---|---|
| title | string | Artifact title (default: Untitled) |
| format* | string | Content format |
| images | array | Images referenced in the markdown content. Only used when format is 'markdown'. |
| content* | string | The HTML or Markdown content to publish. Copy this verbatim from the source file or buffer — do not modify, reformat, or regenerate it. Whitespace, emojis, comments, and exact character sequences inside <script> and <style> blocks all matter. If you cannot fit the full content unmodified in one tool call, fall back to POST /v1/artifacts via curl. |
| visibility | string | Visibility (default: unlisted) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"content",
"format"
],
"properties": {
"title": {
"type": "string",
"description": "Artifact title (default: Untitled)"
},
"format": {
"enum": [
"html",
"markdown"
],
"type": "string",
"description": "Content format"
},
"images": {
"type": "array",
"items": {
"type": "object",
"required": [
"path",
"data"
],
"properties": {
"data": {
"type": "string",
"description": "Base64-encoded image file data"
},
"path": {
"type": "string",
"description": "Relative path as referenced in the markdown (e.g., 'images/demo.png')"
}
}
},
"description": "Images referenced in the markdown content. Only used when format is 'markdown'."
},
"content": {
"type": "string",
"description": "The HTML or Markdown content to publish. Copy this verbatim from the source file or buffer — do not modify, reformat, or regenerate it. Whitespace, emojis, comments, and exact character sequences inside <script> and <style> blocks all matter. If you cannot fit the full content unmodified in one tool call, fall back to POST /v1/artifacts via curl."
},
"visibility": {
"enum": [
"public",
"unlisted"
],
"type": "string",
"description": "Visibility (default: unlisted)"
}
}
}Publish a multi-file HTML site from a base64-encoded ZIP file. The ZIP must contain an index.html at its root. For sites larger than ~10MB — or whenever you have the file on disk — prefer the REST API /v1/artifacts/upload endpoint to avoid base64 overhead and to guarantee byte-faithful upload.
| Argument | Type | Description |
|---|---|---|
| title | string | Site title (default: Untitled) |
| visibility | string | Visibility (default: unlisted) |
| zip_base64* | string | Base64-encoded ZIP file containing the site files |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"zip_base64"
],
"properties": {
"title": {
"type": "string",
"description": "Site title (default: Untitled)"
},
"visibility": {
"enum": [
"public",
"unlisted"
],
"type": "string",
"description": "Visibility (default: unlisted)"
},
"zip_base64": {
"type": "string",
"description": "Base64-encoded ZIP file containing the site files"
}
}
}List version history of an artifact
| Argument | Type | Description |
|---|---|---|
| id* | string | Artifact ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Artifact ID"
}
}
}