{
  "markdown": "# artifyde-mcp\n\n**A permanent home for your agent's HTML artifacts — over MCP.**\n\nYour agent turns out real, finished work as rendered HTML: dashboards, prototypes, reports, decks. Normally those are disposable — a localhost link that dies, a file in a folder, gone on the next run. This [Model Context Protocol](https://modelcontextprotocol.io) server gives each one a permanent home on [Artifyde](https://artifyde.com): a stable link anyone can open, share, mark up, and version on every re-publish — without your agent leaving its MCP host.\n\nIt wraps the Artifyde API, so any MCP-capable client (Claude Desktop, Claude Code, Cursor, and others) can publish and manage artifacts directly.\n\n## Install\n\nThe server runs over stdio and is launched with `npx`, so there's nothing to install globally. Add it to your MCP host's config.\n\n### Claude Code\n\n```bash\nclaude mcp add artifyde --scope user -e ARTIFYDE_TOKEN=vk_your_login_token -- npx -y artifyde-mcp\n```\n\nIf you already use the `artifyde` CLI, pull the token straight from its store instead of pasting it:\n\n```bash\nclaude mcp add artifyde --scope user \\\n  -e ARTIFYDE_TOKEN=\"$(jq -r '.servers[\"https://artifyde.com\"].token' ~/.config/artifyde/config.json)\" \\\n  -- npx -y artifyde-mcp\n```\n\n`--scope user` makes it available in every project; drop it to add for the current project only. Restart Claude Code (or run `/mcp`) to see the tools.\n\n### Claude Desktop\n\nInstall the one-click bundle: download `artifyde-mcp.mcpb` from the [latest release](https://github.com/kennethkoontz/artifyde-mcp/releases/latest) and open it (Settings → Extensions), then paste your token in the extension's settings. Or add the JSON block below to `claude_desktop_config.json`.\n\n### OpenAI Codex\n\n```bash\ncodex mcp add artifyde --env ARTIFYDE_TOKEN=vk_your_login_token -- npx -y artifyde-mcp\n```\n\nOr in `~/.codex/config.toml` (shared by the Codex CLI and IDE extension):\n\n```toml\n[mcp_servers.artifyde]\ncommand = \"npx\"\nargs = [\"-y\", \"artifyde-mcp\"]\n\n[mcp_servers.artifyde.env]\nARTIFYDE_TOKEN = \"vk_your_login_token\"\n```\n\n### Cursor / other MCP hosts\n\nAny host that takes an `mcpServers` JSON block:\n\n```json\n{\n  \"mcpServers\": {\n    \"artifyde\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"artifyde-mcp\"],\n      \"env\": {\n        \"ARTIFYDE_TOKEN\": \"vk_your_login_token\"\n      }\n    }\n  }\n}\n```\n\n## Authentication\n\nSet one credential in `env`:\n\n- **`ARTIFYDE_TOKEN`** — a per-user login token (`vk_…`). Get one by installing the CLI (`npm i -g artifyde-cli`), running `artifyde login`, and copying the token from `~/.config/artifyde/config.json`. This is the recommended option: the server acts as **you**.\n- **`ARTIFYDE_API_KEY`** — an admin shared-owner key (for programmatic/agent identities on self-hosted instances). A bearer token wins if both are set.\n\nWithout a credential the server still starts and can read **public** pages; publishing and private access require one.\n\nBy default the server talks to the hosted instance at `https://artifyde.com`. Point it elsewhere (e.g. a self-hosted or preview instance) with **`ARTIFYDE_URL`**.\n\n## Tools\n\n| Tool | What it does |\n| --- | --- |\n| `push_artifact` | Publish HTML → a stable view URL. Re-push to a `page_id` to add a version. |\n| `pull_artifact` | Download a version's byte-exact HTML. |\n| `get_page` | Page metadata + version history. |\n| `list_pages` | Your pages, with version/comment counts (filter by archived / query). |\n| `rename_page` | Set a page's display title. |\n| `archive_page` / `unarchive_page` | Hide/restore a page (read-only when archived). |\n| `get_share` | A page's visibility + invited-email list. |\n| `set_visibility` | Make a page `public` or `private`. |\n| `share_page` / `unshare_page` | Invite / revoke an email on a private page. |\n| `list_comments` | Read a page's comment threads. |\n| `create_comment` | Post a comment (or reply) on a version. |\n| `list_shelves` / `create_shelf` | Manage gallery groupings. |\n| `add_page_to_shelf` / `remove_page_from_shelf` | Organize pages onto shelves. |\n| `whoami` | The identity the server is authenticated as. |\n\nEvery tool is annotated with `readOnlyHint`/`destructiveHint`/`idempotentHint` so hosts can gate confirmations appropriately.\n\n## Privacy\n\nThis server is a thin client for the Artifyde API: the only data it transmits is what you ask it to (the HTML you publish, page ids, comment text, share emails), sent over HTTPS to the Artifyde server you configure (`https://artifyde.com` by default). Your token is read from the environment (or the Claude Desktop extension's config) and used solely to authenticate those API calls; nothing is logged or sent anywhere else. See the [Artifyde privacy policy](https://artifyde.com/privacy) for how the hosted service handles your data.\n\n## Development\n\n```bash\nbun install\nbun test              # unit tests (Bun's built-in runner)\nbun run typecheck     # tsc --noEmit\nbun run start         # run from source over stdio\nbun run bundle        # build the Claude Desktop .mcpb bundle\n```\n\nThe Artifyde API client under `src/core/` is vendored from the (private) Artifyde monorepo's `@artifyde/core` package; the API surface it wraps is the server's stable `/v1` contract.\n\nSee [`PUBLISHING.md`](./PUBLISHING.md) for the release + marketplace-listing runbook.\n\n## Support\n\nIssues and questions: [github.com/kennethkoontz/artifyde-mcp/issues](https://github.com/kennethkoontz/artifyde-mcp/issues)\n",
  "bytes": 5412,
  "sha": "e5970aedf033731b7a465429e16ae0548281052487c44d14d109466655bfced6",
  "repo_slug": "kennethkoontz/artifyde-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_artifyde_artifyde_mcp_513d2fbe/readme"
}