{
    "name": "Alice",
    "description": "AI assistant for Animam WP Test",
    "url": "https://wp-test.animam-technologies.com",
    "provider": {
        "organization": "Animam WP Test",
        "url": "https://wp-test.animam-technologies.com"
    },
    "version": "1.0",
    "capabilities": {
        "streaming": true,
        "pushNotifications": false
    },
    "skills": [
        {
            "id": "answer_faq",
            "name": "answer faq"
        },
        {
            "id": "collect_contact_info",
            "name": "collect contact info"
        }
    ],
    "defaultInputModes": [
        "text"
    ],
    "defaultOutputModes": [
        "text"
    ],
    "agentProtocol": {
        "chatEndpoint": "https://api.animam.ai/chat/animam-wp-test",
        "contextEndpoint": "https://api.animam.ai/context/animam-wp-test",
        "detection": {
            "header": "X-Agent-Model"
        },
        "escalation": {
            "type": "none"
        },
        "mcpEndpoint": "https://wp-test.animam-technologies.com/index.php?rest_route=/animam/v1/mcp",
        "mcpAuth": "bearer",
        "mcpAuthNote": "Per-tenant shared secret. Direct anonymous calls are rejected; the site is agent-actionable through the Animam chat backend at https://api.animam.ai/chat/animam-wp-test (which holds the secret on behalf of visitors)."
    },
    "tools": [
        {
            "name": "wp_submit_wpforms_9",
            "description": "Submit the WordPress form \"Contact Animam Test\" (id 9) on behalf of the visitor. Goes through WPForms native pipeline so the entry, notifications and integrations behave exactly like a normal front-end submission. Capture the fields conversationally before calling."
        },
        {
            "name": "wp_search_products",
            "description": "Search WooCommerce products by free-text query, optional category, optional in-stock filter. Returns up to 20 hits with id, name, price, sale_price, stock_status, image, short description and product URL. Call this first when the visitor describes what they want to buy."
        },
        {
            "name": "wp_add_to_cart",
            "description": "Add a WooCommerce product to the visitor's chat-bound cart. Returns a cart_token (opaque) and a restore_cart_url the visitor can click to land on the real WC checkout with this cart pre-loaded. Call wp_get_cart with the token to read back what is in the cart."
        },
        {
            "name": "wp_get_cart",
            "description": "Read the contents of a chat-bound cart by token. Returns line items with quantities + computed subtotal in store currency. Use this to confirm the cart with the visitor before sending them to checkout."
        },
        {
            "name": "wp_recommend_products",
            "description": "Suggest products related to a given WooCommerce product, using the store's native cross-sells, upsells, and related products. Pass `product_id` (the product the visitor is currently looking at) and a `kind` (cross_sell, upsell, related; default: related). Returns up to 6 items. Use this when the visitor adds something to cart (cross_sell), is viewing a single product (upsell or related), or has signaled interest in a category."
        },
        {
            "name": "wp_list_newsletter_lists",
            "description": "List the newsletter / list segments the visitor may opt into. Returns id, name, description for each. Use this to know which lists you can pass as list_ids in wp_subscribe_newsletter. The set is curated by the WordPress admin — do not assume any list outside this list is available."
        },
        {
            "name": "wp_subscribe_newsletter",
            "description": "Subscribe a visitor to one or more newsletter lists in MailPoet. CRITICAL CONSENT REQUIREMENT: never call this tool without an explicit affirmative answer from the visitor in the chat (a clear \"yes, subscribe me\", \"oui je veux m'inscrire\", or equivalent). Before calling, you MUST: (1) state plainly that you are about to subscribe their email, (2) name the list(s), (3) wait for their explicit consent. MailPoet sends a double-opt-in confirmation email by default — that is a second checkpoint, NOT a substitute for asking."
        }
    ],
    "poweredBy": {
        "name": "Animam",
        "url": "https://animam.ai"
    }
}