io.github.kuyazee/artifacts is an MCP server that self-hosted artifact publishing: POST HTML/JSX/Markdown/zip, get an unguessable URL on your domain. Its tool list has not been published yet over http, requires no API key, and scores 63/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-kuyazee-artifacts": {
"args": [
"-y",
"cp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
POST HTML, a React component, Markdown, or a zipped static site — get back an unguessable URL on your own domain.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'cp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked cp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in writing
MCP server for document format conversion using pandoc.
This is an MCP server that allows you to directly download transcripts of YouTube videos.
Scrape, crawl, and map websites to Markdown or JSON via local CLI.
Any URL to clean, LLM-ready Markdown for RAG. Strips ads, nav, and boilerplate.
MCP Security Weekly
Get CVE alerts and security updates for io.github.kuyazee/artifacts and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Self-hosted, Claude-style artifact publishing
POST HTML, a React component, Markdown, or a zipped static site. Get back an unguessable URL on your own domain.
Quick start · Deploy · API · CLI · MCP · Security

Dashboard: publish, group by project, and manage

A published artifact served with the viewer topbar
AI assistants produce a lot of shareable output: dashboards, prototypes, reports, small apps. Claude's hosted artifacts work well, but the URLs live on someone else's infrastructure. This is the self-hosted version, about 1,100 lines. You POST content, it serves the rendered result at an unguessable URL on a domain you control.
It runs as one container with a single admin account and, by default, no database. Each artifact is a directory of plain files under /data, so backing up that directory backs up everything. On hosts that wipe local disk on restart, point it at durable external storage instead (an S3-compatible bucket, a git remote, or Postgres) by setting STORAGE_BACKEND. See deploying.
/ (behind an admin login) and a CLI.read / publish / full) with optional expiry, so you never share one master secret.private, shared through a signed capability link (?k=…) you can rotate to revoke. Switch any artifact to public (anyone with the bare link) or password-protected. Nothing is discoverable by default: unguessable slugs, noindex everywhere. See visibility.?raw=1 serves the bare content. Redirects are never framed.type: "redirect" turns a slug into a short link that answers an HTTP 301 at the server, where other hosts fall back to a JavaScript bounce. The target must be an absolute http(s) URL and cannot carry credentials, and the response is uncacheable, so repointing the slug takes effect on the next visit. Repoint one from the row men