{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_8kkf8p4mr325","handle":"prepublish-youtube-script-qa","url":"https://wellknown.network/agents/prepublish-youtube-script-qa","links":{"self":"https://wellknown.network/agents/prepublish-youtube-script-qa/record.json","html":"https://wellknown.network/agents/prepublish-youtube-script-qa","markdown":"https://wellknown.network/agents/prepublish-youtube-script-qa/record.md","api":"https://wellknown.network/api/v1/agents/prepublish-youtube-script-qa","status":"https://wellknown.network/api/v1/agents/prepublish-youtube-script-qa/status","claim":"https://wellknown.network/agents/prepublish-youtube-script-qa/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/prepublish-youtube-script-qa/claim.json","badge":"https://wellknown.network/agents/prepublish-youtube-script-qa/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/prepublish-youtube-script-qa/history","tools":"https://wellknown.network/api/v1/agents/prepublish-youtube-script-qa/tools"},"ard":{"identifier":"urn:air:mcp.prepublish.ai:server:prepublish-youtube-script-qa","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"PrePublish - YouTube script QA","summary":"Audit a YouTube script before recording: hook, pacing, drop-off risk, copy-paste rewrites.","description":"Audit a YouTube script before recording: hook, pacing, drop-off risk, copy-paste rewrites.","publisher":{"name":"ai.prepublish","url":null},"homepage":"https://prepublish.ai/mcp-server","repository":null,"version":"1.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.prepublish.ai","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-20T10:40:06.881684Z","publishedAt":"2026-09-20T10:40:06.881684Z","registryName":"ai.prepublish/script-audit"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"code.testing","name":"Testing","confidence":0.625,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.51,"provenance":"derived"}],"categories":["code","documents"],"language":"fr"},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-10-10T09:25:24.049Z","lastProbedAt":"2026-10-10T09:25:24.049Z","statusComputedAt":"2026-10-10T09:26:11.347Z","reliability30d":{"probes":106,"successRate":1,"p50Ms":44,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":106,"ok":106,"authBoundaryOk":0,"serviceOk":106,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T09:25:24.049Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":33,"error":null,"detail":{"tools":[{"name":"audit_script","description":"Run Prepublish's full audit on a YouTube script the user has already written. Returns hook, structure and pacing scores, a script-level attention-risk map namin"},{"name":"get_audit","description":"Fetch the current state of an audit that was started earlier, using the analysis_id that audit_script returned. Use this when a previous audit was still running"},{"name":"audit_hook","description":"Score just the opening lines of a YouTube script: how much attention each sentence pulls, whether it opens a curiosity gap, how far away the payoff sits, plus t"},{"name":"check_authenticity","description":"Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to c"},{"name":"policy_preflight","description":"Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdi"},{"name":"script_runtime","description":"Convert a word count, or a pasted script, into a spoken runtime range, and convert a target runtime back into a word budget. Rates come from Prepublish's own me"}],"toolCount":6,"toolsHash":"34acd514030ba084269d110af128bde34ad6f7d563b4b0c22367f0f0efdf2fa6","serverName":"prepublish","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T03:24:58.226Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":36,"error":null,"detail":{"tools":[{"name":"audit_script","description":"Run Prepublish's full audit on a YouTube script the user has already written. Returns hook, structure and pacing scores, a script-level attention-risk map namin"},{"name":"get_audit","description":"Fetch the current state of an audit that was started earlier, using the analysis_id that audit_script returned. Use this when a previous audit was still running"},{"name":"audit_hook","description":"Score just the opening lines of a YouTube script: how much attention each sentence pulls, whether it opens a curiosity gap, how far away the payoff sits, plus t"},{"name":"check_authenticity","description":"Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to c"},{"name":"policy_preflight","description":"Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdi"},{"name":"script_runtime","description":"Convert a word count, or a pasted script, into a spoken runtime range, and convert a target runtime back into a word budget. Rates come from Prepublish's own me"}],"toolCount":6,"toolsHash":"34acd514030ba084269d110af128bde34ad6f7d563b4b0c22367f0f0efdf2fa6","serverName":"prepublish","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T20:29:11.297Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":33,"error":null,"detail":{"tools":[{"name":"audit_script","description":"Run Prepublish's full audit on a YouTube script the user has already written. Returns hook, structure and pacing scores, a script-level attention-risk map namin"},{"name":"get_audit","description":"Fetch the current state of an audit that was started earlier, using the analysis_id that audit_script returned. Use this when a previous audit was still running"},{"name":"audit_hook","description":"Score just the opening lines of a YouTube script: how much attention each sentence pulls, whether it opens a curiosity gap, how far away the payoff sits, plus t"},{"name":"check_authenticity","description":"Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to c"},{"name":"policy_preflight","description":"Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdi"},{"name":"script_runtime","description":"Convert a word count, or a pasted script, into a spoken runtime range, and convert a target runtime back into a word budget. Rates come from Prepublish's own me"}],"toolCount":6,"toolsHash":"34acd514030ba084269d110af128bde34ad6f7d563b4b0c22367f0f0efdf2fa6","serverName":"prepublish","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T13:31:29.415Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":33,"error":null,"detail":{"tools":[{"name":"audit_script","description":"Run Prepublish's full audit on a YouTube script the user has already written. Returns hook, structure and pacing scores, a script-level attention-risk map namin"},{"name":"get_audit","description":"Fetch the current state of an audit that was started earlier, using the analysis_id that audit_script returned. Use this when a previous audit was still running"},{"name":"audit_hook","description":"Score just the opening lines of a YouTube script: how much attention each sentence pulls, whether it opens a curiosity gap, how far away the payoff sits, plus t"},{"name":"check_authenticity","description":"Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to c"},{"name":"policy_preflight","description":"Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdi"},{"name":"script_runtime","description":"Convert a word count, or a pasted script, into a spoken runtime range, and convert a target runtime back into a word budget. Rates come from Prepublish's own me"}],"toolCount":6,"toolsHash":"34acd514030ba084269d110af128bde34ad6f7d563b4b0c22367f0f0efdf2fa6","serverName":"prepublish","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:24:43.678Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":34,"error":null,"detail":{"tools":[{"name":"audit_script","description":"Run Prepublish's full audit on a YouTube script the user has already written. Returns hook, structure and pacing scores, a script-level attention-risk map namin"},{"name":"get_audit","description":"Fetch the current state of an audit that was started earlier, using the analysis_id that audit_script returned. Use this when a previous audit was still running"},{"name":"audit_hook","description":"Score just the opening lines of a YouTube script: how much attention each sentence pulls, whether it opens a curiosity gap, how far away the payoff sits, plus t"},{"name":"check_authenticity","description":"Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to c"},{"name":"policy_preflight","description":"Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdi"},{"name":"script_runtime","description":"Convert a word count, or a pasted script, into a spoken runtime range, and convert a target runtime back into a word budget. Rates come from Prepublish's own me"}],"toolCount":6,"toolsHash":"34acd514030ba084269d110af128bde34ad6f7d563b4b0c22367f0f0efdf2fa6","serverName":"prepublish","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T00:25:13.567Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":36,"error":null,"detail":{"tools":[{"name":"audit_script","description":"Run Prepublish's full audit on a YouTube script the user has already written. Returns hook, structure and pacing scores, a script-level attention-risk map namin"},{"name":"get_audit","description":"Fetch the current state of an audit that was started earlier, using the analysis_id that audit_script returned. Use this when a previous audit was still running"},{"name":"audit_hook","description":"Score just the opening lines of a YouTube script: how much attention each sentence pulls, whether it opens a curiosity gap, how far away the payoff sits, plus t"},{"name":"check_authenticity","description":"Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to c"},{"name":"policy_preflight","description":"Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdi"},{"name":"script_runtime","description":"Convert a word count, or a pasted script, into a spoken runtime range, and convert a target runtime back into a word budget. Rates come from Prepublish's own me"}],"toolCount":6,"toolsHash":"34acd514030ba084269d110af128bde34ad6f7d563b4b0c22367f0f0efdf2fa6","serverName":"prepublish","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T17:28:49.736Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":146,"error":null,"detail":{"tools":[{"name":"audit_script","description":"Run Prepublish's full audit on a YouTube script the user has already written. Returns hook, structure and pacing scores, a script-level attention-risk map namin"},{"name":"get_audit","description":"Fetch the current state of an audit that was started earlier, using the analysis_id that audit_script returned. Use this when a previous audit was still running"},{"name":"audit_hook","description":"Score just the opening lines of a YouTube script: how much attention each sentence pulls, whether it opens a curiosity gap, how far away the payoff sits, plus t"},{"name":"check_authenticity","description":"Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to c"},{"name":"policy_preflight","description":"Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdi"},{"name":"script_runtime","description":"Convert a word count, or a pasted script, into a spoken runtime range, and convert a target runtime back into a word budget. Rates come from Prepublish's own me"}],"toolCount":6,"toolsHash":"34acd514030ba084269d110af128bde34ad6f7d563b4b0c22367f0f0efdf2fa6","serverName":"prepublish","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T11:23:08.157Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":41,"error":null,"detail":{"tools":[{"name":"audit_script","description":"Run Prepublish's full audit on a YouTube script the user has already written. Returns hook, structure and pacing scores, a script-level attention-risk map namin"},{"name":"get_audit","description":"Fetch the current state of an audit that was started earlier, using the analysis_id that audit_script returned. Use this when a previous audit was still running"},{"name":"audit_hook","description":"Score just the opening lines of a YouTube script: how much attention each sentence pulls, whether it opens a curiosity gap, how far away the payoff sits, plus t"},{"name":"check_authenticity","description":"Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to c"},{"name":"policy_preflight","description":"Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdi"},{"name":"script_runtime","description":"Convert a word count, or a pasted script, into a spoken runtime range, and convert a target runtime back into a word budget. Rates come from Prepublish's own me"}],"toolCount":6,"toolsHash":"34acd514030ba084269d110af128bde34ad6f7d563b4b0c22367f0f0efdf2fa6","serverName":"prepublish","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T04:26:45.703Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":63,"error":null,"detail":{"tools":[{"name":"audit_script","description":"Run Prepublish's full audit on a YouTube script the user has already written. Returns hook, structure and pacing scores, a script-level attention-risk map namin"},{"name":"get_audit","description":"Fetch the current state of an audit that was started earlier, using the analysis_id that audit_script returned. Use this when a previous audit was still running"},{"name":"audit_hook","description":"Score just the opening lines of a YouTube script: how much attention each sentence pulls, whether it opens a curiosity gap, how far away the payoff sits, plus t"},{"name":"check_authenticity","description":"Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to c"},{"name":"policy_preflight","description":"Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdi"},{"name":"script_runtime","description":"Convert a word count, or a pasted script, into a spoken runtime range, and convert a target runtime back into a word budget. Rates come from Prepublish's own me"}],"toolCount":6,"toolsHash":"34acd514030ba084269d110af128bde34ad6f7d563b4b0c22367f0f0efdf2fa6","serverName":"prepublish","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T22:24:29.564Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":36,"error":null,"detail":{"tools":[{"name":"audit_script","description":"Run Prepublish's full audit on a YouTube script the user has already written. Returns hook, structure and pacing scores, a script-level attention-risk map namin"},{"name":"get_audit","description":"Fetch the current state of an audit that was started earlier, using the analysis_id that audit_script returned. Use this when a previous audit was still running"},{"name":"audit_hook","description":"Score just the opening lines of a YouTube script: how much attention each sentence pulls, whether it opens a curiosity gap, how far away the payoff sits, plus t"},{"name":"check_authenticity","description":"Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to c"},{"name":"policy_preflight","description":"Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdi"},{"name":"script_runtime","description":"Convert a word count, or a pasted script, into a spoken runtime range, and convert a target runtime back into a word budget. Rates come from Prepublish's own me"}],"toolCount":6,"toolsHash":"34acd514030ba084269d110af128bde34ad6f7d563b4b0c22367f0f0efdf2fa6","serverName":"prepublish","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"audit_script","description":"Run Prepublish's full audit on a YouTube script the user has already written. Returns hook, structure and pacing scores, a script-level attention-risk map namin"},{"name":"get_audit","description":"Fetch the current state of an audit that was started earlier, using the analysis_id that audit_script returned. Use this when a previous audit was still running"},{"name":"audit_hook","description":"Score just the opening lines of a YouTube script: how much attention each sentence pulls, whether it opens a curiosity gap, how far away the payoff sits, plus t"},{"name":"check_authenticity","description":"Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to c"},{"name":"policy_preflight","description":"Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdi"},{"name":"script_runtime","description":"Convert a word count, or a pasted script, into a spoken runtime range, and convert a target runtime back into a word budget. Rates come from Prepublish's own me"}],"package":null,"toolSurface":{"id":"ts_44w5nachk3au","endpointId":"ep_sz43b6zddg67","hash":"34acd514030ba084269d110af128bde34ad6f7d563b4b0c22367f0f0efdf2fa6","toolCount":6,"serverName":"prepublish","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-02T20:28:18.126Z","lastSeenAt":"2026-10-10T09:25:24.041Z","observations":29,"toolNames":["audit_script","get_audit","audit_hook","check_authenticity","policy_preflight","script_runtime"],"distinctSurfaces":7},"endpointFacts":[{"id":"ep_sz43b6zddg67","url":"https://mcp.prepublish.ai","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T20:29:11.324Z","auth":{"observedAt":"2026-10-09T20:29:11.788Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T20:29:11.886Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.prepublish.ai","issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validFrom":"2026-09-10T10:33:18.000Z","validTo":"2026-12-09T10:33:17.000Z","daysToExpiry":59,"sanCount":1,"fingerprint256":"F4:4A:CD:61:F7:83:1C:DF:2D:85:27:38:F7:74:C1:8B:01:12:51:FC:E4:55:B2:03:4A:CB:72:D8:E2:88:49:36"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"ai.prepublish/script-audit","url":"https://registry.modelcontextprotocol.io/v0/servers/ai.prepublish%2Fscript-audit","firstSeenAt":"2026-09-11T12:20:38.062Z","fetchedAt":"2026-10-08T23:18:55.538Z","normalizedAt":"2026-10-08T23:18:55.538Z"}]},"firstSeenAt":"2026-09-11T12:20:38.062Z","updatedAt":"2026-10-10T09:27:15.734Z"}