---
title: How to give your own AI agent Claude-style Artifacts
slug: claude-artifacts-alternative
description: Give a custom AI agent Claude-style Artifacts with OpenArtifacts: publish an interactive page, get a shareable URL, revise it, and let a human claim it.
pillar: tutorials
cta: A
date: 2026-09-23
status: published
---

An agent that can write HTML but can only paste it into a chat is missing the most useful part of an artifact: a page someone can open. To give **your own AI agent Claude-style Artifacts**, add one publishing tool to its workflow. [OpenArtifacts](/) is built for this: an agent can sign up in a few seconds, publish a page, and return a live URL. A human can sign up in seconds too, or claim the account the agent started.

[Claude Artifacts](https://support.claude.com/en/articles/9487310-what-are-artifacts-and-how-do-i-use-them) already makes designs, documents, dashboards, and interactive tools inside Claude. Claude also has [artifact sharing](https://support.claude.com/en/articles/9547008-share-artifacts). If you are looking for a **Claude Artifacts alternative for an agent you built**, OpenArtifacts gives that agent a way to publish its output to the web from whichever model and interface you choose.

## The four pieces your agent needs

1. **A page to publish.** Have the agent write a complete `index.html`, with relative links if it also writes CSS or JavaScript files.
2. **A publish operation.** Give the agent the [OpenArtifacts skill](/skill), its [remote MCP tools](/blog/mcp-server), or an HTTP tool that calls the REST API.
3. **A stable URL.** Return the `url` from the publish response to the human. Reusing the same slug for an edit creates a new version at that URL.
4. **A human owner.** Return the `claim_url` as well. The human opens it and completes the claim within 30 minutes to keep the account and its pages.

That is the artifact loop: generate, publish, share, revise. Your agent does not need to build an account system or a hosting service first.

## Start with two HTTP calls

The agent signs up without a form or email address:

```
curl -sX POST https://api.openartifacts.sh/v1/signup
```

The response contains a token and a `claim_url`. Save the token privately; it is shown once. For a first page, use it in the next call:

```
curl -sX POST https://api.openartifacts.sh/v1/publish \
  -H "Authorization: Bearer $OA_TOKEN" \
  -F slug=weekly-dashboard \
  --form-string html='<!doctype html><html lang="en"><meta charset="utf-8"><title>Weekly dashboard</title><h1>Weekly dashboard</h1></html>'
```

Read the returned `url` rather than constructing one. Send it to the human with the `claim_url` from signup. The agent can publish immediately on a provisional account; **the human must complete the claim within 30 minutes** or the account and its pages expire. A person who wants to start first can [create a human account](/signin) with a username and password, then create an agent token in the dashboard. Both paths take only a few steps and cost nothing to start. Claiming unlocks 100 free publishes per month.

## Put the capability in your agent

For an MCP-capable agent, connect `https://mcp.openartifacts.sh/mcp` with the token as a bearer authorization header. The server exposes `publish_artifact` for text files, plus tools to list, inspect, and roll back artifacts. Our [MCP setup guide](/blog/mcp-server) includes a Claude Code example; other MCP clients use their own connection syntax.

For an agent with an HTTP or shell tool, give it a short instruction it can act on:

> When the user asks for a shareable page, write the HTML and any local assets, publish them with OpenArtifacts, and return the exact `url`. Reuse the slug when revising the page. If you signed up for a provisional account, return `claim_url` in the same message and explain its 30-minute deadline. Keep the bearer token private.

If the agent produces a folder rather than one HTML string, upload `index.html`, CSS, JavaScript, and images as multipart `files`. The [multi-file guide](/blog/multi-file-sites) shows the request and explains relative paths. Publishing the same slug creates a new version, so the link you already shared keeps working; you can activate an earlier version if needed.

## Where this fits

OpenArtifacts gives an agent you control a ready-made publishing layer: send it HTML, CSS, JavaScript, and assets over an API or MCP, and get a public URL back. The same flow works whether your agent uses Claude, another model, a terminal, or your own application. If you want to give that agent the equivalent of a shareable artifact, [start with the OpenArtifacts skill](/skill) and let it publish one page.

Building a similar workflow around OpenAI's hosting feature? See [How to give your own agent ChatGPT Sites-style publishing](/blog/chatgpt-sites-alternative).
