> ## Documentation Index
> Fetch the complete documentation index at: https://docs.htmldrop.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Publishing from AI agents

> One MCP server, OAuth in the browser, no API keys to paste. Connect once, then publishing is just asking.

htmldrop runs a hosted [MCP](https://modelcontextprotocol.io) server at
`https://htmldrop.app/mcp`. Any MCP-capable assistant can connect to it and
publish on your behalf — you approve once in the browser, and no keys are ever
pasted into a chat.

## The fastest setup

Paste this into your agent and it will configure itself from our machine-readable
instructions:

```
Fetch and execute the appropriate instructions to set me up for htmldrop from https://htmldrop.app/for-agents
```

Or follow a per-client guide: [ChatGPT](/agents/chatgpt) ·
[Claude](/agents/claude) · [Claude Code](/agents/claude-code) ·
[Codex](/agents/codex) · [Cursor and Cline](/agents/cursor-and-cline) ·
[CLI](/agents/cli) · [CI and headless](/agents/ci-and-headless).

## What the agent can do

| Tool               | What it does                                                                               |
| ------------------ | ------------------------------------------------------------------------------------------ |
| `htmldrop_publish` | Publishes HTML or Markdown and returns the live URL. Optional `slug`, `title`, `password`. |
| `htmldrop_list`    | Lists the drops on the account.                                                            |
| `htmldrop_delete`  | Deletes a drop by id.                                                                      |

Publishing to an existing slug updates that drop and keeps the URL, so "update my
portfolio and republish" works the way you would hope.

## How authentication works

The remote server is OAuth-first. On the first tool call your browser opens, you
approve, and the client stores and refreshes tokens itself. Nothing to copy, and
you can revoke access at any time from the dashboard.

For environments with no browser — CI, containers, cron — use an API token
instead. See [CI and headless](/agents/ci-and-headless).

<Warning>
  The npm packages are **scoped**: `@htmldrop.app/mcp` and `@htmldrop.app/cli`. The
  unscoped `htmldrop` package is an unrelated third-party project. If an assistant
  suggests `npx htmldrop`, correct it.
</Warning>
