{
  "service": "IPNEX",
  "what": "Cited, confidence-stamped patent intelligence over US university TTO out-licensing.",
  "license": "Patent data: Google Patents (CC BY 4.0) + USPTO (public domain). Summaries are IPNEX-authored. TTO listing content is linked, not reproduced.",
  "assistant": {
    "privacy": "Your question is not stored. Free questions are metered only by an anonymous per-day counter (an opaque cookie plus a hashed IP); no account, no query text is retained, no tracking.",
    "free_questions_per_day": 3,
    "note": "The assistant answers 3 questions/day free, metered by an anonymous cookie + hashed IP; the next question shows the paid report (HTTP 402). Query text is never stored.",
    "bot_check": "Cloudflare Turnstile: send the challenge token as 'turnstile_token'."
  },
  "access": {
    "free_tier": {
      "max_results": 25,
      "rate_limit": "120 requests / 60s"
    },
    "note": "The static SEO pages, browse index, sitemap and llms.txt are ungated. The dynamic data routes (/search, /tech/{docket} JSON, /mcp) are rate-limited and result-capped for anonymous callers; present an API key (Authorization: Bearer <key>) for higher limits and bulk access."
  },
  "endpoints": {
    "GET /": "the public landing page (HTML)",
    "POST /ask": "the grounded assistant: {\"query\": \"...\"} -> a ranked, cited answer over the corpus (results carry a relevance score + matched terms; honest-unknown when nothing matches)",
    "GET /browse": "link-per-technology index",
    "GET /sitemap.xml": "every URL for crawlers",
    "GET /search": "?institution=&status=&keyword=&min_confidence=&limit=&licensable_from_institution= (each result carries an ownership signal, a status interpretation -- in force / term-expired-public-domain / fee-lapsed; and an expiry reading -- years of exclusive term remaining and whether it is expired / expiring_soon / active_term; the response carries facet breakdowns over all matches by ownership, institution, status, status_detail, and expiry)",
    "GET /tech/{docket}": "?as_of= -- one published technology (JSON)",
    "GET /tech/{docket}.html": "the SEO page",
    "GET /tech/{docket}/schema.json": "schema.org JSON-LD",
    "GET /llms.txt": "AI-first corpus index",
    "POST /mcp": "MCP JSON-RPC 2.0 (tools: search_licensable_ip, get_technology)"
  },
  "mcp": {
    "endpoint": "POST /mcp",
    "protocol": "JSON-RPC 2.0 (MCP 2024-11-05)",
    "tools": [
      "search_licensable_ip",
      "get_technology"
    ],
    "example_call": {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/call",
      "params": {
        "name": "search_licensable_ip",
        "arguments": {
          "institution": "Wisconsin",
          "status": "Active"
        }
      }
    }
  }
}