Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,552Letters: 14Defects: 1,331counted 2 min ago
teppi

Server definition

Hash
sha256:a04213a4e72a6ec4cfa5320df7c6a74a83853bb92090be19f7947ec2f7807f80
What it is
What a remote MCP server returned when asked what it offers: 16 tools

The blob, as servednamed by its sha256

{ "instructions": "Dali is Lulu's creative intelligence MCP. Use it BEFORE generating any image or video.\n\nPROACTIVE WORKFLOW (always follow this):\n1. User expresses any image/video generation intent → IMMEDIATELY call score_prompt(prompt, generator)\n2. The result includes 'medium': 'video' or 'image' — ALWAYS use the matching generation tool (video→generate_video, image→generate_image). NEVER convert a video prompt to an image.\n3. If grade is A or B (score ≥ 70) → proceed with the prompt\n4. If grade is C, D, or F (score < 70) → score_prompt already returns an enhancement_brief; YOU write the enhanced prompt using the brief's native_language_rules + structure_template, then score your rewrite to confirm improvement.\n4. NEVER generate an image/video without scoring first — the credit is wasted on a bad prompt\n\nTOOLS:\n- analyze_intent(prompt) — parse creative signals before scoring\n- score_prompt(prompt, generator) — grade 0–100 AND, if score<70, returns the rewrite brief in the same call\n- enhance_prompt(prompt, generator) — returns a standalone rewrite brief; YOU write the enhanced prompt from it\n- track_enhancement(original, enhanced, generator) — call this AFTER you write the enhanced prompt to record the improvement in the graph\n- score_variations(prompts_list, generator) — rank 2-8 prompt variants, pick the winner\n- suggest_generator(concept, budget_usd_max) — recommend best generator for your concept + budget\n- creative_patterns(generator) — community A-grade patterns from the graph brain\n- community_benchmark(prompt, generator) — compare vs top scorers, highest-ROI gaps\n- my_story() — personal scoring history, generator stats, creative DNA\n- list_generators() — all supported generators with strengths\n\nENHANCEMENT LOOP:\n1. score_prompt(prompt, generator) → if score<70, the enhancement_brief is included\n2. YOU write enhanced prompt from the brief\n3. track_enhancement(original, enhanced, generator) → records improvement, returns delta\n\nSCORE THE CREATIVE (the generated ad itself, not just the prompt):\n- User shares/pastes an ad IMAGE for feedback → score_creative_from_view(category, lighting, subject, format, offer_visible, defects, …): YOU read what's in the image and Dali scores it against 3,800+ proven winners in that vertical, returning the verdict + which winning attributes it's missing. No URL needed — use this for pasted/attached images.\n- User gives a fetchable image URL → score_creative(image_url, category): adds the embedding 'nearest proven winners' headline (needs real pixels).\n- User wants THEIR own winning formula → analyze_winning_formula(csv, category): their ads export → what separates their winners from losers + industry benchmark.\nOnly score a creative when the user is asking for ad/creative feedback — not for every image shared.\n\nSUPPORTED GENERATORS: veo3, seedance, kling, runway, wan, minimax, higgsfield-dop, higgsfield-soul, higgsfield-soul-cinema, sora, luma, pika, pixverse, flux, midjourney, ideogram, firefly, imagen, leonardo\nGENERATOR ALIASES: veo→veo3, mj→midjourney, sd→flux, gen4→runway, hailuo→minimax, wan27→wan, leo→leonardo, pix→pixverse, lumadream→luma\n\nRESOURCES: creative://guide/{generator} — full native-language guide per generator\n\nINSTALL: dali.getlulu.dev/install\n\nVERSION: call dali_version() to see current version + changelog", "tools": [ { "description": "Parse a creative prompt into structured intent dimensions.", "inputSchema": { "additionalProperties": false, "properties": { "medium": { "default": "auto", "type": "string" }, "prompt": { "type": "string" } }, "required": [ "prompt" ], "type": "object" }, "name": "analyze_intent", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Find YOUR winning ad formula from your own numbers — paste your ads export.\n\nThe category prior is a cold-start fallback; the real signal is what wins in\nYOUR account. Paste an ads CSV (a creative image-URL column + a performance\ncolumn — CPA / CTR / ROAS / purchases) and Dali runs vision on your winners vs\nlosers and returns the attributes that separate them, plus how your account\ncompares to the industry median.\n\nIf an email is supplied, the formula is saved and emailed with a ready-to-paste\nClaude prompt wired to Dali — so scoring the next creative is one step.\n\nReturns:\n formula — attributes over-represented in your winners (value, winner%/loser%, lift)\n benchmark — your median vs the vertical's industry median (when category given)\n analyzed — how many winners/losers were read, and the metric direction\n saved — whether the lead+formula were captured (only when email supplied)", "inputSchema": { "additionalProperties": false, "properties": { "category": { "default": "", "type": "string" }, "csv": { "type": "string" }, "email": { "default": "", "type": "string" } }, "required": [ "csv" ], "type": "object" }, "name": "analyze_winning_formula", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Compare your prompt against community top scorers for this generator.\n\nReturns your score, missing A-grade patterns, and highest-ROI patterns to add.", "inputSchema": { "additionalProperties": false, "properties": { "generator": { "type": "string" }, "prompt": { "type": "string" } }, "required": [ "prompt", "generator" ], "type": "object" }, "name": "community_benchmark", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Community graph: which patterns consistently produce high-grade prompts for this generator?\n\nPowered by the V3 graph brain (Supabase PostgreSQL). Every scored prompt contributes.\nReturns top patterns by type, enhancement unlocks, and cross-model universal patterns.", "inputSchema": { "additionalProperties": false, "properties": { "generator": { "type": "string" }, "grade": { "default": "A", "type": "string" } }, "required": [ "generator" ], "type": "object" }, "name": "creative_patterns", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Current Dali MCP version and changelog.\n\nCheck this whenever you want to know what tools are available,\nwhat changed in the latest release, or which version is running.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "dali_version", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Get a rewrite brief for this prompt + generator. YOU write the enhanced prompt from the brief.\n\nReturns a structured brief with score_before, rewrite_brief, and llm_instructions.\n\ncategory (optional): the ad vertical (e.g. \"wellness\", \"beauty\") if known.\nWhen set and conversion priors exist for it, the brief upgrades from craft\nadvice to a conversion-justified one, backed by real ad-performance data.\n\nIMPORTANT: After you write the enhanced prompt, you MUST call\ntrack_enhancement(original_prompt, your_enhanced_prompt, generator) immediately.\nThis is not optional — it records the improvement and is required for the graph to learn.", "inputSchema": { "additionalProperties": false, "properties": { "category": { "default": "", "type": "string" }, "generator": { "type": "string" }, "prompt": { "type": "string" } }, "required": [ "prompt", "generator" ], "type": "object" }, "name": "enhance_prompt", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Show the most reliable path from a bad grade to an A on this generator.\n\nMines the Dali graph for all F/D → A/B enhancement pairs and surfaces\nthe patterns that appear most consistently in the 'after' side.\nThese are the highest-ROI moves for this specific generator.\n\nUse this when:\n- A prompt just scored D or F and you're not sure what to fix\n- You want to know which improvements matter most for a specific generator\n- You want to understand generator-specific enhancement strategy", "inputSchema": { "additionalProperties": false, "properties": { "generator": { "description": "The generation model (veo3, seedance, kling, etc.)", "type": "string" }, "starting_grade": { "default": "F", "description": "The grade you're starting from — 'F', 'D', or 'C' (default 'F')", "type": "string" } }, "required": [ "generator" ], "type": "object" }, "name": "enhancement_path", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "List all supported generation targets (providers + models) with medium and core strength.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_generators", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Your Dali creative report — scoring history, generator stats, recent scorers, creative DNA.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "my_story", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Find community A/B-grade prompts structurally similar to yours.\n\nUses graph traversal (Memgraph) to locate prompts that share the most\ncreative patterns with your input and scored A or B on the same generator.\nReturns what those prompts did right — so you can adopt the same moves.\n\nUse this when:\n- Your prompt scored C or below and you want inspiration\n- You want to see how the community solved the same creative problem\n- You need concrete A-grade examples, not abstract advice", "inputSchema": { "additionalProperties": false, "properties": { "generator": { "description": "The generation model (veo3, midjourney, flux, etc.)", "type": "string" }, "prompt": { "description": "The prompt to find neighbors for.", "type": "string" } }, "required": [ "prompt", "generator" ], "type": "object" }, "name": "prompt_neighbors", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Score an actual ad IMAGE (not the text prompt) for conversion — before you spend.\n\nConversion lives in the pixels, so this scores the real creative and gives you\nONE answer combining two views, in a single call:\n • HEADLINE score = how much it visually resembles PROVEN WINNERS (Vertex\n embedding vs the live winner corpus). The sharpest predictor — it reads the\n whole look and self-solves archetype (a premium ad resembles premium winners,\n not scammy direct-response ones).\n • WHAT TO CHANGE = the specific winning attributes it's missing (Gemini vision\n vs category priors) — the actionable detail.\n • DEFECT GATE = generation defects (extra fingers, garbled text, warped anatomy).\n\nUse it on a generated image, a mockup, or any ad you're about to run.\n\nReturns:\n score — 0-100 headline: visual similarity to proven winners\n verdict — one-line looks-like-a-winner / partial / rework call\n looks_like — the real proven winners it resembles (advertiser, category, days-run)\n what_to_change — high-lift winning attributes it lacks, each with a fix sentence\n you_already_have — winning attributes it already has\n has_defect/defects — generation defects to fix before shipping\n detail — raw numbers {embedding_score, attribute_score} for transparency\n\ncategory examples: beauty, supplements, wellness, fitness, food, apparel, tech, pets.\nLeave category empty for a cross-vertical look-alike match + defect QA.", "inputSchema": { "additionalProperties": false, "properties": { "category": { "default": "", "type": "string" }, "image_url": { "type": "string" } }, "required": [ "image_url" ], "type": "object" }, "name": "score_creative", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Score an ad creative YOU are looking at (e.g. a pasted/attached image) against\nthe winning corpus — no URL needed. Use this when the user shares an image in the\nconversation: read the creative yourself and fill in what you see, and Dali scores\nit against what wins in the category (3,800+ proven winners), returning the\nconversion verdict and exactly which winning attributes it's missing.\n\nYou (the model) provide the visual read; Dali provides the winning-data scoring.\n(For a fetchable image URL, prefer score_creative — it adds the embedding\nsimilarity headline, which needs the real pixels.)\n\nFill these from looking at the image:\n category — vertical: beauty, wellness, supplements, fitness, food, apparel, tech, pets\n lighting — warm lighting | natural light | studio light | dramatic lighting | clinical bright | dark moody | neon\n subject — single person | group | product only | no person | before after\n subject_age — young adult | middle age | senior | child | none\n format — ugc selfie | testimonial | product hero | lifestyle | chart infographic | text meme | comparison\n text_density — none | light | heavy\n dominant_emotion — calm | excited | trust | fear | aspiration | neutral\n eye_contact — true if a person looks at camera\n offer_visible — true if a price/discount/offer is shown\n defects — list any generation defects (extra fingers, garbled text, warped anatomy); [] if clean\n\nReturns: conversion_score (0-100), verdict, matched (winning attributes it has),\nmissing (high-lift attributes to add, each with a fix sentence), has_defect/defects.", "inputSchema": { "additionalProperties": false, "properties": { "category": { "type": "string" }, "defects": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null }, "dominant_emotion": { "default": "", "type": "string" }, "eye_contact": { "default": false, "type": "boolean" }, "format": { "default": "", "type": "string" }, "lighting": { "default": "", "type": "string" }, "offer_visible": { "default": false, "type": "boolean" }, "subject": { "default": "", "type": "string" }, "subject_age": { "default": "", "type": "string" }, "text_density": { "default": "", "type": "string" } }, "required": [ "category" ], "type": "object" }, "name": "score_creative_from_view", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Score a prompt for a generation target (0–100) and, if it's weak, return the rewrite brief — in ONE call.\n\nReads intent with a fast heuristic keyword analyzer, scores the prompt, then:\n • score ≥ 70 (A/B) → returns the scorecard and tells you to proceed.\n • score < 70 (C/D/F) → returns the scorecard PLUS a rewrite brief so you can\n fix it without a second call. Write the enhanced prompt from the brief, then\n call track_enhancement(original, enhanced, generator).\n\nReturns a ScoreCard (overall, grade A–F, per-dimension breakdown, what's missing,\nanti-patterns, verdict) plus needs_enhancement, and enhancement_brief when weak.\n\ncategory (optional): the ad vertical (e.g. \"wellness\", \"beauty\") — when set and\nconversion priors exist, the brief upgrades to a conversion-justified rewrite.\n\nSupported generators: veo3, higgsfield, midjourney, flux, kling, sora, imagen…", "inputSchema": { "additionalProperties": false, "properties": { "category": { "default": "", "type": "string" }, "generator": { "type": "string" }, "prompt": { "type": "string" } }, "required": [ "prompt", "generator" ], "type": "object" }, "name": "score_prompt", "outputSchema": null }, { "description": "Score 2–8 prompt variations for the same generator and rank them best-to-worst.\n\nUse this when you've drafted multiple versions of a prompt and want to pick the winner\nwithout burning generation credits. Returns a ranked list with per-dimension comparison\nso you can see exactly why one variant beats another.", "inputSchema": { "additionalProperties": false, "properties": { "generator": { "description": "Target generator for all variants", "type": "string" }, "prompts": { "description": "List of 2–8 prompt variants (same creative intent, different wording)", "items": { "type": "string" }, "type": "array" } }, "required": [ "prompts", "generator" ], "type": "object" }, "name": "score_variations", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Recommend the best generator for your creative concept and per-generation budget.\n\nAnalyzes the concept's creative signals (motion, style, subject type, use case)\nand matches them to generators within your budget. Returns a ranked list so you\ncan make an informed choice before scoring the actual prompt.", "inputSchema": { "additionalProperties": false, "properties": { "budget_usd_max": { "default": 1, "description": "Max USD per generation attempt (default $1.00)", "type": "number" }, "concept": { "description": "What you want to make — subject, style, mood, format, use case", "type": "string" } }, "required": [ "concept" ], "type": "object" }, "name": "suggest_generator", "outputSchema": { "additionalProperties": true, "type": "object" } }, { "description": "Record an enhancement pair in the Dali graph brain.\n\nCall this AFTER you write an enhanced prompt from score_prompt's brief or enhance_prompt.\nThis records the before→after improvement so the graph learns which rewrites consistently\npush scores up — enriching creative_patterns and community_benchmark over time.\n\nReturns before/after scores so you can confirm the delta.", "inputSchema": { "additionalProperties": false, "properties": { "enhanced_prompt": { "type": "string" }, "generator": { "type": "string" }, "original_prompt": { "type": "string" } }, "required": [ "original_prompt", "enhanced_prompt", "generator" ], "type": "object" }, "name": "track_enhancement", "outputSchema": { "additionalProperties": true, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:a04213a4e72a6ec4cfa5320df7c6a74a83853bb92090be19f7947ec2f7807f80 | sha256sum