PrePublish MCP server
OfficialChecks scripts for YouTube advertiser and monetisation policy exposure, citing YouTube's own policy pages and identifying quoted passages.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PrePublish MCP serverAudit my YouTube script for attention risk and policy issues before recording"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
prepublish-mcp
Tooling around the hosted PrePublish MCP server. The server itself is not in this package. It lives in the web app and is served at https://prepublish.ai/mcp.
Path | What it is |
| The live endpoint. Streamable HTTP, stateless, anonymous-friendly |
| JSON-RPC / MCP core |
| The six tools and their descriptions |
| Daily spend cap and per-caller burst limit |
| Public documentation page |
| stdio bridge for clients that cannot use a remote server |
| Conformance suite driven by the official MCP SDK client |
| Registry entry for |
One source of truth for tools: the app. The bridge fetches its tool list from the hosted server at startup, so adding a tool needs no release here.
Why the server is hand-rolled rather than SDK-hosted
@modelcontextprotocol/sdk's StreamableHTTPServerTransport speaks Node's IncomingMessage/ServerResponse; a Next App Router route handler speaks Web Request/Response. Shimming one onto the other is more code, and more fragile code, than answering the five JSON-RPC methods a tools-only server needs. Conformance is not taken on trust: test/conformance.test.ts drives the endpoint with the official SDK client over Streamable HTTP, so the wire format is checked against the reference implementation.
Supported protocol revisions: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05. A client asking for a supported revision gets it back; anything else negotiates down to the newest we implement.
Related MCP server: Content Hooks MCP
Tools
Tool | Cost | Purpose |
| AI-backed | Full audit of a finished draft. Scores, attention-risk map, per-passage rewrites. Polls to completion, then returns the analysis and its id |
| free | Collect an audit by |
| AI-backed | Per-sentence attention pull, curiosity gap, payoff distance, grade, rewrites |
| AI-backed | Reused / templated / mass-produced content risk with quotes and remediation |
| AI-backed | YouTube advertiser and monetisation policy exposure, each category citing YouTube's own page. Quoted passages are the paid half |
| free, local | Words ↔ runtime from measured speaking rates (160 / 181 / 201 wpm across 349 videos) |
Every AI-backed response carries the same notice: the check is text-only, it maps relative attention risk inside an unrecorded script, and it does not measure or predict published YouTube retention. That sentence is repeated to the user by the model, so it is in the tool descriptions as well as the payloads.
Failures return the next action rather than a stack trace: 402 asks the user for an email, 401/403 points at the plan, 429 says the allowance is spent and not to retry, 503 says try later.
Limits
Set on the web app, visible at GET https://prepublish.ai/mcp:
Variable | Default | Meaning |
|
| AI-backed calls per UTC day across the whole endpoint |
|
| AI-backed calls per caller per 10 minutes |
Both counters are in-process. One web container, small numbers, and a restart resets a counter rather than wrongly blocking someone. Move them to Valkey if the app ever runs replicas.
The backend's own limiter keys on client IP, and every MCP call reaches it from the web container's single IP, which is exactly why the per-caller limit exists here.
Local development
# 1. run the app (serves /mcp)
cd ../prepublish-fe && npm run build && npm run start -- --port 4910
# 2. conformance suite against it
cd ../prepublish-mcp && npm install && npm run build && npm testnpm test covers the handshake, tool discovery, schema shape, both directions of script_runtime, unknown-tool errors, the server card, batching rejection, notification handling, protocol negotiation in both directions, and the stdio bridge round trip. One AI-backed test is skipped unless MCP_TEST_BILLABLE=1, because a real call costs money and writes a row.
Verify a deployment:
MCP_URL=https://prepublish.ai/mcp npm run test:conformanceThe bridge
For clients that require a local stdio command:
{
"mcpServers": {
"prepublish": { "command": "npx", "args": ["-y", "prepublish-mcp"] }
}
}PREPUBLISH_MCP_URL overrides the upstream endpoint; PREPUBLISH_TOKEN forwards a bearer token. The bridge adds and hides nothing: a test asserts its tool list equals the hosted one.
Registry
server.json claims the DNS-verified namespace ai.prepublish/script-audit with a remote-only entry. Two ways to prove the domain, both documented in ops/mcp/launch-2026-09-10.md: a DNS TXT record, or the MCP_REGISTRY_PUBLIC_KEY environment variable, which makes https://prepublish.ai/.well-known/mcp-registry-auth serve the same value. The route 404s until that variable is set, so an unconfigured deployment cannot advertise a half-finished claim.
Known gaps
Protocol revision lag. The revision in force is
2026-07-28; this server implements up to2025-11-25, which the SDK also treats as latest. Newer clients are required to handle older dialects. Revisit when the SDK ships2026-07-28.No OAuth 2.1. Anonymous plus optional bearer token. OAuth is only needed for per-user identity and verified-directory status.
No per-user API keys. Authenticated use means an existing magic-link JWT. Real API keys are the prerequisite for selling MCP access.
Path, not subdomain.
mcp.prepublish.aineeds a DNS record and a Dokploy service; when it exists, only the URL inserver.json, the docs page and the card change.
Available Tools
6 toolsaudit_hookScore the opening of a YouTube scriptA
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 the top issues and rewritten alternatives. Choose this when the user shares only a hook or opening paragraph, or wants a fast second opinion before auditing a whole draft. Cheaper and narrower than audit_script. This is a text-only check of an unrecorded script. It maps relative attention risk inside the draft. It does not measure or predict published YouTube retention, and it cannot account for delivery, editing, thumbnail, topic or distribution.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Only needed once the free anonymous hook check for the day is used. Ask the user; never invent it. | ||
| niche | No | Channel niche, only if the user said it. Sharpens the comparison. | |
| hook_text | Yes | The opening lines exactly as written, ideally the first 15 to 30 seconds of speech. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry readOnlyHint=false and openWorldHint=true; the description adds genuine value beyond these. The 'text-only check of an unrecorded script' and 'maps relative attention risk... does not measure or predict published retention, cannot account for delivery, editing, thumbnail, topic or distribution' disclosures clarify what the tool will and won't report. The one gap: the schema's email/quota mechanics (free daily check, then email required) are not explained in the description, leaving an operational behavior undocumented. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Lengthy but densely informative — every clause earns its place. The first sentence front-loads purpose with specifics, the second gives usage guidance, and the closing sentences cover scope disclaimers. It could be slightly tighter (the 'Could not account for...' list repeats the thrust of 'does not measure retention'), but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing return values, and it does: attention pull per sentence, curiosity gap, payoff distance, top issues, and rewritten alternatives. Combined with explicit scope limitations and usage routing, an agent has everything needed to invoke it correctly. Only the email/quota operation is externalized, and the schema handles that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the schema already documents all three parameters fully (email's conditionality, niche's optionality, hook_text's format and length). The description reinforces hook_text via 'hook or opening paragraph' but adds no parameter semantics beyond what the schema supplies. It correctly meets the baseline without exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (score), resource (opening lines of a YouTube script), and enumerates the concrete outputs: per-sentence attention pull, curiosity gap, payoff distance, top issues, and rewritten alternatives. It further carves out its exact scope relative to audit_script, so an agent can distinguish them without inspecting other schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use conditions ('shares only a hook or opening paragraph', 'wants a fast second opinion'), names the alternative tool audit_script directly, and frames the tradeoff ('Cheaper and narrower'). The scope exclusions (doesn't measure retention, can't see delivery/editing/thumbnail) also steer an agent away from misapplying it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_scriptAudit a YouTube script before recordingA
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 naming the passages most likely to lose viewers, and a copy-paste rewrite for each flagged passage. Choose this when the user has a finished or near-finished draft and wants to know what is weak before they record. Do not use it to generate a script, to review a published video, or to check grammar. A free result is released by email, so ask the user for an address rather than guessing one. This is a text-only check of an unrecorded script. It maps relative attention risk inside the draft. It does not measure or predict published YouTube retention, and it cannot account for delivery, editing, thumbnail, topic or distribution.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Where the free result is sent. Required for every anonymous audit: the backend rejects the request without it. Ask the user; never invent it. | ||
| audience | No | Target audience, only if the user said it. | |
| category | No | Video category, only if the user said it. | |
| script_text | Yes | The script text as the user wrote it. Paste it verbatim; do not rewrite, summarise or clean it first. | |
| video_title | Yes | The title the user plans to publish under. The audit checks whether the script delivers this promise. | |
| video_duration_seconds | No | Intended runtime in seconds, only if the user stated one. Used for pacing; never assumed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (readOnlyHint false, openWorldHint true, destructiveHint false), and the description adds crucial behavioral context: the result is 'released by email, so ask the user for an address rather than guessing one.' It also clearly scopes the analysis as a 'text-only check of an unrecorded script' that 'does not measure or predict published YouTube retention' and lists factors it cannot account for. No annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but front-loaded with the action and outputs, and every sentence contributes either selection guidance, an exclusion, or a limitation. Minor redundancy exists in restating 'text-only check' and 'maps relative attention risk,' but overall it is efficient for a tool with this complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, selection criteria, outputs, side effects (email), and limitations in detail, compensating for the absence of an output schema. Given the tool's complexity (6 params, no output schema), nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter's meaning, constraints, and required behavior. The description reinforces the email requirement and verbatim script_text handling, but these are also covered in the schema, so the description adds only marginal semantic value beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run Prepublish's full audit on a YouTube script the user has already written.' It enumerates concrete outputs (hook, structure and pacing scores, attention-risk map, rewrites) and distinguishes itself by excluding script generation, published-video review, and grammar checking, which differentiates it from siblings like audit_hook and policy_preflight.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to choose it: 'when the user has a finished or near-finished draft and wants to know what is weak before they record.' It also gives clear when-not-to-use guidance: 'Do not use it to generate a script, to review a published video, or to check grammar.' This is direct selection context even without naming sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_authenticityCheck a script for reused or inauthentic content riskA
Check a script against YouTube's inauthentic-content expectations: whether it reads as mass-produced, templated or repetitive, which signals fire, and what to change. Returns a score, a risk level, the firing signals with quotes, and remediation steps. Choose this when the user worries about reused content, AI-sounding scripts, or a channel that repeats a formula. This reports text-level signals only; it is not a monetisation decision and does not speak for YouTube.
| Name | Required | Description | Default |
|---|---|---|---|
| script_text | Yes | The script text as the user wrote it. Paste it verbatim; do not rewrite, summarise or clean it first. | |
| video_title | Yes | The planned title. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description clearly discloses what the tool returns (score, risk level, signals, remediation) and its limits (text-level signals only, not a monetisation decision). It does not mention side effects or external calls, but the verb 'check' plus readOnlyHint=false is not contradicted; a small gap remains about whether any state changes occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact but information-dense, opening with the purpose and then listing output and limits. No redundancy; the only minor cost is having outputs stated in two places, but this is not waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description supplies the full return contract (score, risk level, signals, remediation). It also gives a usage trigger and a boundary. It lacks edge-case/error behavior, but that is not essential for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes both parameters well, including the 'do not rewrite or summarise' instruction in script_text. The description adds no parameter-specific guidance beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Check a script against YouTube's inauthentic-content expectations') with a clear object and scope. It enumerates exactly what is evaluated (mass-produced/templated/repetitive text) and what is returned (score, risk level, signals with quotes, remediation), making it easy to select.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names concrete trigger conditions: 'when the user worries about reused content, AI-sounding scripts, or a formulaic channel.' It gives an exclusion ('not a monetisation decision') but does not name an alternative sibling tool explicitly, so an agent must infer which sibling covers monetization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_auditCollect a Prepublish audit by idARead-only
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, or when the user refers back to an audit from earlier in the conversation. It performs no new analysis and costs nothing. This is a text-only check of an unrecorded script. It maps relative attention risk inside the draft. It does not measure or predict published YouTube retention, and it cannot account for delivery, editing, thumbnail, topic or distribution.
| Name | Required | Description | Default |
|---|---|---|---|
| analysis_id | Yes | The analysis_id returned by audit_script. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds real value: it is text-only, costs nothing, works on an unrecorded script, and explicitly scopes what it does NOT measure (retention, delivery, editing, thumbnail, topic, distribution). It stops short of describing return shape or polling/expiry behavior, keeping it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and the id source, then layers usage and scope. Slightly long with several scope-limiting clauses, but each sentence carries distinct routing or boundary information rather than redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-param read tool with annotations covering safety and no output schema, the description supplies the needed usage context and the important negative scope. It could note whether results are transient or how to interpret the attention-risk output, a small remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already documents analysis_id including its origin from audit_script. The description reinforces the provenance but adds no syntax, format, or constraint beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (fetch audit state by analysis_id) and explicitly anchors it to the sibling audit_script that produces the id. An agent can distinguish this from audit_script/audit_hook without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use conditions (previous audit still running, or user references an earlier audit) and clarifies it performs no new analysis, which routes the agent away from re-running audit_script. Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
policy_preflightPre-flight a script against YouTube advertiser and monetisation policyA
Check a script before recording for the YouTube policy categories it may touch: which category families are implicated, the consequence family for each, a verdict and flag counts. Each category cites YouTube's own published policy page. Choose this when the user is writing about sensitive subject matter and asks whether it is safe to monetise. The quoted passages and their suggested rewrites are part of the paid audit, so the free result may return counts with locked quotes. It reports risk against published policy text; it is not a monetisation guarantee and does not speak for YouTube.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | The planned title, if the user has one. Titles are checked too. | |
| script | Yes | The script text as written, at least 200 characters. Below that there is not enough context for a policy read. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful context beyond the annotations: the free result may return locked quotes, quoted passages and rewrites belong to the paid audit, and the tool is explicitly not a monetisation guarantee. Nothing contradicts the annotations, though side effects are not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded: the first sentence states purpose and outputs, the second gives usage selection, and the rest add necessary caveats about paid/free behaviour and scope. It could slightly tighten the policy-page citation clause, but it is not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description covers the main result elements, the intended use case, the paid/free boundary, and the tool's limitations. It does not spell out an exact response structure, but an agent has enough signal to decide when to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both title and script, including the 200-character minimum. The description adds only minor extra framing about checking before recording and does not need to compensate for missing schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Check a script before recording') and lists concrete outputs: category families implicated, consequence family, verdict, and flag counts. It also differentiates from the paid audit siblings by describing this as the preflight/free version with locked quotes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit selection trigger: choose this when the user discusses sensitive subject matter and asks whether monetisation is safe. It references a paid audit alternative for quoted passages, but it does not explicitly name a sibling tool or provide a clear when-not-to-use condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
script_runtimeConvert script length to spoken runtimeARead-only
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 measurement of 349 videos: 25th percentile 160 words per minute, median 181, 75th percentile 201. Choose this for "how long will this script run" or "how many words for a ten-minute video". It is arithmetic on speaking rate only: it excludes pauses, B-roll and demonstrations, so a finished edit usually runs longer.
| Name | Required | Description | Default |
|---|---|---|---|
| word_count | No | A word count, if the user already knows it. | |
| script_text | No | A script to count. Provide this or word_count or target_minutes. | |
| target_minutes | No | A target runtime in minutes, to convert into a word budget. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=true, openWorldHint=false), and the description adds substantial context beyond them: the data provenance (measurement of 349 videos), the rate spread (160/181/201 wpm), and the scope caveat that pauses and B-roll are excluded so real edits run longer. That is exactly the kind of expectation-setting an agent needs before quoting a number to a user.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core operation, then usage triggers, then the caveat — a sensible order. The percentile figures are slightly dense but they justify the rate model rather than padding, so every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of saying what comes back (a runtime range, or a word budget). Combined with the 100%-covered parameter schema, an agent has enough to invoke correctly; only minor detail like exact rounding or whether multiple inputs may be combined is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description goes further by explaining the three distinct input modes and what each produces (word count → range, pasted script → range, target minutes → word budget). It doesn't restate the mutual-exclusivity rule, which the schema already handles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific bidirectional operation: word count/script → runtime range, and target runtime → word budget. An agent can tell exactly what it does without opening the schema, and the purpose is distinct from the audit-oriented siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit trigger phrasings ("how long will this script run", "how many words for a ten-minute video") and an explicit exclusion (pauses, B-roll, demonstrations), which tells the agent when the answer will understate a finished edit. No sibling alternative is named, but none of the siblings is a substitute for this arithmetic tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v1.0.1- First observed
audit_hook - First observed
audit_script - First observed
check_authenticity - First observed
get_audit - First observed
policy_preflight - First observed
script_runtime
TDQS
Scored across 6 tools
Each tool targets a clearly separate function: full-script audit, hook-only audit, audit retrieval, authenticity check, policy preflight, and runtime conversion. The descriptions explicitly state when to use each, so an agent is unlikely to confuse them.
Most tools follow a verb_noun pattern like audit_script, audit_hook, get_audit, and check_authenticity, but policy_preflight and script_runtime are noun-first exceptions. The names remain readable and predictable overall, with only minor deviations.
Six tools is well within the ideal range and each tool earns its place by covering a distinct pre-publish analysis need. There is no bloat or redundancy.
The toolset covers the full lifecycle implied by its purpose: creating full or hook audits, retrieving prior audits, and performing supporting checks for authenticity, policy, and runtime. No significant dead ends or missing operations are apparent.
Maintenance
Related MCP Connectors
Audit a YouTube script before recording: hook, pacing, drop-off risk, copy-paste rewrites.
Audit creator scripts for TikTok Shop and Amazon policy violations. Returns flags and safe rewrites.
The all-in-one YouTube content engine: research, ideas, thumbnails, scripts, and video.
Audits any YouTube channel against its own history. Every claim carries its sample size.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables creators and marketers to generate viral social media hooks, format text into Twitter threads with proper character limits, and audit sales copy with actionable feedback on power words and CTAs.3-
- AlicenseAqualityCmaintenanceProvides AI agents with structured short-form content mechanics including hooks, script structures, retention strategies, and CTAs, along with auditing tools to avoid common posting failures.724 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to score drafts for AI-content-spam risk before publishing and scan entire sites, providing a pre-publish QA gate with pass/warn/fail verdicts.11 npmMIT
- AlicenseAqualityBmaintenanceChecks AI-generated social media and ad content against current policies of 8 major platforms, flagging risky phrases and providing compliant rewrites to prevent account restrictions.127 npmMIT