{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "category": "",
    "endpoint": "https://api.inite.studio/mcp",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/inite-ideaudit-tools.json",
    "kind": "mcp",
    "listed": "indexed",
    "liveUrl": "https://www.anchorterminal.com/api/v1/live/inite-ideaudit-tools.json",
    "markdownUrl": "https://www.anchorterminal.com/tools/inite-ideaudit-tools.md",
    "mcpTools": {
      "check": {
        "checker": "anchor-check/1.0",
        "totalTokens": 4112,
        "counts": {
          "error": 0,
          "note": 1,
          "warn": 42
        },
        "findings": [
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_barrier",
            "message": "none of its 3 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_budget_proof",
            "message": "none of its 4 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_build_complexity",
            "message": "none of its 3 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_collection_scores",
            "message": "1 parameter without a description: analysisId",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_crossed_matrix",
            "message": "none of its 7 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_dealbreakers_v2",
            "message": "none of its 7 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_funding_momentum",
            "message": "none of its 2 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_hiring_demand",
            "message": "4 parameters without a description: sites, sites[].domain, sites[].hits, sites[].priority",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_lrs_composite",
            "message": "none of its 4 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_lrs_composite_v2",
            "message": "7 parameters without a description: barrierScore, budgetProofScore, buildComplexityPenalty, monetizationScore, searchVelocityScore, socialPainScore and 1 more",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_monetization",
            "message": "1 parameter without a description: pricingAnchorsCount",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_multi_source_tam",
            "message": "3 parameters without a description: inputs, inputs[].source, inputs[].text",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_ppc_spend_signal",
            "message": "none of its 4 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_search_velocity",
            "message": "2 parameters without a description: geoRegionCount, risingQueriesCount",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_social_pain",
            "message": "none of its 4 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_urgency_composite",
            "message": "none of its 3 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "compute_x_signal",
            "message": "none of its 5 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "derive_kill_criteria",
            "message": "1 parameter without a description: icpDriftCount",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC11",
            "severity": "warn",
            "tool": "validate_unit_economics",
            "message": "none of its 7 parameters has a description",
            "fix": "Describe each one: format, units, an example, and what happens when it's left out."
          },
          {
            "rule": "TC13",
            "severity": "warn",
            "tool": "compute_collection_scores",
            "message": "enrichedData (object with no properties)",
            "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
          },
          {
            "rule": "TC13",
            "severity": "warn",
            "tool": "derive_kill_criteria",
            "message": "dealbreakers (object with no properties), unitEcon (object with no properties)",
            "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_barrier",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_budget_proof",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_build_complexity",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_collection_scores",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_crossed_matrix",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_dealbreakers_v2",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_funding_momentum",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_hiring_demand",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_lrs_composite",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_lrs_composite_v2",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_monetization",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_multi_source_tam",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_ppc_spend_signal",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_search_velocity",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_search_velocity_v2",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Its name starts with \"search\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_social_pain",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_urgency_composite",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "compute_x_signal",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "derive_kill_criteria",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "get_started",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Its name starts with \"get\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
          },
          {
            "rule": "TC16",
            "severity": "warn",
            "tool": "validate_unit_economics",
            "message": "no readOnlyHint or destructiveHint",
            "fix": "Its name starts with \"validate\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
          },
          {
            "rule": "TC24",
            "severity": "note",
            "message": "21 of 21 tools have no outputSchema",
            "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
          }
        ]
      },
      "checkedAt": "2026-10-04T22:25:56Z",
      "count": 21,
      "schemaTokens": 4112,
      "status": "ok",
      "tools": [
        {
          "name": "get_started",
          "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": "compute_barrier",
          "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_budget_proof",
          "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_build_complexity",
          "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_collection_scores",
          "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_crossed_matrix",
          "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_dealbreakers_v2",
          "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\u003c50) 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_funding_momentum",
          "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_hiring_demand",
          "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_lrs_composite_v2",
          "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 (\u003c40).",
          "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",
          "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_monetization",
          "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_multi_source_tam",
          "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_ppc_spend_signal",
          "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_search_velocity_v2",
          "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\u003c50 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 \u003e 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",
          "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_social_pain",
          "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_urgency_composite",
          "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_x_signal",
          "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": "derive_kill_criteria",
          "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": "validate_unit_economics",
          "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": "ideaudit",
    "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
    "packages": [
      {
        "registryType": "npm",
        "identifier": "@inite/ideaudit-tools",
        "version": "1.0.0",
        "transport": "stdio"
      }
    ],
    "pageJsonUrl": "https://www.anchorterminal.com/tools/inite-ideaudit-tools.json",
    "popularity": {
      "githubStars": 0,
      "npmWeekly": 35
    },
    "registryName": "studio.inite/ideaudit-tools",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://api.inite.studio/mcp"
      }
    ],
    "repository": "https://github.com/inite-ai/ideaudit-mcp",
    "reviewed": false,
    "slug": "inite-ideaudit-tools",
    "source": "the official MCP registry",
    "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=studio.inite/ideaudit-tools",
    "summary": "The scoring behind an audit allowed to say no. Twenty deterministic tools, offline, no account.",
    "updatedAt": "2026-09-07T14:34:09Z",
    "url": "https://www.anchorterminal.com/tools/inite-ideaudit-tools",
    "vendor": "inite.studio",
    "vendorUrl": "https://inite.studio",
    "version": "1.1.0",
    "websiteUrl": "https://inite.studio",
    "where": "both",
    "why": [
      "vendor"
    ]
  }
}
