# Aune Remote MCP Quickstart

Endpoint: https://www.aune.ai/mcp

Contract: `aune_mcp_v2`
Protocol: `2025-06-18`

## Tool Order

1. `check_aune_fit`
2. `get_aune_capabilities`
3. `search_home_service_booking_options`
4. `confirm_home_service_booking`
5. `get_booking_status`
6. `draft_home_service_request` (fallback)
7. `create_home_service_request` (fallback)
8. `get_request_status`
9. `get_aune_handoff_examples`
10. `get_embed_install_instructions`

## Initialize

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-06-18",
    "capabilities": {},
    "clientInfo": {
      "name": "external-agent",
      "version": "1.0.0"
    }
  }
}
```

## Check Fit

```json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "check_aune_fit",
    "arguments": {
      "user_request": "I live in Stockholm and need a plumber for a leaking kitchen faucet next week."
    }
  }
}
```

## Search Booking Options Without PII

```json
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "search_home_service_booking_options",
    "arguments": {
      "spec_version": "public_bookings_api_v1",
      "vertical_id": "moving",
      "job_type_id": "moving_home",
      "description": "Home move tomorrow afternoon from postcode 111 20 to 118 20. The apartment is 45 sqm with about 25 boxes, a sofa, and a bed. Both addresses have elevators.",
      "location": {
        "country_code": "SE",
        "postcode": "111 20",
        "city": "Stockholm"
      },
      "destination_location": {
        "country_code": "SE",
        "postcode": "118 20",
        "city": "Stockholm"
      },
      "timing": {
        "preferred_time_text": "Tomorrow afternoon"
      },
      "details": {
        "home_size_sqm": 45,
        "boxes": 25,
        "elevator_origin": true,
        "elevator_destination": true
      },
      "locale": "sv-SE",
      "timezone": "Europe/Stockholm"
    }
  }
}
```

Present only returned options. After the user selects one, collect consent and exact terms acceptance, then call `confirm_home_service_booking` with the unchanged option ID and an idempotency key. A successful confirmation is authoritative only when all confirmation signals are true.

## Draft Before Create

```json
{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "draft_home_service_request",
    "arguments": {
      "spec_version": "public_requests_api_v1",
      "vertical_id": "vvs",
      "job_type_id": "leak_faucet_fixture",
      "description": "Kitchen faucet leaks when used. Customer wants help next week.",
      "user_consent_confirmed": false,
      "user_consent_statement": "The customer agreed that Aune may receive their contact details and request details for provider follow-up.",
      "consent_source": "external_model_conversation",
      "customer": {
        "name": "Anna Andersson",
        "phone": "0701234567",
        "email": "anna@example.se"
      },
      "location": {
        "input": "Storgatan 12, 118 61 Stockholm"
      },
      "timing": {
        "preferred_time_text": "Next Friday morning"
      },
      "budget_sek": 4500,
      "details": {
        "fixture": "kitchen faucet"
      },
      "source": "external_model",
      "external_reference": "partner-case-123",
      "idempotency_key": "partner-case-123",
      "locale": "sv-SE",
      "timezone": "Europe/Stockholm"
    }
  }
}
```

## Create After Consent

Use `create_home_service_request` only after the user consents to sending their contact details to Aune. The create payload must include `user_consent_confirmed: true`; missing or false consent is rejected. Production calls require `Authorization: Bearer <AUNE_PUBLIC_REQUESTS_API_TOKEN>` or `X-Aune-Requests-Token`.

The fallback create result still means request captured only. Respond with `safe_next_step`.

## Docs

- Use Aune: https://www.aune.ai/ai/use-aune.md
- Lifecycle: https://www.aune.ai/ai/request-lifecycle.md
- Examples: https://www.aune.ai/ai/examples.md
