GoViral MCPDocsConsole

GoViral MCP docs

GoViral is a connector that gives an AI agent market research, audience pain points, funny short-form scripts, characters and render plans.

What it is

GoViral MCP is a remote MCP server at https://goviralmcp.com/mcp. You describe a product in a brief. GoViral then sizes the market and ranks the audiences (built on Stratico Audience Intelligence, with DatosIA public data for Central American markets), finds the pain points each audience actually has, writes short funny scripts aimed at one pain point, designs recurring characters, and plans renders with a cost estimate first.

Two example products, DatosIA and AI Mail, are seeded as briefs that every account can read and use. Scores GoViral gives scripts are model-simulated and uncalibrated: the head-to-head order is more reliable than the absolute numbers.

Connect

Claude (claude.ai)

  1. Open Settings > Connectors > Add custom connector.
  2. Enter the URL https://goviralmcp.com/mcp and add it.
  3. Sign in when asked (see below), then press Allow.

Claude Code

claude mcp add --transport http goviral https://goviralmcp.com/mcp

Then run /mcp in Claude Code and choose GoViral to sign in.

Other MCP clients, or scripts

Send an API key as Authorization: Bearer gvk_... or x-api-key. Keys are created on the API keys page of the console and shown once.

The OAuth sign-in, step by step

GoViral is an OAuth 2.1 server: dynamic client registration and client ID metadata documents, public clients with S256 PKCE. You never copy a key.

  1. Your app opens the GoViral sign-in page in your browser.
  2. Enter your email. GoViral sends a 6 digit code to it. The code expires in 10 minutes.
  3. Enter the code. You land on the Connect screen, which names the app and where the access code will be sent.
  4. Choose the account to connect (only accounts you own are listed) and press Allow. Press Deny to stop.
  5. Your app receives a token that acts as that account only, with the same powers as an API key for it. Access tokens last 1 hour and refresh automatically for up to 30 days.

Each connection is emailed to the signing-in owner. You can disconnect an app at any time under Connected apps in the console.

Prerequisites

Tools

This table is generated from the tool list the server advertises. Read tools never change anything. Write tools save data to your account or call a model or audience service. "Destructive" means a call can overwrite data that already exists.

