Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,547Letters: 14Defects: 1,324counted just now
teppi

Server definition

Hash
sha256:19e38c521bce4fea162c7850345fe7e9e29a77aa44037e36308e5a05e27586d7
What it is
What a remote MCP server returned when asked what it offers: 21 tools

The blob, as servednamed by its sha256

{ "instructions": "ideaudit MCP server, guest lane — no API key was sent, so this is the set that costs nothing to serve: deterministic scoring, including the verdict. Call `get_started` for what an account adds and how to get one. Everything needing storage or paid data is behind a key on this same endpoint.", "tools": [ { "description": "Compute barrier_score (0-24) + label (PRISTINE/OPEN/COMPETITIVE/CROWDED) from competitor counts + SERP noise fraction.", "inputSchema": { "properties": { "adjacentCompetitorCount": { "default": 0, "minimum": 0, "type": "integer" }, "directCompetitorCount": { "minimum": 0, "type": "integer" }, "serpNoise": { "default": 0, "maximum": 1, "minimum": 0, "type": "number" } }, "required": [ "directCompetitorCount" ], "type": "object" }, "name": "compute_barrier", "outputSchema": null }, { "description": "Compute budget_proof_score (0-10) + label (STRONG/CONFIRMED/WEAK/ABSENT) + purchase_intent_pct from pricing hits + review-site hits + intent mentions.", "inputSchema": { "properties": { "hasNamedPricing": { "type": "boolean" }, "pricingHitsCount": { "minimum": 0, "type": "integer" }, "purchaseIntentMentions": { "minimum": 0, "type": "integer" }, "reviewSiteHitsCount": { "minimum": 0, "type": "integer" } }, "required": [ "pricingHitsCount" ], "type": "object" }, "name": "compute_budget_proof", "outputSchema": null }, { "description": "Compute build_complexity_penalty (0-10, higher = worse) + per-factor breakdown. Hard tags: ml/realtime/blockchain/hardware/compliance/custom-ai/regulated/on-device-ai/iot.", "inputSchema": { "properties": { "externalApisCount": { "minimum": 0, "type": "integer" }, "integrationsCount": { "minimum": 0, "type": "integer" }, "stackComplexityTags": { "items": { "type": "string" }, "type": "array" } }, "required": [ "externalApisCount" ], "type": "object" }, "name": "compute_build_complexity", "outputSchema": null }, { "description": "Compute 12 deterministic collection scores (0-100) + badges + death reason for an enriched idea. Pure math. No external calls.", "inputSchema": { "properties": { "analysisId": { "type": "string" }, "enrichedData": { "description": "EnrichedData with canonical_idea signals.", "type": "object" } }, "required": [ "analysisId", "enrichedData" ], "type": "object" }, "name": "compute_collection_scores", "outputSchema": null }, { "description": "Crossed-product audit explorer. Same input as compute_dealbreakers_v2 — returns substrate verdict (no-observer baseline) + crossed verdict (when observer supplied) + a 5-row matrix of {solo, cofounded_technical, cofounded_business, domain_expert, serial} archetype verdicts. Never persists; meant for the dashboard \"view as [archetype]\" dropdown and for previewing a verdict before committing to it.", "inputSchema": { "properties": { "hasMajorContradiction": { "default": false, "type": "boolean" }, "lensScores": { "items": { "properties": { "confidence": { "maximum": 1, "minimum": 0, "type": "number" }, "lens": { "enum": [ "team", "problem_solution", "traction", "competition", "gtm", "finance" ], "type": "string" }, "redFlag": { "type": "boolean" }, "score": { "maximum": 100, "minimum": 0, "type": "number" } }, "required": [ "lens", "score", "confidence" ], "type": "object" }, "type": "array" }, "observer": { "description": "Founder profile that crosses with the substrate idea to produce an observer-relative verdict. When omitted, only the substrate verdict is returned.", "properties": { "capital_usd_band": { "enum": [ "under_50k", "50k_500k", "500k_5m", "over_5m" ], "type": "string" }, "exit_goal": { "enum": [ "lifestyle", "acquisition", "ipo", "unicorn" ], "type": "string" }, "expertise_sectors": { "items": { "maxLength": 80, "minLength": 2, "type": "string" }, "maxItems": 8, "type": "array" }, "founder_type": { "enum": [ "solo", "cofounded_technical", "cofounded_business", "domain_expert", "serial" ], "type": "string" }, "risk_tolerance": { "enum": [ "conservative", "moderate", "aggressive" ], "type": "string" }, "runway_months": { "maximum": 60, "minimum": 0, "type": "integer" }, "time_horizon_years": { "maximum": 15, "minimum": 1, "type": "integer" } }, "required": [ "founder_type" ], "type": "object" }, "sector": { "type": "string" }, "stage": { "enum": [ "idea", "mvp", "seed", "series_a_plus" ], "type": "string" }, "stageProbabilities": { "properties": { "idea": { "maximum": 1, "minimum": 0, "type": "number" }, "mvp": { "maximum": 1, "minimum": 0, "type": "number" }, "seed": { "maximum": 1, "minimum": 0, "type": "number" }, "series_a_plus": { "maximum": 1, "minimum": 0, "type": "number" } }, "type": "object" }, "unresolvedContradictions": { "default": 0, "minimum": 0, "type": "integer" } }, "required": [ "stage", "lensScores" ], "type": "object" }, "name": "compute_crossed_matrix", "outputSchema": null }, { "description": "Methodology v2 dealbreakers — stage-aware weights + confidence-weighted lens scoring + risk-asymmetric verdict (GO requires score≥80 AND zero red flags AND avg confidence≥0.6). Optional `observer` triggers the crossed-product pipeline: substrate verdict (no-observer baseline) PLUS crossed verdict (observer-perturbed weights, risk-tolerance shifted thresholds) PLUS 5-row archetype matrix. The KILL gate (≥2 blockers / score<50) is observer-invariant — fatal stays fatal.", "inputSchema": { "properties": { "hasMajorContradiction": { "default": false, "type": "boolean" }, "lensScores": { "items": { "properties": { "confidence": { "maximum": 1, "minimum": 0, "type": "number" }, "lens": { "enum": [ "team", "problem_solution", "traction", "competition", "gtm", "finance" ], "type": "string" }, "redFlag": { "type": "boolean" }, "score": { "maximum": 100, "minimum": 0, "type": "number" } }, "required": [ "lens", "score", "confidence" ], "type": "object" }, "type": "array" }, "observer": { "description": "Founder profile that crosses with the substrate idea to produce an observer-relative verdict. When omitted, only the substrate verdict is returned.", "properties": { "capital_usd_band": { "enum": [ "under_50k", "50k_500k", "500k_5m", "over_5m" ], "type": "string" }, "exit_goal": { "enum": [ "lifestyle", "acquisition", "ipo", "unicorn" ], "type": "string" }, "expertise_sectors": { "items": { "maxLength": 80, "minLength": 2, "type": "string" }, "maxItems": 8, "type": "array" }, "founder_type": { "enum": [ "solo", "cofounded_technical", "cofounded_business", "domain_expert", "serial" ], "type": "string" }, "risk_tolerance": { "enum": [ "conservative", "moderate", "aggressive" ], "type": "string" }, "runway_months": { "maximum": 60, "minimum": 0, "type": "integer" }, "time_horizon_years": { "maximum": 15, "minimum": 1, "type": "integer" } }, "required": [ "founder_type" ], "type": "object" }, "sector": { "type": "string" }, "stage": { "enum": [ "idea", "mvp", "seed", "series_a_plus" ], "type": "string" }, "stageProbabilities": { "properties": { "idea": { "maximum": 1, "minimum": 0, "type": "number" }, "mvp": { "maximum": 1, "minimum": 0, "type": "number" }, "seed": { "maximum": 1, "minimum": 0, "type": "number" }, "series_a_plus": { "maximum": 1, "minimum": 0, "type": "number" } }, "type": "object" }, "unresolvedContradictions": { "default": 0, "minimum": 0, "type": "integer" } }, "required": [ "stage", "lensScores" ], "type": "object" }, "name": "compute_dealbreakers_v2", "outputSchema": null }, { "description": "Compute funding_momentum_score (0-10) + badge (HOT/WARM/COOL/COLD) from tier-weighted funding-article hit counts.", "inputSchema": { "properties": { "hitsByTier": { "properties": { "presswire": { "minimum": 0, "type": "integer" }, "regional": { "minimum": 0, "type": "integer" }, "tier_1": { "minimum": 0, "type": "integer" }, "vertical": { "minimum": 0, "type": "integer" } }, "type": "object" }, "recent30dHits": { "minimum": 0, "type": "integer" } }, "required": [ "hitsByTier" ], "type": "object" }, "name": "compute_funding_momentum", "outputSchema": null }, { "description": "Compute hiring_demand_score (0-10) from priority-weighted ATS site hit counts (use registries/hiring-sources for priorities).", "inputSchema": { "properties": { "sites": { "items": { "properties": { "domain": { "type": "string" }, "hits": { "minimum": 0, "type": "integer" }, "priority": { "enum": [ 1, 2, 3 ], "type": "integer" } }, "required": [ "domain", "hits", "priority" ], "type": "object" }, "type": "array" } }, "required": [ "sites" ], "type": "object" }, "name": "compute_hiring_demand", "outputSchema": null }, { "description": "Compose lrs_final_100 (0-100) + label (WEAK/EMERGING/GOOD/STRONG/ELITE) + leaderboard_eligible flag + sub-percent breakdown. Weights: sv 0.25, sp 0.30, barrier 0.25, monetization 0.20.", "inputSchema": { "properties": { "barrierScore": { "maximum": 24, "minimum": 0, "type": "number" }, "monetizationScore": { "maximum": 21, "minimum": 0, "type": "number" }, "searchVelocityScore": { "maximum": 25, "minimum": 0, "type": "number" }, "socialPainScore": { "maximum": 30, "minimum": 0, "type": "number" } }, "required": [ "searchVelocityScore", "socialPainScore", "barrierScore", "monetizationScore" ], "type": "object" }, "name": "compute_lrs_composite", "outputSchema": null }, { "description": "LRS composite v2 — 6 components (SV, Pain, Barrier, Monet, X-Signal, Budget-Proof). Default Python weights 0.18/0.22/0.18/0.14/0.18/0.10 sum=1.0. Returns BOTH weighted score and equal-weight baseline (per OECD Handbook + Greco 2018 — equal-weight is defensible default when no outcome calibration exists). buildComplexityPenalty 0-10 subtracted from score. sectorProfile (ai_native/creator/crypto) opt-in reshuffles SV→0.16, X→0.20. Labels: THE_ROAR (≥80) / PROMISING (≥60) / EXPERIMENTAL (≥40) / WEAK_SIGNAL (<40).", "inputSchema": { "properties": { "barrierScore": { "maximum": 24, "minimum": 0, "type": "number" }, "budgetProofScore": { "maximum": 10, "minimum": 0, "type": "number" }, "buildComplexityPenalty": { "maximum": 10, "minimum": 0, "type": "number" }, "monetizationScore": { "maximum": 21, "minimum": 0, "type": "number" }, "searchVelocityScore": { "maximum": 25, "minimum": 0, "type": "number" }, "sectorProfile": { "description": "Opt-in sector weight override. Default uses Python canonical weights.", "enum": [ "default", "ai_native", "creator", "crypto" ], "type": "string" }, "socialPainScore": { "maximum": 30, "minimum": 0, "type": "number" }, "xSignalScore": { "maximum": 20, "minimum": 0, "type": "number" } }, "required": [ "searchVelocityScore", "socialPainScore", "barrierScore", "monetizationScore", "xSignalScore", "budgetProofScore" ], "type": "object" }, "name": "compute_lrs_composite_v2", "outputSchema": null }, { "description": "Compute monetization_score (0-21) + label + has_pricing_anchors from pricing anchors + model tags + deal cycle hint.", "inputSchema": { "properties": { "dealCycle": { "description": "instant/days/weeks/months/quarters", "type": "string" }, "modelTags": { "description": "e.g. [\"subscription\",\"usage\",\"marketplace\"]", "items": { "type": "string" }, "type": "array" }, "pricingAnchorsCount": { "minimum": 0, "type": "integer" } }, "required": [ "pricingAnchorsCount" ], "type": "object" }, "name": "compute_monetization", "outputSchema": null }, { "description": "Multi-source TAM consensus. Pass 2-3 sources of market-size text. Optional `estimateYear` per source — when supplied, the result includes yearRange and a hasStaleData flag (true if the span exceeds 5 years). Outliers are dropped by modified Z-score over the median absolute deviation when n≥4. Returns the extracted dollar amounts + consensus median + an agreement score 0..1, where 1 means every source lands within 20% of the median.", "inputSchema": { "properties": { "inputs": { "items": { "properties": { "estimateYear": { "description": "Optional: year the estimate was published.", "maximum": 2100, "minimum": 1990, "type": "integer" }, "source": { "type": "string" }, "text": { "type": "string" } }, "required": [ "source", "text" ], "type": "object" }, "type": "array" } }, "required": [ "inputs" ], "type": "object" }, "name": "compute_multi_source_tam", "outputSchema": null }, { "description": "Wave 5 N.4 — compute ppc_spend_score (0-10) + label (STRONG/CONFIRMED/WEAK/ABSENT) + market_saturation from PPC traffic projection (avgCpcUsd, totalMonthlySpendUsd, optional competitorBidders + competition). Feed numbers from dataforseo_ad_traffic.", "inputSchema": { "properties": { "avgCpcUsd": { "minimum": 0, "type": "number" }, "competition": { "maximum": 1, "minimum": 0, "type": "number" }, "competitorBidders": { "minimum": 0, "type": "integer" }, "totalMonthlySpendUsd": { "minimum": 0, "type": "number" } }, "required": [ "avgCpcUsd", "totalMonthlySpendUsd" ], "type": "object" }, "name": "compute_ppc_spend_signal", "outputSchema": null }, { "description": "Compute search_velocity_score (0-25) from Trends timeline values + rising queries count + geo region count.", "inputSchema": { "properties": { "geoRegionCount": { "minimum": 0, "type": "integer" }, "risingQueriesCount": { "minimum": 0, "type": "integer" }, "timelineValues": { "description": "Monthly Trends values 0-100 (e.g. last 10-12 months).", "items": { "maximum": 100, "minimum": 0, "type": "number" }, "type": "array" } }, "required": [ "timelineValues" ], "type": "object" }, "name": "compute_search_velocity", "outputSchema": null }, { "description": "Search velocity (0-25) v2 — canonical 0.40*volume + 0.30*trend + 0.20*intent + 0.10*geo. CRITICAL: externalVolumeNorm MUST come from external sources (Amazon BSR / app store installs / job-board postings) — NOT the Trends timeline (would double-count, since Trends is itself normalized 0-100 within window). trendNorm is derived internally from trendsTimelineValues. Trends peak<50 zeroes the trend component (Yotpo SEO floor). Optional daysSinceLastSignal applies exponential freshness decay (search half-life 90d).", "inputSchema": { "properties": { "daysSinceLastSignal": { "description": "Optional: days since most recent confirming signal. Triggers exponential freshness decay (half-life 90d).", "minimum": 0, "type": "number" }, "externalVolumeNorm": { "description": "Normalized 0-1 demand volume from EXTERNAL sources (Amazon, app stores, jobs). Caller normalizes before passing.", "maximum": 1, "minimum": 0, "type": "number" }, "geoSpreadNorm": { "description": "0-1 geographic spread (regions with interest > threshold).", "maximum": 1, "minimum": 0, "type": "number" }, "intentNorm": { "description": "0-1 commercial/transactional intent ratio.", "maximum": 1, "minimum": 0, "type": "number" }, "trendsTimelineValues": { "description": "Monthly Trends values 0-100. Used ONLY to derive trendNorm — never as raw volume.", "items": { "maximum": 100, "minimum": 0, "type": "number" }, "type": "array" } }, "required": [ "trendsTimelineValues", "externalVolumeNorm", "intentNorm", "geoSpreadNorm" ], "type": "object" }, "name": "compute_search_velocity_v2", "outputSchema": null }, { "description": "Compute social_pain_score (0-30) + total mentions + dominant perspective (business/consumer/trend/mixed).", "inputSchema": { "properties": { "categoryCounts": { "properties": { "business": { "minimum": 0, "type": "integer" }, "consumer": { "minimum": 0, "type": "integer" }, "trend": { "minimum": 0, "type": "integer" } }, "type": "object" }, "intentMentions": { "default": 0, "minimum": 0, "type": "integer" }, "painMentions": { "minimum": 0, "type": "integer" }, "urgencyMentions": { "default": 0, "minimum": 0, "type": "integer" } }, "required": [ "painMentions" ], "type": "object" }, "name": "compute_social_pain", "outputSchema": null }, { "description": "Compose composite_urgency_score (0-10) + badge (LOW/MEDIUM/HIGH/VERY_HIGH/EXTREME) from 3 sub-scores: news, pain, hiring.", "inputSchema": { "properties": { "hiringSignalScore": { "maximum": 10, "minimum": 0, "type": "number" }, "newsSignalScore": { "maximum": 10, "minimum": 0, "type": "number" }, "painSignalScore": { "maximum": 10, "minimum": 0, "type": "number" } }, "required": [ "newsSignalScore", "painSignalScore", "hiringSignalScore" ], "type": "object" }, "name": "compute_urgency_composite", "outputSchema": null }, { "description": "Compute x_signal_score (0-20) + recency share + positivity rate from X/Twitter mention counts.", "inputSchema": { "properties": { "founderMentions": { "minimum": 0, "type": "integer" }, "mentionsCount": { "minimum": 0, "type": "integer" }, "recent7dCount": { "minimum": 0, "type": "integer" }, "sentimentNegative": { "minimum": 0, "type": "integer" }, "sentimentPositive": { "minimum": 0, "type": "integer" } }, "required": [ "mentionsCount" ], "type": "object" }, "name": "compute_x_signal", "outputSchema": null }, { "description": "Derive a falsifiable, data-driven list of kill criteria from upstream signals — the outputs of validate_unit_economics and compute_dealbreakers_v2, plus an ICP drift count. Returns one row per rule with {rule, threshold, status, evidence?}, where status is tripped_now / monitor / cleared. Replaces prose kill criteria, which are tautologies that can never fire.", "inputSchema": { "properties": { "dealbreakers": { "description": "The result of compute_dealbreakers_v2.", "type": "object" }, "icpDriftCount": { "minimum": 0, "type": "integer" }, "unitEcon": { "description": "The result of validate_unit_economics.", "type": "object" } }, "required": [], "type": "object" }, "name": "derive_kill_criteria", "outputSchema": null }, { "description": "What this server is, what it will do for you right now without an account, and what an account adds. Call this first if you have no API key — it answers in one round trip instead of sending you to a website.", "inputSchema": { "properties": {}, "required": [], "type": "object" }, "name": "get_started", "outputSchema": null }, { "description": "Sanity-check a unit-economics row before publishing it in a business-model slide. Catches the math-drift class of failures (customers × ARPU ≠ revenue), enforces the LTV/CAC ≥ 1.5 floor, the cohort-positivity check, and CAC payback bounds. Returns {ok, errors[{rule, severity, detail}], derived{ratios}}. Skills MUST regenerate the row when ok=false (block-severity errors); warn-severity errors should be surfaced in the final report but do not gate publication. No LLM calls.", "inputSchema": { "properties": { "annualRevenue": { "type": "number" }, "arpu": { "type": "number" }, "cac": { "type": "number" }, "customers": { "type": "number" }, "grossMargin": { "type": "number" }, "ltv": { "type": "number" }, "monthlyChurn": { "type": "number" } }, "required": [ "customers", "arpu", "annualRevenue" ], "type": "object" }, "name": "validate_unit_economics", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:19e38c521bce4fea162c7850345fe7e9e29a77aa44037e36308e5a05e27586d7 | sha256sum