Persuasion Taxonomy
Plan and check marketing copy against the nine questions every reader asks. Free, no API key.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"persuasion-taxonomy": {
"command": "npx",
"args": [
"@coppica/persuasion-mcp"
]
}
}
}실행 가능한 패키지
1.0.3stdio원격 엔드포인트
https://taxonomy.coppica.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (9)
🟢plan_marketing_copy(goal, format, audience, offer, awareness_level, ...)
Plan any piece of marketing copy before you write it, whether it's an ad, a landing page, a sales page or sales letter, an email, a subject line, a social post, a headline or a video script. Give it the goal, the reader and the offer, and it tells you which of the nine questions every reader silently asks this piece has to answer, which ones deserve the most words for this reader, and a few ways to answer each one, drawn from real advertising and linked to the Persuasion Taxonomy. One option is always the established move and the rest are less expected, because left to itself a model answers every question with the move everyone else makes, and readers have learned to skim past it. So call it before you draft, even when you're sure you know how to write the piece, and when the draft is done, check it with diagnose_marketing_copy.
입력 스키마
{
"type": "object",
"properties": {
"goal": {
"type": "string",
"enum": [
"purchase",
"signup",
"click",
"engagement"
],
"description": "What the copy has to get the reader to do. Use purchase when they should buy now, signup for an opt-in, a trial, a demo or a lead form, click when the whole job is the click (most ads and links), and engagement for nurture emails, newsletters and social posts that should be read, answered or followed."
},
"format": {
"type": "string",
"enum": [
"ad",
"landing_page",
"sales_letter",
"email",
"email_subject",
"social_post",
"video_script",
"headline"
],
"description": "The kind of copy it is: ad, landing_page, sales_letter for long-form sales copy, email, email_subject, social_post, video_script or headline."
},
"audience": {
"type": "string",
"minLength": 2,
"maxLength": 600,
"description": "Who will read it, as specifically as you can put it: their role, their situation and what they already believe."
},
"offer": {
"type": "string",
"minLength": 2,
"maxLength": 600,
"description": "What you're selling or asking for, and the main promise."
},
"awareness_level": {
"type": "string",
"enum": [
"unaware",
"problem_aware",
"solution_aware",
"product_aware",
"most_aware"
],
"description": "How much the reader already knows, on Eugene Schwartz's scale. Use unaware if they don't know they have the problem, problem_aware if they feel it, solution_aware if they know solutions exist, product_aware if they know you, and most_aware if they're ready and only need the offer."
},
"category": {
"type": "string",
"maxLength": 60,
"description": "The industry, if you want to compare against what brands in that category usually do. There is enough data for apparel, automotive, b2b_saas, beauty_skincare, business_coaching, consumer_tech, dtc_food_bev, dtc_health, fitness_health, home_goods, info_product, investing, marketing_education, otc_pharma, personal_care, personal_development, supplements, weight_loss. Any other category still works, just without the comparison."
},
"persuasion_mode": {
"type": "string",
"enum": [
"aggressive",
"balanced",
"equity"
],
"default": "balanced",
"description": "How hard the copy is allowed to push. Balanced is the default, persuasive and sustainable over time. Equity protects long-term trust, so it rules out fear, hype and hard-sell moves. Aggressive is for short-term direct response and allows fear, threat and hard scarcity. In every mode, the claims stay true."
},
"options_per_question": {
"type": "integer",
"minimum": 2,
"maximum": 6,
"default": 4,
"description": "How many ways to answer each question you want to see. The default is 4."
}
},
"required": [
"goal",
"format",
"audience",
"offer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢diagnose_marketing_copy(copy, goal, format, moves, awareness_level, ...)
Review, critique or roast any piece of marketing copy, whether it's an ad, a landing page, an email, a sales page, a social post or a script, and find out why it might not persuade. Before you call it, read the copy and label each line with the one reader question it mainly answers, quoting the words exactly. Those labels go in the moves array. You get back which of the nine questions the copy answers for its goal, which it answers weakly and which it skips, along with the biggest gap and what readers do when it is missing. It also checks the order, whether the answers agree with each other, and the craft, pointing to the exact words that read as machine-written, like em dashes, "it's not X, it's Y" lines and sentences that all run the same length. Then it checks the opening line and suggests techniques from the catalog to fill the gap. Use it before you show anyone a draft you wrote, and whenever someone asks "is this good?", "roast this", "what's wrong with this copy?" or "how do I make it better?"
입력 스키마
{
"type": "object",
"properties": {
"copy": {
"type": "string",
"minLength": 10,
"maxLength": 30000,
"description": "The full copy, exactly as written."
},
"goal": {
"type": "string",
"enum": [
"purchase",
"signup",
"click",
"engagement"
],
"description": "What the copy has to get the reader to do. Use purchase when they should buy now, signup for an opt-in, a trial, a demo or a lead form, click when the whole job is the click (most ads and links), and engagement for nurture emails, newsletters and social posts that should be read, answered or followed."
},
"format": {
"type": "string",
"enum": [
"ad",
"landing_page",
"sales_letter",
"email",
"email_subject",
"social_post",
"video_script",
"headline"
],
"description": "The kind of copy it is: ad, landing_page, sales_letter for long-form sales copy, email, email_subject, social_post, video_script or headline."
},
"moves": {
"type": "array",
"items": {
"type": "object",
"properties": {
"excerpt": {
"type": "string",
"minLength": 2,
"maxLength": 400,
"description": "An exact quote from the copy, whether a sentence, a line or a short passage."
},
"question": {
"type": "string",
"enum": [
"DISRUPT",
"IDENTIFY",
"AGITATE",
"REFRAME",
"PROVE",
"ELEVATE",
"RESOLVE",
"COMPEL",
"BOND"
],
"description": "The reader question the text answers, by its role name: DISRUPT for \"Why am I even reading this?\", IDENTIFY for \"Is this written for me?\", AGITATE for \"How bad is my problem, really?\", REFRAME for \"Am I thinking about this correctly?\", PROVE for \"Can I trust the claim?\", ELEVATE for \"What does my life look like after?\", RESOLVE for \"What's stopping me from saying yes?\", COMPEL for \"Why should I act right now?\", BOND for \"Do I like and trust who's speaking?\"."
},
"clarity": {
"type": "string",
"enum": [
"clear",
"partial"
],
"default": "clear",
"description": "Use clear when the line answers the question well, and partial when it only gestures at it."
}
},
"required": [
"excerpt",
"question"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 80,
"description": "Your line-by-line labels. Quote each persuasive line exactly and name the one reader question it mainly answers. Skip lines that are pure filler."
},
"awareness_level": {
"type": "string",
"enum": [
"unaware",
"problem_aware",
"solution_aware",
"product_aware",
"most_aware"
],
"description": "How much the reader already knows, on Eugene Schwartz's scale. Use unaware if they don't know they have the problem, problem_aware if they feel it, solution_aware if they know solutions exist, product_aware if they know you, and most_aware if they're ready and only need the offer."
},
"category": {
"type": "string",
"maxLength": 60,
"description": "The industry, if you want to compare against what brands in that category usually do. There is enough data for apparel, automotive, b2b_saas, beauty_skincare, business_coaching, consumer_tech, dtc_food_bev, dtc_health, fitness_health, home_goods, info_product, investing, marketing_education, otc_pharma, personal_care, personal_development, supplements, weight_loss. Any other category still works, just without the comparison."
},
"headline": {
"type": "string",
"maxLength": 300,
"description": "The headline or opening line, if it isn't the first line of the copy."
},
"persuasion_mode": {
"type": "string",
"enum": [
"aggressive",
"balanced",
"equity"
],
"default": "balanced",
"description": "How hard the copy is allowed to push. Balanced is the default, persuasive and sustainable over time. Equity protects long-term trust, so it rules out fear, hype and hard-sell moves. Aggressive is for short-term direct response and allows fear, threat and hard scarcity. In every mode, the claims stay true."
},
"brief": {
"type": "object",
"properties": {
"brand": {
"type": "string",
"maxLength": 200
},
"product": {
"type": "string",
"maxLength": 400
},
"offer": {
"type": "string",
"maxLength": 400
},
"audience": {
"type": "string",
"maxLength": 400
},
"proof": {
"type": "string",
"maxLength": 400
}
},
"additionalProperties": false,
"description": "The brief, if you have it: the brand, product, offer, audience and proof. With it, the opening line gets the swap test, which asks whether a competitor could send it unchanged."
}
},
"required": [
"copy",
"goal",
"format",
"moves"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢explain_why_not_converting(symptom, format, details, category, persuasion_mode)
Work out why an ad, a landing page, an email or a whole funnel isn't converting. Start from what you can see. Maybe people don't click (a low CTR), or they click and bounce, or they read and don't buy. Maybe they abandon the checkout or the form, the leads never buy, customers buy once and leave, or emails don't get opened or get opened and nobody clicks. Whatever the symptom, you get back the reader questions most likely going unanswered, what to check in the copy first, and the problems copy can't fix that you should rule out, along with techniques to try and the test that would confirm the diagnosis. So use it whenever someone says their marketing "isn't working", "isn't converting" or "isn't selling", or asks why results dropped.
입력 스키마
{
"type": "object",
"properties": {
"symptom": {
"type": "string",
"enum": [
"low_click_through",
"high_bounce",
"reads_but_no_action",
"starts_but_abandons",
"leads_dont_buy",
"buys_once_no_return",
"low_open_rate",
"opens_no_clicks"
],
"description": "What you can see happening. Use low_click_through when people see it and don't click, high_bounce when they click and leave fast, reads_but_no_action when they read and don't convert, starts_but_abandons when they abandon the checkout or form, leads_dont_buy when signups never buy, buys_once_no_return for refunds, churn and no repeat orders, low_open_rate when emails don't get opened, and opens_no_clicks when they get opened but not clicked."
},
"format": {
"type": "string",
"enum": [
"ad",
"landing_page",
"sales_letter",
"email",
"email_subject",
"social_post",
"video_script",
"headline"
],
"description": "The kind of copy it is: ad, landing_page, sales_letter for long-form sales copy, email, email_subject, social_post, video_script or headline."
},
"details": {
"type": "string",
"maxLength": 2000,
"description": "Anything you know: the numbers, what changed recently, the offer and the audience."
},
"category": {
"type": "string",
"maxLength": 60,
"description": "The industry, if you want to compare against what brands in that category usually do. There is enough data for apparel, automotive, b2b_saas, beauty_skincare, business_coaching, consumer_tech, dtc_food_bev, dtc_health, fitness_health, home_goods, info_product, investing, marketing_education, otc_pharma, personal_care, personal_development, supplements, weight_loss. Any other category still works, just without the comparison."
},
"persuasion_mode": {
"type": "string",
"enum": [
"aggressive",
"balanced",
"equity"
],
"default": "balanced",
"description": "How hard the copy is allowed to push. Balanced is the default, persuasive and sustainable over time. Equity protects long-term trust, so it rules out fear, hype and hard-sell moves. Aggressive is for short-term direct response and allows fear, threat and hard scarcity. In every mode, the claims stay true."
}
},
"required": [
"symptom"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_persuasion_techniques(query, question, format, category, limit)
Search the Persuasion Taxonomy, 766 named persuasion techniques documented from real advertising and organized by the nine reader questions they answer. Describe what you want the copy to do, like build trust without testimonials, create urgency without fake scarcity, handle a price objection, make an opening less generic, prove a claim or reframe a problem. It finds the techniques that do it. Each one comes with its name and ID, a one-line definition, a real example, how common it is in a category if you name one, and a link. So reach for it when a draft relies on the obvious move and you want a less expected one, or when someone asks for tactics, angles, hooks or ideas.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 300,
"description": "What you want the copy to do, in plain words, like \"prove it works without testimonials\"."
},
"question": {
"type": "string",
"enum": [
"DISRUPT",
"IDENTIFY",
"AGITATE",
"REFRAME",
"PROVE",
"ELEVATE",
"RESOLVE",
"COMPEL",
"BOND"
],
"description": "Set this to see only the techniques that answer one reader question."
},
"format": {
"type": "string",
"enum": [
"ad",
"landing_page",
"sales_letter",
"email",
"email_subject",
"social_post",
"video_script",
"headline"
],
"description": "The kind of copy it is: ad, landing_page, sales_letter for long-form sales copy, email, email_subject, social_post, video_script or headline."
},
"category": {
"type": "string",
"maxLength": 60,
"description": "The industry, if you want to compare against what brands in that category usually do. There is enough data for apparel, automotive, b2b_saas, beauty_skincare, business_coaching, consumer_tech, dtc_food_bev, dtc_health, fitness_health, home_goods, info_product, investing, marketing_education, otc_pharma, personal_care, personal_development, supplements, weight_loss. Any other category still works, just without the comparison."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 8
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_persuasion_technique(id, category)
Look up one persuasion technique by its ID (like PT-PRV-10000), its slug or its name. You get the full definition, why it works, when it lands and when it backfires, real examples from advertising, related and opposite techniques, and a link you can cite. Use it before you apply or recommend a technique so you get it right, and whenever someone asks what a tactic is called or how it works.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 2,
"maxLength": 160,
"description": "The PT-ID, the slug or the exact name of the technique."
},
"category": {
"type": "string",
"maxLength": 60,
"description": "The industry, if you want to compare against what brands in that category usually do. There is enough data for apparel, automotive, b2b_saas, beauty_skincare, business_coaching, consumer_tech, dtc_food_bev, dtc_health, fitness_health, home_goods, info_product, investing, marketing_education, otc_pharma, personal_care, personal_development, supplements, weight_loss. Any other category still works, just without the comparison."
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_headlines(slot, lines, brief, follows, awareness_level)
Check headlines, email subject lines, ad openings, video hooks, social post openings and first lines, and compare options against each other. For each line it tells you whether the line does its job in that spot, meaning which of the nine reader questions it answers, and whether a competitor could send it unchanged. It also shows exactly what a reader sees before the cutoff, flags anything that fails outright, and brings in evidence from thousands of real headline tests. Then it tells you what each option is betting on and which two to test. Before you call it, list the reader questions each line answers and quote the exact words doing the work. Use it whenever you write headlines, hooks or subject lines, whenever you have to choose between them, and whenever someone asks "which one is best?" You won't get a score out of ten. Nobody can predict a winner from the words alone, and that includes this tool.
입력 스키마
{
"type": "object",
"properties": {
"slot": {
"type": "string",
"enum": [
"email_subject",
"ad_opening",
"landing_page_headline",
"first_line",
"video_hook",
"social_post_open",
"sales_letter_headline"
],
"description": "Where the lines will appear: email_subject, ad_opening, landing_page_headline, first_line, video_hook, social_post_open, sales_letter_headline. Each spot has its own job, and the check tells you what it is."
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 2,
"maxLength": 500,
"description": "The line, exactly as written."
},
"answers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"question": {
"type": "string",
"enum": [
"DISRUPT",
"IDENTIFY",
"AGITATE",
"REFRAME",
"PROVE",
"ELEVATE",
"RESOLVE",
"COMPEL",
"BOND"
],
"description": "The reader question the text answers, by its role name: DISRUPT for \"Why am I even reading this?\", IDENTIFY for \"Is this written for me?\", AGITATE for \"How bad is my problem, really?\", REFRAME for \"Am I thinking about this correctly?\", PROVE for \"Can I trust the claim?\", ELEVATE for \"What does my life look like after?\", RESOLVE for \"What's stopping me from saying yes?\", COMPEL for \"Why should I act right now?\", BOND for \"Do I like and trust who's speaking?\"."
},
"words": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The exact words in the line that answer it."
}
},
"required": [
"question",
"words"
],
"additionalProperties": false
},
"maxItems": 9,
"description": "The reader questions this line answers, each with the exact words that do it. Leave it empty if the line answers none."
}
},
"required": [
"text",
"answers"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 20
},
"brief": {
"type": "object",
"properties": {
"brand": {
"type": "string",
"maxLength": 200,
"description": "The brand or product name."
},
"product": {
"type": "string",
"maxLength": 400,
"description": "What you're selling."
},
"offer": {
"type": "string",
"maxLength": 400,
"description": "The deal or the ask, like the price, a discount, a trial or a deadline."
},
"audience": {
"type": "string",
"maxLength": 400,
"description": "Who reads it: their role, their situation and what is theirs."
},
"proof": {
"type": "string",
"maxLength": 400,
"description": "Real proof you can point to, like customer counts, results or names."
}
},
"additionalProperties": false,
"description": "The brief. The swap test needs it to tell whether a competitor could send the line unchanged, and without it no line can pass."
},
"follows": {
"type": "string",
"maxLength": 600,
"description": "What the reader saw just before this line, like the ad before a landing page headline, or the headline or subject before a first line."
},
"awareness_level": {
"type": "string",
"enum": [
"unaware",
"problem_aware",
"solution_aware",
"product_aware",
"most_aware"
],
"description": "How much the reader already knows, on Eugene Schwartz's scale. Use unaware if they don't know they have the problem, problem_aware if they feel it, solution_aware if they know solutions exist, product_aware if they know you, and most_aware if they're ready and only need the offer."
}
},
"required": [
"slot",
"lines"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_marketing_claims(claims)
Check whether marketing claims and calls to action are specific enough to believe. It catches the vague superlative, like "the best" or "#1", that readers discount on sight. It catches promises with no proof behind them and results with no mechanism, and it flags the generic buttons everyone uses, like "Learn more" and "Get started". Then it tells you how to fix each one. Use it when you write or review claims like "results in days", "trusted by thousands" or "the #1 tool", and for any button text. For headlines, check_headlines does the full job.
입력 스키마
{
"type": "object",
"properties": {
"claims": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 2,
"maxLength": 600,
"description": "The claim or the button text, exactly as written."
},
"type": {
"type": "string",
"enum": [
"headline",
"cta",
"body_claim"
],
"description": "Use headline, cta for a button or call to action, or body_claim for a claim inside the copy."
},
"context": {
"type": "string",
"maxLength": 1500,
"description": "For a claim in the body, the paragraph around it, so a mechanism named nearby still counts."
}
},
"required": [
"text",
"type"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 30
}
},
"required": [
"claims"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢plan_ab_test(baseline_conversion_rate_percent, minimum_detectable_lift_percent, daily_visitors, versions, confidence, ...)
Plan an A/B test for marketing copy. Give it the current conversion rate, the smallest lift worth detecting and the daily traffic, and it tells you how many visitors each version needs and how many days to run. It also frames the test as two different answers to the same reader question, so the result teaches you something you can reuse, and not just that "B won". Use it when someone asks how long to run a test, how much traffic they need, whether a test is worth running, or what to test next.
입력 스키마
{
"type": "object",
"properties": {
"baseline_conversion_rate_percent": {
"type": "number",
"exclusiveMinimum": 0,
"exclusiveMaximum": 100,
"description": "The current conversion rate, in percent, so 3 means 3% and 0.8 means 0.8%."
},
"minimum_detectable_lift_percent": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 500,
"description": "The smallest relative lift worth detecting, in percent. 20 means a 20% lift, like going from 3% to 3.6%."
},
"daily_visitors": {
"type": "number",
"exclusiveMinimum": 0,
"description": "How many visitors a day enter the test, across all versions."
},
"versions": {
"type": "integer",
"minimum": 2,
"maximum": 6,
"default": 2,
"description": "How many versions, counting the original."
},
"confidence": {
"type": "number",
"minimum": 0.8,
"maximum": 0.999,
"default": 0.95
},
"power": {
"type": "number",
"minimum": 0.5,
"maximum": 0.99,
"default": 0.8
},
"question": {
"type": "string",
"enum": [
"DISRUPT",
"IDENTIFY",
"AGITATE",
"REFRAME",
"PROVE",
"ELEVATE",
"RESOLVE",
"COMPEL",
"BOND"
],
"description": "The reader question both versions answer, each in its own way."
},
"version_a": {
"type": "string",
"maxLength": 600,
"description": "How version A answers it."
},
"version_b": {
"type": "string",
"maxLength": 600,
"description": "How version B answers it."
}
},
"required": [
"baseline_conversion_rate_percent",
"minimum_detectable_lift_percent",
"daily_visitors"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢read_ab_test_result(versions, intended_split, confidence, question)
Read the result of an A/B test. You get each version's conversion rate and lift, whether the difference is statistically significant, the confidence interval, and the chance each version really beats the original. It also warns you about the things that make a test result lie. Those include too few conversions, traffic that didn't split the way it should (a sample ratio mismatch), stopping the moment it looked good, and testing too many versions at once. So use it whenever someone shares test numbers, or asks "did my test win?", "is this significant?", "which version won?" or "should I keep it running?"
입력 스키마
{
"type": "object",
"properties": {
"versions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"visitors": {
"type": "integer",
"exclusiveMinimum": 0
},
"conversions": {
"type": "integer",
"minimum": 0
}
},
"required": [
"name",
"visitors",
"conversions"
],
"additionalProperties": false
},
"minItems": 2,
"maxItems": 6,
"description": "Each version with its visitors and conversions. Put the original, the control, first."
},
"intended_split": {
"type": "array",
"items": {
"type": "number",
"exclusiveMinimum": 0
},
"description": "How you meant to split the traffic, like [50, 50]. The default is an even split."
},
"confidence": {
"type": "number",
"minimum": 0.8,
"maximum": 0.999,
"default": 0.95
},
"question": {
"type": "string",
"enum": [
"DISRUPT",
"IDENTIFY",
"AGITATE",
"REFRAME",
"PROVE",
"ELEVATE",
"RESOLVE",
"COMPEL",
"BOND"
],
"description": "The reader question the versions answered in different ways."
}
},
"required": [
"versions"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거