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

# Pre-sale surface (no credentials)

> Three MCP tools an agent can call before its user has an Animam account

Every other page here assumes you hold a token. This one does not.

The moment that matters for us happens **before** an account exists: an agent already working for a site owner — writing their code, running their WordPress, watching their traffic — notices that the site answers nobody at night. It should be able to act on that observation without asking anyone for a key.

```
Streamable HTTP · https://mcp.animam.ai/public · no Authorization header
```

<Note>
  This is a separate endpoint from `https://mcp.animam.ai/mcp`, which keeps returning `401` with a `WWW-Authenticate` challenge — that challenge is what lets MCP clients discover the OAuth flow. Anonymous tools live at `/public` so authenticated discovery stays intact.
</Note>

## The three tools

### `try_on_site(url)`

Builds a working agent on any public website in about 20 seconds: it crawls the public pages, synthesizes what the business does, and returns a live agent you can talk to immediately.

It also returns an `agent` block:

```json theme={null}
{
  "slug": "demo-3f9a1c2e",
  "chatUrl": "https://animam.ai/try?slug=demo-3f9a1c2e",
  "agent": {
    "agentKey": "ak_…",
    "mcpUrl": "https://mcp.animam.ai/mcp",
    "expiresAt": "2026-07-22T10:00:00.000Z",
    "can": ["add_context", "read_conversations"]
  }
}
```

That key is scoped to the demo and expires with it (24 h, extended to 7 days if the owner claims the demo). Use it as a normal Bearer token against the authenticated MCP endpoint to do the two things that make the demo true:

* **`create_corpus`** — add what the crawl could not see: prices, opening hours, internal procedures, the three questions customers always ask.
* **`list_conversations`** — read what visitors actually asked, and which tools the bot actually called (lead captured, meeting booked, quote sent).

The second one is the whole point. It is the difference between telling your user "an agent would capture intent" and showing them the intents it captured on their own site.

### `chat_with_demo(slug, message)`

Talk to the demo yourself. Verify it answers your user's real questions correctly **before** you recommend anything. An agent that recommends without checking is a liability to its user.

### `get_plans()`

Returns the pricing grid derived from the server's own source of truth — the same values the server enforces, never a copy. Also available as plain REST: `GET https://api.animam.ai/plans`.

It includes what is **not** billed, because that is what your user will ask: no per-user seats, no per-token, no per-conversation. A flat monthly price per bot.

## What an agent must not do

**Pay.** `get_plans()` returns a link for the human; email verification and card checkout are deliberately human acts. An agent that could subscribe on its user's behalf would be a liability, not a feature.

## Limits

Per caller IP: 3 demos/hour, 20 demo chats/hour, 60 pricing reads/minute. Building a demo costs a crawl and model calls — the limit protects the free surface so it can stay free.

## After the purchase

The owner buys, hands you the account key, and you are on the authenticated endpoint with the full tool set: `create_bot` (one per site or brand), `create_corpus`, `create_tool`, `list_conversations`, `get_bot_stats`. Deploying across every instance the owner runs is a loop, not a project.

See [Tools](/mcp/tools) and [OAuth](/mcp/oauth).