ToolTitleAccessDestructiveDescription
create_product_briefCreate or update a product briefWriteYesRecord what a product is, who it is for, its proof points, voice and the claims it must never make. Upserts by slug within your own account. The seeded DatosIA and AI Mail briefs belong to the operator: you can read and use them, not overwrite them, and their slugs are reserved.
get_product_briefGet a product briefReadNoReturn a product brief by slug, or list the product slugs you can use (yours and the seeded ones) when no slug is given.
size_marketSize the marketWriteNoStart or reuse the Stratico audience study for a product (the only tool that starts one; refresh is allowed once the study is 24 hours old) and return its audiences with low/mid/high size, confidence and a TAM/SAM/SOM view derived from the brief. A new study takes 2 to 6 minutes: if it is not ready, the answer reports progress; call again.
get_audienceGet an audience profileWriteNoOne audience from the product's Stratico study: the full profile plus a humor profile (what is funny to them, taboo, shared pains, in-jokes, language) and ranked pain points (situation, frustration, intensity, frequency, product fit, script angle), each derived once and cached. The first call for an audience calls the model and counts against the account's daily budget.
rank_audiencesRank audiencesReadNoRank a product's audiences by size, fit to the brief, share intent and reachability. Formula: 0.35 size + 0.30 fit + 0.20 share intent + 0.15 reach, each 0-100; components are returned for every audience.
analyze_pain_pointsAnalyze audience pain pointsWriteNoPain point analysis for a product's audiences: per audience, 5 to 8 ranked pains (situation, frustration in their words, intensity 1-5, frequency, workaround, cost, how the product relieves it, proof, a comic script angle). Defaults to the top 3 ranked audiences. Derived once and cached; the first call (or refresh) calls the model and counts against the account's daily budget. Needs a ready study (run size_market first).
run_analysisRun the GoViral analysisWriteNoStart the GoViral analyst for a product: market sizing (TAM/SAM/SOM), audience ranking, humor profiles and pain points for the top 4 audiences, a cross-audience pain map and an executive summary. It runs in the background on the server (a few minutes; a new Stratico study takes 2 to 6). It calls the model and Stratico and counts against the account's daily budget. One active run per product: starting again returns the running one. Poll with analysis_status.
analysis_statusAnalysis status and reportReadNoStatus, current step and (when done) the full report of a product's latest analysis run, or of a specific run_id.
generate_scriptsGenerate scriptsWriteNoWrite n short-form comedy scripts for a product and one audience. The playbook picks a humor theory, devices and format per script. Each script has a hook, timed beats with dialogue per character, on-screen text, es/en captions, props, shots, the product moment and a call to action, plus a guardrail check. Rejected scripts are stored but not returned as usable. Calls the model: each call counts against the account's daily budget.
score_scriptScore scriptsWriteNoScore one to six scripts (rejected scripts are refused): Stratico virality score and audience response, plus the GoViral humor rubric (judged by the model). combined = 0.5 x Stratico rankScore + 0.5 x humor (0-100). With 2+ scripts, the top N are re-ranked head to head: two passes in opposite orders, combined by Borda count, because comparisons hold up and absolute scores do not. Scores are model-simulated and uncalibrated.
punch_upPunch up a scriptWriteNoRewrite the weakest beats of a script to land harder with its audience. Saves the result as a new script linked to the original. Targets the beats named in beat_indexes, else the weakest beat from the last score, else the model picks.
list_scriptsList scriptsReadNoList saved scripts for a product, best ranked first. Rejected scripts are hidden unless status is "rejected".
get_scriptGet a scriptReadNoOne saved script in full, with its guardrail check and scores. A rejected script is withheld (only its violations are shown) unless include_rejected is true.
list_character_sourcesList character and media sourcesReadNoSearch the researched catalogue of character, avatar, image, stock and voice sources (licence, price, API, fit). Filter by category, commercialUse (yes, with-attribution, paid-plan, no) and whether an API exists.
design_characterDesign a character bibleWriteNoCreate a character bible with the model: name, role, personality, comedic function, look, a consistency prompt reused verbatim in every image prompt, a reference sheet (3 views, 6 expressions, 4 mouth shapes), a voice description, catchphrases, never_says and a source strategy. Checked against the playbook guardrails; saved to your account. Start from the seeded cast (Pip, Maya, Datito, Doña Chepa) when it fits.
get_characterGet a character bibleReadNoReturn a character bible by id or slug (yours or a seeded one).
list_charactersList charactersReadNoList your characters and the seeded starter cast (Pip, Maya for AI Mail; Datito, Doña Chepa for DatosIA), optionally for one product.
plan_renderPlan a renderWriteNoTurn a script and its characters into a render plan: one scene per beat (poses, expressions, props placement, background, camera), consistent image prompts, TTS lines per character with the voice, sfx cues, a caption track, the lip-flap method and a cost estimate. Never spends money and never calls a model. dry_run (default true) returns the plan without saving; dry_run false saves it and returns a plan_id for render_storyboard.
render_storyboardRender a storyboardWriteNoMake a self-contained HTML storyboard (scenes, dialogue, props, timings, prompts, cost estimate; placeholder art until stills exist) and return its private link, GET /storyboards/<token>. Give plan_id, or the same arguments as plan_render to plan and save in one step. No network or model needed.

Typical order: get_product_brief, size_market (a new study takes 2 to 6 minutes; call again until it is ready), rank_audiences, analyze_pain_points, generate_scripts, score_script.

Limits and safety

Support and privacy

Questions, access requests and problems: hello@goviralmcp.com. Read the privacy policy.