Skip to main content

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.

A single API call returns all 11 installation artifacts needed to make your site fully discoverable by humans, browsers, LLMs, and AI agents.
The install package can be deployed via Google Tag Manager without touching your site’s codebase — no developer required. Add one GTM tag for the widget script and your site is live. This is a key commercial argument for agencies and their clients.

Quick Start

1. Fetch your install package

curl "https://api.animam.ai/tenants/your-slug/install-package?domain=example.com" \
  -H "Authorization: Bearer ak_your_token"

2. Apply each item

Each item in the response tells you exactly what to do:
  • action: "create" → create the file at the target path
  • action: "append" → append the content to an existing file
  • target → file path or HTML location (<head>, <body>, etc.)

3. Verify

# Check agent.json
curl https://example.com/.well-known/agent.json

# Check llms.txt
curl https://example.com/llms.txt

# Check robots.txt additions
curl https://example.com/robots.txt

Endpoint

GET /tenants/{slug}/install-package?domain={domain}
Required scope: settings:read
ParameterTypeDescription
slugstringYour tenant slug
domainstringYour site domain (used to generate correct URLs)

Response Structure

{
  "items": [...],
  "agentInstructions": "Step-by-step guide for AI agents performing the install",
  "meta": {
    "total": 11,
    "required": 4,
    "optional": 7
  }
}
Each item has:
FieldDescription
idItem identifier (e.g. widget, agent_card)
priorityInstall priority (1 = highest)
actioncreate or append
targetFile path or HTML location
contentThe actual content to install
notesFramework-specific instructions

Installation Items (Priority Order)

1. widget

Priority: 1 · Action: append · Target: <body> The chat widget script tag. Place just before </body>.
<script
  src="https://cdn.animam.ai/widget.js"
  data-tenant="your-slug"
  async
></script>
Framework notes:
  • Next.js App Router: Add in app/layout.tsx using next/script with strategy="afterInteractive"
  • Next.js Pages Router: Add in pages/_document.tsx inside <body>
  • Nuxt: Add in nuxt.config.ts under app.head.script
  • WordPress: Use a plugin like “Insert Headers and Footers” or add to footer.php
  • Static HTML: Paste before </body> in your HTML file

2. meta_tags

Priority: 2 · Action: append · Target: <head> AI agent meta tags that signal your site has an active AI assistant.
<meta name="ai-agent" content="animam" />
<meta name="llm-context" content="https://example.com/llms.txt" />
<link rel="llm-feed" type="application/json" href="https://example.com/.well-known/llmfeed.json" />
Framework notes:
  • Next.js App Router: Export a metadata object from app/layout.tsx
  • Next.js Pages Router: Use <Head> from next/head in _app.tsx
  • Nuxt: Add in nuxt.config.ts under app.head.meta
  • WordPress: Add via wp_head hook in functions.php

3. webmcp

Priority: 3 · Action: append · Target: <head> WebMCP script for Chrome 146+ AI agents. Enables direct browser-side MCP tool discovery.
<script
  src="https://cdn.animam.ai/webmcp.js"
  data-mcp-url="https://mcp.animam.ai/tenants/your-slug"
  async
></script>
WebMCP is only active in browsers that support the AI APIs (Chrome 146+). It degrades gracefully in other browsers.

4. agent_card

Priority: 4 · Action: create · Target: .well-known/agent.json Google A2A protocol agent card. Makes your agent discoverable to other AI agents.
{
  "name": "Your Agent Name",
  "description": "...",
  "url": "https://api.animam.ai/tenants/your-slug/chat",
  "version": "1.0.0",
  "capabilities": ["chat", "tools"],
  "authentication": {
    "type": "bearer"
  }
}
Framework notes:
  • Next.js: Create app/.well-known/agent.json/route.ts returning JSON, or add to public/.well-known/agent.json
  • Nuxt / Static: Place at public/.well-known/agent.json
  • WordPress: Add a rewrite rule pointing /.well-known/agent.json to a static file

