{
  "protocolVersion": "0.3.0",
  "name": "The Direct Index",
  "description": "Scans any business website to see whether AI agents can find, read and act on it, and ranks every business in a city. Send a message with a website address to get its report, or ask for a city leaderboard by name.",
  "url": "https://directindex.org/a2a",
  "preferredTransport": "JSONRPC",
  "supportedInterfaces": [
    {
      "url": "https://directindex.org/a2a",
      "transport": "JSONRPC",
      "protocolVersion": "0.3.0"
    }
  ],
  "version": "0.3.0",
  "provider": {
    "organization": "The Direct Index",
    "url": "https://directindex.org"
  },
  "documentationUrl": "https://directindex.org/llms-full.txt",
  "iconUrl": "https://directindex.org/badge/directindex.org.svg",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "securitySchemes": {},
  "security": [],
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "text/markdown",
    "application/json"
  ],
  "skills": [
    {
      "id": "scan-website",
      "name": "Scan a website",
      "description": "Agent-Direct Score, findings, fixes and readiness level for a business website.",
      "tags": [
        "agent-readiness",
        "seo",
        "local-business"
      ],
      "examples": [
        "Scan yourbusiness.com",
        "Is belcanto.pt ready for AI agents?"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ]
    },
    {
      "id": "city-leaderboard",
      "name": "City leaderboard",
      "description": "Businesses in a city index ranked by Agent-Direct Score.",
      "tags": [
        "city",
        "index",
        "leaderboard"
      ],
      "examples": [
        "Leaderboard for lisbon"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ]
    },
    {
      "id": "order-deep-report",
      "name": "Order the deep report",
      "description": "The paid deep report (5 EUR, one-off) for a business in a city index. It asks ChatGPT, Claude and Gemini ten questions the way people ask, and gives every answer in full with where it sent people, the nearest similar places, the fix plan with the kit, a page and a PDF. Say 'deep report', the domain and the email the report should go to. You get a checkout link for the person to pay, and an order token. Send the token later to get the status and the report.",
      "tags": [
        "deep-report",
        "paid",
        "assistants",
        "competitors"
      ],
      "examples": [
        "Order the deep report for belcanto.pt, send it to owner@belcanto.pt",
        "Status of order 46a57062e427f720dbb7569ca8bcd004"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ]
    },
    {
      "id": "find-direct-places",
      "name": "Find places to book or order directly",
      "description": "Places in a city that take a booking or an order on their own website, with the direct link for each. Also pages: /city/{slug}/direct, /direct/book, /direct/order, /direct/{want}.",
      "tags": [
        "city",
        "booking",
        "ordering",
        "direct"
      ],
      "examples": [
        "Pizza I can order directly in Lisbon",
        "Where can I book a table directly in Porto?"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ],
      "id": "what-assistants-say",
      "name": "What the assistants say about a business",
      "description": "The latest verdict per assistant and question for a business in a city index (own site, vendor, marketplace, directory, no link), the answers quoted, the questions it was named for, and one sentence on why an assistant sent people elsewhere.",
      "tags": [
        "assistants",
        "cited",
        "business"
      ],
      "examples": [
        "What do assistants say about belcanto.pt?",
        "Does ChatGPT send people to cervejariaramiro.com?"
      ]
    },
    {
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ],
      "id": "assistant-recommendations",
      "name": "What the assistants recommend in a city",
      "description": "Per question people ask, the places ChatGPT, Claude and Gemini named in a city, who named each, whether with a link to its own site, and the direct link where it exists.",
      "tags": [
        "assistants",
        "city",
        "recommendations"
      ],
      "examples": [
        "What do assistants recommend in Lisbon?",
        "Which places do assistants name for pizza delivery in Porto?"
      ]
    },
    {
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ],
      "id": "assistant-destinations",
      "name": "Where the assistants send people",
      "description": "The league table of destinations in a city or across every city: the businesses' own sites, each marketplace and directory, press and guides, with the share of answers that link each, per assistant.",
      "tags": [
        "assistants",
        "city",
        "marketplaces",
        "direct"
      ],
      "examples": [
        "Where do assistants send people in Lisbon?",
        "Which marketplace does Gemini link most in Porto?"
      ]
    },
    {
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ],
      "id": "compare-cities",
      "name": "Compare two cities",
      "description": "Two city indexes side by side: sites scanned, direct share, crawlers turned away, A or B, menus, channels, builders, vendors, assistants, month by month.",
      "tags": [
        "city",
        "compare",
        "index"
      ],
      "examples": [
        "Compare Lisbon and Porto",
        "Berlin vs Munich cafes"
      ]
    },
    {
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ],
      "id": "country-summary",
      "name": "A country's indexes",
      "description": "Every index of a country added together, with its cities, kinds and vendors.",
      "tags": [
        "country",
        "index"
      ],
      "examples": [
        "Country PT",
        "How does Germany do?",
        "List the countries"
      ]
    },
    {
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ],
      "id": "rankings",
      "name": "Rank the cities",
      "description": "Every city index of a kind ranked on direct share, crawler-open share and A-or-B share, with sample sizes and the date.",
      "tags": [
        "rankings",
        "city",
        "index"
      ],
      "examples": [
        "Rank the cities",
        "Rankings for salons"
      ]
    },
    {
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ],
      "id": "search-places",
      "name": "Search the index",
      "description": "Find businesses by name or domain, filtered by city, kind, grade, builder, vendor and finding.",
      "tags": [
        "search",
        "business",
        "index"
      ],
      "examples": [
        "Search pizza berlin",
        "Find sushi in Lisbon",
        "Search belcanto.pt"
      ]
    },
    {
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ],
      "id": "direct-record",
      "name": "The direct record of a business",
      "description": "The booking, ordering and menu links an agent should use for a business instead of a marketplace, with the vendor behind each, the date a browser verified it, hours, phone, the assistants' verdicts and the source of every fact. Say 'direct record for' and the domain.",
      "tags": [
        "direct",
        "booking",
        "ordering",
        "registry",
        "local-business"
      ],
      "examples": [
        "Direct record for belcanto.pt",
        "Record for yourbusiness.com"
      ]
    },
    {
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ],
      "id": "vendor-report",
      "name": "Vendor report",
      "description": "A booking or ordering vendor across the index: kind, role, sites, scores, action-test results, cities, examples and its terms for agents when noted. Say 'vendor report' and the vendor.",
      "tags": [
        "vendors",
        "booking",
        "ordering"
      ],
      "examples": [
        "Vendor report zenchef",
        "Vendor report for sevenrooms"
      ]
    },
    {
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "text/markdown",
        "application/json"
      ],
      "id": "city-changes",
      "name": "What changed in a city",
      "description": "The change feed of a city index: findings fixed, grades that moved, crawlers blocked or let in, direct channels gained or lost, assistants that changed their answer. Say 'changes in <city>' or 'what changed in <city> in the last 7 days'.",
      "tags": [
        "city",
        "changes",
        "history",
        "feed"
      ],
      "examples": [
        "What changed in Lisbon?",
        "Changes in porto in the last 7 days"
      ]
    }
  ]
}