{
  "schemaVersion": "0.2.5",
  "name": "tocho",
  "displayName": "Tocho — AI Citation Scoring",
  "description": "Score and optimize how AI assistants cite your content. Stateless REST + MCP. Calibrated against 31K+ real citation observations across Gemini, Perplexity, ChatGPT. One unified multilingual model — EN/PT/ES/FR — with measured per-locality nuance across the Americas. Honest 5-fold cross-validated AUC: gemini 0.98 / perplexity 0.96 / chatgpt 0.83.",
  "version": "1.0.0",
  "url": "https://www.tocho.dev",
  "documentationUrl": "https://www.tocho.dev/agents",
  "provider": {
    "name": "Tocho",
    "url": "https://www.tocho.dev",
    "contact": "support@tocho.dev"
  },
  "endpoints": {
    "rest": {
      "baseUrl": "https://www.tocho.dev/api/agents/v1",
      "openapi": "https://www.tocho.dev/.well-known/openapi.json"
    },
    "mcp": {
      "manifest": "https://www.tocho.dev/.well-known/mcp.json",
      "package": "@tocho/mcp-server",
      "transports": ["stdio"]
    }
  },
  "authentication": {
    "schemes": ["bearer", "x402"],
    "bearer": {
      "header": "Authorization",
      "format": "Bearer tocho_<key>",
      "issueUrl": "https://www.tocho.dev/dashboard/api-keys"
    },
    "x402": {
      "facilitator": "https://x402.org/facilitator",
      "asset": "USDC",
      "network": "base"
    }
  },
  "capabilities": {
    "score": {
      "description": "Score URL or content for AI citability (0–100 tScore + per-dimension breakdown + per-model citation probability)",
      "endpoint": "POST /api/agents/v1/score",
      "cost_credits": 0,
      "idempotent": true
    },
    "scoreBatch": {
      "description": "Score up to 100 URLs in one call. Concurrency=8 internally.",
      "endpoint": "POST /api/agents/v1/score/batch",
      "cost_credits": 0,
      "idempotent": true
    },
    "checkCitation": {
      "description": "Test whether a URL is cited for a query by gemini, chatgpt, or perplexity",
      "endpoint": "POST /api/agents/v1/check-citation",
      "cost_credits": 1,
      "idempotent": true
    },
    "optimize": {
      "description": "Rewrite content for AI citation. Async — returns 202 with job_id; webhook on completion.",
      "endpoint": "POST /api/agents/v1/optimize",
      "cost_credits": 1,
      "async": true
    },
    "domainInsights": {
      "description": "Per-AI historical citation rate for a domain — fast lookup, no content fetch. Returns gold/cold zone classification + fallback global rates.",
      "endpoint": "GET /api/agents/v1/domain-insights?domain={hostname}",
      "cost_credits": 0,
      "cached_seconds": 300
    },
    "perLocalityRates": {
      "description": "Per-(AI, locality) citation rate table for market-targeting decisions. Same numbers as /methodology, machine-readable.",
      "endpoint": "GET /api/agents/v1/per-locality-rates",
      "cost_credits": 0,
      "cached_seconds": 300
    },
    "domainInsightsCohort": {
      "description": "Cohort intelligence — pre-computed AI dominance, gap-vs-global, under/over-exposed AIs, gold/cold zones, recommended-next-move sentence. Saves N calls + client-side aggregation.",
      "endpoint": "POST /api/agents/v1/domain-insights/cohort",
      "cost_credits": 0,
      "cached_seconds": 300
    },
    "proofVerify": {
      "description": "Verify a Tocho-issued ed25519 score receipt against the published public key. Public, no auth.",
      "endpoint": "POST /api/proof/verify",
      "cost_credits": 0
    }
  },
  "skills": [
    {
      "id": "score-url",
      "name": "Score a URL for AI citability",
      "description": "Given any web URL, return a tScore (0–100) plus per-dimension breakdown plus per-model citation probability for Gemini, Perplexity, ChatGPT",
      "tags": ["seo", "geo", "ai-citations", "content-quality"]
    },
    {
      "id": "test-citation",
      "name": "Test if a URL is cited by AI for a query",
      "description": "Run a real-time citation probe against gemini/chatgpt/perplexity for a given query and return whether the URL is cited",
      "tags": ["ai-citations", "citation-testing"]
    },
    {
      "id": "optimize-content",
      "name": "Rewrite content for higher AI citability",
      "description": "Take a URL or content body and return an optimized rewrite calibrated to maximize citation probability across AI models",
      "tags": ["content-optimization", "rewriting", "geo"]
    },
    {
      "id": "domain-insights",
      "name": "Look up per-AI citation history for a domain",
      "description": "Returns the per-AI observed citation rate, gold/cold zone classification, locality, and fallback global rates for cold-start guidance. Free, cached.",
      "tags": ["ai-citations", "domain-history", "competitive-intel"]
    },
    {
      "id": "per-locality-rates",
      "name": "Get per-(AI, locality) citation rate table",
      "description": "Returns the cite rate per AI per Americas locality (BR/AR/MX/CO/CL/PE/CA/US/etc.) for market-targeting decisions",
      "tags": ["ai-citations", "i18n", "market-research"]
    },
    {
      "id": "domain-insights-cohort",
      "name": "Aggregate per-AI history across a domain set",
      "description": "Cohort intelligence — pre-computed AI dominance, gap-vs-global, under/over-exposed AIs, gold/cold zones, recommended-next-move sentence",
      "tags": ["ai-citations", "competitive-intel", "domain-history"]
    },
    {
      "id": "proof-verify",
      "name": "Verify an ed25519 score receipt",
      "description": "Validate a Tocho-issued provenance proof against the published public key — prove a score was issued without trusting the caller",
      "tags": ["proof", "receipts", "ed25519"]
    }
  ],
  "guarantees": {
    "stateless": true,
    "idempotent": true,
    "asyncForLongOps": true,
    "perKeyRateLimits": true,
    "webhooks": ["optimize.completed", "optimize.failed"]
  },
  "languages": ["en", "pt", "es", "fr"],
  "tags": ["ai-citations", "geo", "seo", "agent-api", "mcp", "x402"]
}