5. llmfeed

Priority: 5 · Action: create · Target: .well-known/llmfeed.json Machine-readable capabilities manifest. Describes what your agent can do to other LLMs and AI orchestrators. Framework notes: Same as agent_card — place at public/.well-known/llmfeed.json or serve via a route handler.

6. mcp_discovery

Priority: 6 · Action: create · Target: .well-known/mcp.json MCP server discovery file. Points MCP clients to your tenant’s MCP endpoint.
{
  "mcpServers": {
    "animam": {
      "url": "https://mcp.animam.ai/tenants/your-slug",
      "transport": "sse"
    }
  }
}

7. llms_txt

Priority: 7 · Action: create · Target: /llms.txt Human and LLM readable manifest of your site’s AI capabilities. Follows the emerging llms.txt standard. Framework notes:
  • Next.js / Nuxt: Place in public/llms.txt
  • WordPress: Place in the site root or use a plugin to serve it

8. robots_txt

Priority: 8 · Action: append · Target: /robots.txt Lines to append to your existing robots.txt to guide AI crawlers.
# AI Agent Discovery
Allow: /.well-known/agent.json
Allow: /.well-known/llmfeed.json
Allow: /.well-known/mcp.json
Allow: /llms.txt
This item uses action: "append" — do not replace your existing robots.txt, only add these lines at the end.

9. jsonld

Priority: 9 · Action: append · Target: <head> JSON-LD structured data (schema.org SoftwareApplication) for search engines and AI crawlers.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Your Agent Name",
  "applicationCategory": "BusinessApplication",
  "url": "https://example.com",
  "offers": {
    "@type": "Offer",
    "price": "0"
  }
}
</script>

10. qr_code

Priority: 10 · Action: create · Target: Physical display (poster, business card) QR code URLs pointing to your widget. Use these for offline materials.
{
  "standard": "https://api.animam.ai/tenants/your-slug/qr?size=300",
  "large": "https://api.animam.ai/tenants/your-slug/qr?size=600"
}

11. form_widget

Priority: 11 · Action: append · Target: <body> Standalone form widget (~5KB IIFE). Only included if your tenant has at least one SUBMIT_FORM or GENERATE_QUOTE tool configured.
<script
  src="https://cdn.animam.ai/form.js"
  data-tenant="your-slug"
  data-tool="contact-form"
  async
></script>

agentInstructions

The response includes an agentInstructions field — a step-by-step natural language guide designed for AI agents performing the installation autonomously (e.g. via an MCP tool or agentic coding assistant). It describes each file to create, each snippet to inject, and how to verify success.

Full Example

curl "https://api.animam.ai/tenants/acme-corp/install-package?domain=acme.com" \
  -H "Authorization: Bearer ak_your_token" \
  | jq '.items[] | {id, priority, action, target}'
[
  { "id": "widget",        "priority": 1,  "action": "append", "target": "<body>" },
  { "id": "meta_tags",     "priority": 2,  "action": "append", "target": "<head>" },
  { "id": "webmcp",        "priority": 3,  "action": "append", "target": "<head>" },
  { "id": "agent_card",    "priority": 4,  "action": "create", "target": ".well-known/agent.json" },
  { "id": "llmfeed",       "priority": 5,  "action": "create", "target": ".well-known/llmfeed.json" },
  { "id": "mcp_discovery", "priority": 6,  "action": "create", "target": ".well-known/mcp.json" },
  { "id": "llms_txt",      "priority": 7,  "action": "create", "target": "/llms.txt" },
  { "id": "robots_txt",    "priority": 8,  "action": "append", "target": "/robots.txt" },
  { "id": "jsonld",        "priority": 9,  "action": "append", "target": "<head>" },
  { "id": "qr_code",       "priority": 10, "action": "create", "target": "physical" },
  { "id": "form_widget",   "priority": 11, "action": "append", "target": "<body>" }
]