Disclosure: Shhots AI is our product. This is a reference design built from each tool's public documentation. We have not published an end-to-end run of this loop yet, and every number below says where it comes from.
How to use Jev, Meta’s official Ads MCP and Shhots AI inside Claude Code to find which hooks and formats win in your own ad account, then generate more of them. A reference design from a media buyer, with the cost math and the limits.
By Rajat Dangi. Last updated: September 2026.
Jev can tag every ad in your Meta account by hook, format and awareness stage for a fraction of a cent per ad. Meta’s official Ads MCP gives Claude the spend, CPA and ROAS for those same ads. Join the two in code and you get a table of which creative patterns win in your account. Claude turns that table into briefs and Shhots AI generates the new creatives. Six steps, three MCP servers, one Claude Code session.
What is Jev AI?
Jev is the first model from TypeSafe AI, released in early access on September 15, 2026. TypeSafe was founded by former OpenAI researcher Diogo Almeida with Erik Gafni and Sasha Sheng. It came out of two years in stealth with a $40 million seed round led by DCVC.
Jev does not write text. You send it a state (any text or JSON) plus a set of typed questions, and it returns answers your code can act on directly.
| Question type | What it returns | Ad example |
|---|---|---|
| Choice | A probability for each option, plus a confidence score | Which hook type opens this ad? |
| Score | A position on ordered levels, plus a confidence score | How strong is the offer: weak, medium or strong? |
| Noul | The probability that a statement is true | Does the first line name a specific problem? |
Every question about one state is answered in a single parallel pass. Asking eight questions about an ad takes about as long as asking one, and you pay only for the extra input tokens.
What does Jev cost, and how do you get access?
| Attribute | Value (as of September 2026) |
|---|---|
| Input price | $0.042 per 1M input tokens |
| Output price | $0 |
| Free tier | Not disclosed |
| Latency | 70 to 500 ms per request (vendor-reported) |
| Context limit | 64,000 tokens per request, 32,000 for the state plus the longest question |
| Direct API access | Early access, waitlist |
| Routes with no waitlist | OpenRouter, Vercel AI Gateway, Cloudflare AI Gateway |
| Output format | Typed answers and probabilities only, no explanations |
Price and context limits checked against the TypeSafe model docs on September 21, 2026.
One gateway trap: the Vercel AI SDK spells the yes/no type boolean instead of noul. Code copied between gateways breaks on that.
TypeSafe also says it cannot yet prove the launch price is unsubsidized. Treat $0.042 as today’s price.
Why isn’t tagging competitor ads with Jev enough?
The most shared Jev demo broke down 724 live competitor ads from 37 brands in 40 seconds for $0.09. That claim comes from Matt Berman on X and has not been independently reproduced.
It tells you what competitors run. It says nothing about what works. The Meta Ad Library shows no spend, CPA or ROAS for ordinary commercial ads.
The data is also harder to get than the demos suggest. Meta’s official Ad Library API returns commercial ads only when the audience is in the EU or UK. A US-only competitor ad returns nothing through it.
A team that copies a competitor’s pattern without the numbers behind it is usually paying to run that competitor’s test, not its winner. A brand that launches 20 variations on a Tuesday is hunting for one concept that survives, and the Ad Library shows the batch, not the survivor. The one proxy it does give is days running: an ad still live after 60 days is more likely to be profitable than one launched last week, which is why the marketer thread below tags competitor ads by that field. Even a real winner arrives without the offer, audience, landing page and account history that made it work, so the copy lands in a different system and gets a different result.
The fix is to tag your own ads, where the performance data exists.
What does Meta’s official Ads MCP give Claude?
Meta launched its Meta Ads AI connectors on April 29, 2026, in open beta. For Claude this is a remote MCP server with 29 tools across performance reporting, campaign management, catalog management and signal diagnostics.
The reporting tools return spend, impressions, clicks, conversions, frequency, ROAS and breakdowns at account, campaign, ad set or ad level. The connector is free during the beta.
Two cautions. Rollout is gradual, and some accounts show the connector as disabled after a successful setup. Third-party guides also list different server URLs, so take the URL from Meta’s help page.
How does the 6-step loop work?
| Step | Tool | Job |
|---|---|---|
| 1. Pull | Meta Ads MCP | Performance and creative text for every ad |
| 2. Tag | Jev | Hook, awareness stage, format and style for every ad |
| 3. Join | Code | Group tags against CPA and ROAS |
| 4. Brief | Claude | Briefs for winning patterns and untested gaps |
| 5. Generate | Shhots AI MCP | New video and image creatives |
| 6. Pre-flight | Jev | Check each creative against its brief |
Each tool does the one thing it is good at. Jev judges, code counts, Claude plans and Shhots produces.
Setup: three MCP servers in Claude Code
# 1. Meta Ads (official). Paste the URL from Meta's help page.
claude mcp add --transport http meta-ads <META_ADS_MCP_URL>
# 2. Jev (community server, not maintained by TypeSafe)
claude mcp add --scope user jev -e TYPESAFE_API_KEY=... -- uvx --from git+https://github.com/blakestone-x/[email protected] jev-mcp
# 3. Shhots AI (Pro and Scale plans). Sign-in opens in the browser on first use.
claude mcp add --transport http shhots https://mcp.shhots.ai/mcp/
Several community MCP servers wrap Jev. None is maintained by TypeSafe, so read the code before you hand one your API key. If you are still on the waitlist, the rahulrajaram/jev-mcp server reads an OPENROUTER_API_KEY and calls OpenRouter’s decisions endpoint instead of TypeSafe’s API.
TypeSafe publishes its own agent skill, typesafe-ai, which teaches an agent how to pick question types and structure state. Install it alongside the server.
Step 1: Pull ad-level performance and creative
Ask Claude:
Using the Meta Ads MCP, pull every ad that spent money in the last 90 days.
For each ad include: ad_id, format, spend, purchases, CPA, ROAS, CTR,
headline and primary text. Save it as ads.csv.
Jev reads text and JSON. It cannot watch a video. For video ads the hook lives in the first seconds of footage, so each one needs a short text description before Jev can tag it: the opening line of the voiceover, the on-screen text, and one sentence on what the viewer sees. Add these as a video_opening column.
If the connector does not return creative copy for an ad, export it from Ads Manager and merge it on ad_id.
Step 2: Tag every ad with Jev
Each ad’s row becomes the state. Ask all questions in one request:
{
"model": "jev-latest",
"state": {
"headline": "...",
"primary_text": "...",
"video_opening": "..."
},
"questions": {
"hook": {
"type": "choice",
"instructions": "Which hook type opens this ad?",
"criteria": {
"problem": "Names a pain or frustration the buyer has",
"demo": "Shows the product working",
"social_proof": "Leads with reviews, results or customer numbers",
"offer": "Leads with price, discount or bundle",
"curiosity": "Opens with a question or unexpected claim"
}
},
"awareness": {
"type": "choice",
"instructions": "Which awareness stage is this ad written for?",
"criteria": {
"problem_aware": "Knows the problem, does not know the solutions",
"solution_aware": "Knows solutions exist, does not know this product",
"product_aware": "Knows this product and needs a reason to buy now"
}
},
"creator_style": {
"type": "noul",
"instructions": "The ad is presented by a person speaking to camera in a creator or UGC style"
}
}
}
The cost is close to zero. Assume about 1,500 input tokens per ad including the questions. At $0.042 per 1M tokens that is $0.000063 per ad, or about $0.06 for 1,000 ads. This is our arithmetic at list price, not a measured run.
Save each answer with its confidence. Send low-confidence tags to a human instead of trusting them.
Step 3: Join tags with performance in code
Jev is a one-pass chooser with no scratchpad. Counting, arithmetic and date comparisons are unreliable, and the answer still comes back with a confident probability. So every number in this step comes from code.
import pandas as pd
ads = pd.read_csv("ads_tagged.csv")
MIN_ADS = 10 # fewer ads than this and one outlier sets the cell's CPA
MIN_PURCHASES = 50 # Meta's own learning-phase threshold, applied per cell
table = (
ads.groupby(["hook", "awareness", "creator_style"])
.agg(ads=("ad_id", "count"),
spend=("spend", "sum"),
purchases=("purchases", "sum"))
.query("purchases > 0")
.assign(cpa=lambda d: d.spend / d.purchases)
.sort_values("cpa")
)
print(table[(table.ads >= MIN_ADS) & (table.purchases >= MIN_PURCHASES)])
Trust a cell only when it holds at least 10 ads and 50 purchases in total. Fifty is the number of optimization events Meta says an ad set needs in a seven-day period to leave the learning phase, so it is a reasonable floor for a pattern too. Below it, one lucky ad sets the cell’s CPA.
The output is a ranked list of creative patterns by CPA in your own account. Cells with too few ads are noise and stay out of the briefs.
Step 4: Turn the table into briefs with Claude
Ask for two kinds of brief:
- Scale briefs: new angles inside the two or three lowest-CPA cells.
- Gap briefs: combinations the account has never tested, such as a problem hook for product-aware buyers if no ad has tried it.
Every brief should name the product, hook type, awareness stage, format, length, aspect ratio, opening line and CTA. Step 6 checks the creative against exactly these fields.
Step 5: Generate the creatives with Shhots AI
The Shhots AI MCP server makes video ads in seven formats (UGC, cinematic, animated, product speaking, storefront, lifestyle and unboxing ASMR) at 5, 10, 15 or 30 seconds in 9:16, 1:1 or 16:9, plus product photoshoots and image ads in four styles (studio, lifestyle, editorial, bold) from one reference photo. Claude calls it straight from the briefs and shows the credit cost before anything renders. The Claude AI video generator guide walks through a full session.
For scale briefs, the shhots-creative-refresh skill in github.com/shhots/shhots-claude-skills turns one winner into variants that each change a single variable.
Budget the batch before generating. Video is where the money goes.
| Plan | Price | Credits per month | 15-second UGC video ads (826 credits each) | Product photoshoots (45 credits per 4-image shoot) |
|---|---|---|---|---|
| Pro | $49/mo | 6,000 | 7 | 133 |
| Scale | $99/mo | 12,000 | 14 | 266 |
Prices and credit rates checked against the Shhots pricing page on September 21, 2026. The MCP server is available on Pro and Scale only.
Step 6: Pre-flight every creative with Jev
Before anything goes to Ads Manager, give Jev the brief plus the generated script, caption and on-screen text as one state. Ask:
- Does the opening match the brief’s hook type? (Choice)
- Is the product named in the first line? (Noul)
- Does the copy make a before-and-after, health or income claim? (Noul)
Regenerate anything that fails or comes back with low confidence.
Jev checks text. It never sees the pixels, so a person still watches every video before upload.
If your Meta connector supports ad creation with uploaded media, Claude can create the passing creatives as paused ads for your approval. Check that your connector supports this before relying on it, and keep every write behind a manual approval.
What does one run of the loop cost?
| Step | Tool | Cost |
|---|---|---|
| Pull 1,000 ads | Meta Ads MCP | $0 during the beta |
| Tag 1,000 ads | Jev | About $0.06 |
| Join | Code | $0 |
| Write briefs | Claude | Included in your Claude plan |
| Generate 6 videos | Shhots AI | 4,956 credits, about $40 at the Pro rate |
| Pre-flight 6 creatives | Jev | Under $0.01 |
Jev and Shhots figures are our arithmetic at list prices. The judgment steps cost pennies. Production is the real budget line, which is why the first four steps exist: they decide which six videos are worth making.
What else are people building with Jev?
Six days after launch, a thread by Raksha T on X collected more than 30 Jev demos. These are user-reported builds, not reproduced tests, and the numbers are the builders’ own. The ones a media buyer can borrow from:
| Build | Who | What Jev decides | Reported cost or speed |
|---|---|---|---|
| Meta Ad Library scan: tag every live ad in a category by hook, format, offer and days running | Dmitry Korzhov | Which competitor patterns survive | Under $3 for the category |
| Ad creative scoring across 100 variations | Yum (@yuhasbeentaken) | Which hooks, headlines or angles to test first | Not stated |
| Reddit lead finder in peeklens.ai, 1,511 posts, same prompt as GPT-5.6 Sol and Claude Opus 5 | ibo (@ibocodes) | Real lead or junk | 96 leads found vs 78 and 72; $0.03 per scan vs $0.20 and $0.28; under 1 s per post |
| Clipping a 90-minute video by topic | Burhan | Where each topic starts and ends | Under 2 s, about 2 cents |
| Removing negative comments from a live chat | Dev Ed | Keep or remove | Not stated |
| Document classification and splitting (DocJev) | Jerry Liu | Category and section boundaries | Not stated |
| Malicious link scanner for dub.sh | Steven Tey | Safe or abusive | Not stated |
| Model router: send each task to the cheapest model that can solve it | Adam Azzam | Which model | Not stated |
| ”Jev as a judge” for grading agent traces in evals | Harrison Chase | Pass or fail per trace | Not stated |
The pattern is the same in every row: a large pile of items, one narrow judgment per item, and code doing the counting. The loop in this post is that pattern pointed at your own ad account.
Where does this loop break?
- Jev’s accuracy is below frontier models. On TypeSafe’s own four-workflow benchmark, Jev scores 67.8% against 73.1% for Claude Opus 5 and 74.1% for GPT-5.6 Sol. The benchmark measures agreement with frontier models and has not been independently reproduced. Hand-check 20 to 30 tags before trusting the rest.
- Jev gives no reasons. You get a label and a probability. When a tag looks wrong, you cannot ask why.
- Video needs a text layer. Tag quality depends on how well Step 1 describes each video’s opening.
- Small accounts produce noise. With few ads per cell, the CPA ranking reflects luck more than creative.
- Tags show correlation. A cell can win because of audience, season or budget timing. Treat the table as a list of hypotheses to test with new creative.
- The Meta connector is still in beta. Tools and access may change.
- The Jev MCP servers are community code. Review them before connecting a production key.
Next step
Pick the lowest-CPA cell from Step 3 and generate three variants of it with the Shhots AI MCP server. It is included on the Pro and Scale plans, compared on the pricing page.
Common questions
Is Jev AI free?
No. There is no free tier listed. Jev costs $0.042 per 1M input tokens, and output is free.
Is Jev a large language model?
Jev is Transformer-based but deliberately not an LLM. It never outputs a full sentence, only typed answers, choices, scores and probabilities.
Can Jev write ad copy or scripts?
No. Jev only returns typed decisions. Claude writes the briefs and Shhots AI produces the creatives.
Can Jev watch video ads?
No. Its state is text, a JSON object or a JSON array. Describe each video’s opening in text before tagging it.
Does Meta’s Ads MCP show competitor ads?
Its tools cover your own ad accounts: reporting, campaign management, catalog and signal diagnostics. For competitor ads, use the Ad Library website or a scraper. The official Ad Library API returns commercial ads only for EU and UK audiences.
Do I need Claude Code for this?
Any MCP client can call the three servers. Steps 1 and 3 read and write files and run a script, which is why Claude Code is the practical choice.
Sources
- TypeSafe AI, Introducing System One Models & Jev, September 15, 2026
- TypeSafe AI, Models, checked September 21, 2026
- LangChain, Jev integration guide, September 17, 2026
- Vercel, TypeSafe Jev and AI SDK
- OpenTweet, Jev API key and access without the waitlist, September 2026
- Ryze AI, Jev for Marketing, September 2026 (benchmark figures)
- rahulrajaram, jev-mcp README (OpenRouter path, numeric and date limits)
- Meta, Meta Ads AI connectors help page
- Raksha T, all use cases of Jev I saved from X, September 21, 2026 (community demos)
- Meta, About the learning phase
- Passionfruit, Meta Ads + Claude MCP: What It Actually Does, May 2026