ideaudit
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
The scoring behind an audit allowed to say no. Twenty deterministic tools, offline, no account.
| Author | studio.inite |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 356 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"ideaudit": {
"url": "https://api.inite.studio/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (21)
get_startedWhat 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.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_barrierCompute barrier_score (0-24) + label (PRISTINE/OPEN/COMPETITIVE/CROWDED) from competitor counts + SERP noise fraction.
Parameters:
directCompetitorCount(required) — integerserpNoise— numberadjacentCompetitorCount— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_budget_proofCompute budget_proof_score (0-10) + label (STRONG/CONFIRMED/WEAK/ABSENT) + purchase_intent_pct from pricing hits + review-site hits + intent mentions.
Parameters:
pricingHitsCount(required) — integerhasNamedPricing— booleanreviewSiteHitsCount— integerpurchaseIntentMentions— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_build_complexityCompute build_complexity_penalty (0-10, higher = worse) + per-factor breakdown. Hard tags: ml/realtime/blockchain/hardware/compliance/custom-ai/regulated/on-device-ai/iot.
Parameters:
externalApisCount(required) — integerintegrationsCount— integerstackComplexityTags— array
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_collection_scoresCompute 12 deterministic collection scores (0-100) + badges + death reason for an enriched idea. Pure math. No external calls.
Parameters:
analysisId(required) — stringenrichedData(required) — object — EnrichedData with canonical_idea signals.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_crossed_matrixCrossed-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.
Parameters:
stage(required) — stringlensScores(required) — arraysector— stringobserver— object — Founder profile that crosses with the substrate idea to produce an observer-relative verdict. When omitted, only the substrate verdict is returned.stageProbabilities— objecthasMajorContradiction— booleanunresolvedContradictions— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_dealbreakers_v2Methodology 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.
Parameters:
stage(required) — stringlensScores(required) — arraysector— stringobserver— object — Founder profile that crosses with the substrate idea to produce an observer-relative verdict. When omitted, only the substrate verdict is returned.stageProbabilities— objecthasMajorContradiction— booleanunresolvedContradictions— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_funding_momentumCompute funding_momentum_score (0-10) + badge (HOT/WARM/COOL/COLD) from tier-weighted funding-article hit counts.
Parameters:
hitsByTier(required) — objectrecent30dHits— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_hiring_demandCompute hiring_demand_score (0-10) from priority-weighted ATS site hit counts (use registries/hiring-sources for priorities).
Parameters:
sites(required) — array
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_lrs_composite_v2LRS 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).
Parameters:
searchVelocityScore(required) — numbersocialPainScore(required) — numberbarrierScore(required) — numbermonetizationScore(required) — numberxSignalScore(required) — numberbudgetProofScore(required) — numbersectorProfile— string — Opt-in sector weight override. Default uses Python canonical weights.buildComplexityPenalty— number
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_lrs_compositeCompose 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.
Parameters:
searchVelocityScore(required) — numbersocialPainScore(required) — numberbarrierScore(required) — numbermonetizationScore(required) — number
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_monetizationCompute monetization_score (0-21) + label + has_pricing_anchors from pricing anchors + model tags + deal cycle hint.
Parameters:
pricingAnchorsCount(required) — integerdealCycle— string — instant/days/weeks/months/quartersmodelTags— array — e.g. ["subscription","usage","marketplace"]
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_multi_source_tamMulti-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.
Parameters:
inputs(required) — array
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_ppc_spend_signalWave 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.
Parameters:
avgCpcUsd(required) — numbertotalMonthlySpendUsd(required) — numbercompetition— numbercompetitorBidders— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_search_velocity_v2Search 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).
Parameters:
trendsTimelineValues(required) — array — Monthly Trends values 0-100. Used ONLY to derive trendNorm — never as raw volume.externalVolumeNorm(required) — number — Normalized 0-1 demand volume from EXTERNAL sources (Amazon, app stores, jobs). Caller normalizes before passing.intentNorm(required) — number — 0-1 commercial/transactional intent ratio.geoSpreadNorm(required) — number — 0-1 geographic spread (regions with interest > threshold).daysSinceLastSignal— number — Optional: days since most recent confirming signal. Triggers exponential freshness decay (half-life 90d).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_search_velocityCompute search_velocity_score (0-25) from Trends timeline values + rising queries count + geo region count.
Parameters:
timelineValues(required) — array — Monthly Trends values 0-100 (e.g. last 10-12 months).geoRegionCount— integerrisingQueriesCount— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_social_painCompute social_pain_score (0-30) + total mentions + dominant perspective (business/consumer/trend/mixed).
Parameters:
painMentions(required) — integercategoryCounts— objectintentMentions— integerurgencyMentions— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_urgency_compositeCompose composite_urgency_score (0-10) + badge (LOW/MEDIUM/HIGH/VERY_HIGH/EXTREME) from 3 sub-scores: news, pain, hiring.
Parameters:
newsSignalScore(required) — numberpainSignalScore(required) — numberhiringSignalScore(required) — number
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
compute_x_signalCompute x_signal_score (0-20) + recency share + positivity rate from X/Twitter mention counts.
Parameters:
mentionsCount(required) — integerrecent7dCount— integerfounderMentions— integersentimentNegative— integersentimentPositive— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
derive_kill_criteriaDerive 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.
Parameters:
unitEcon— object — The result of validate_unit_economics.dealbreakers— object — The result of compute_dealbreakers_v2.icpDriftCount— integer
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
validate_unit_economicsSanity-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.
Parameters:
customers(required) — numberarpu(required) — numberannualRevenue(required) — numbercac— numberltv— numbergrossMargin— numbermonthlyChurn— number
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.