{
  "name": "prepublish",
  "title": "Prepublish: YouTube script QA",
  "version": "1.0.0",
  "description": "Audit a YouTube script before recording: hook, structure and pacing scores, the passages most likely to lose attention, an inauthentic-content check, a policy pre-flight, and words to runtime.",
  "website_url": "https://prepublish.ai/mcp-server",
  "icons": [
    {
      "src": "https://prepublish.ai/icon-192x192.png",
      "mimeType": "image/png",
      "sizes": [
        "192x192"
      ]
    }
  ],
  "transport": "streamable-http",
  "endpoint": "https://mcp.prepublish.ai",
  "endpoint_aliases": [
    "https://prepublish.ai/mcp",
    "https://mcp.prepublish.ai/mcp"
  ],
  "protocol_versions": [
    "2025-11-25",
    "2025-06-18",
    "2025-03-26",
    "2024-11-05"
  ],
  "authentication": "optional: an anonymous connection works with no account, and Authorization: Bearer pp_live_... (a Prepublish API key, created at https://prepublish.ai/dashboard) attributes each call to that account, lifts the shared anonymous daily cap, and applies that account's own plan quota",
  "tools": [
    {
      "name": "audit_script",
      "title": "Audit a YouTube script before recording"
    },
    {
      "name": "get_audit",
      "title": "Collect a Prepublish audit by id"
    },
    {
      "name": "audit_hook",
      "title": "Score the opening of a YouTube script"
    },
    {
      "name": "check_authenticity",
      "title": "Check a script for reused or inauthentic content risk"
    },
    {
      "name": "policy_preflight",
      "title": "Pre-flight a script against YouTube advertiser and monetisation policy"
    },
    {
      "name": "script_runtime",
      "title": "Convert script length to spoken runtime"
    }
  ],
  "resources": [
    "ui widget at ui://prepublish/audit-v2.html (text/html;profile=mcp-app)",
    "ui widget at ui://prepublish/audit-v1.html (text/html;profile=mcp-app)"
  ],
  "documentation": "https://prepublish.ai/mcp-server",
  "privacy": "https://prepublish.ai/privacy",
  "free_tier": {
    "ai_backed_calls_per_day": 100,
    "used_today": 3,
    "resets": "00:00 UTC",
    "calls_per_caller_per_10_minutes": 6,
    "authenticated_calls_per_caller_per_10_minutes": 30,
    "note": "script_runtime is local arithmetic and never counts against the cap. used_today counts anonymous calls only: a call authenticated with an API key is billed to that account and is not charged against this cap."
  },
  "honesty": "Text-only checks of an unrecorded script. No result measures or predicts published YouTube retention."
}