Connect Claude to INITE Studio
Skills run on your machine. Reasoning runs on your Anthropic tokens. Our MCP server handles raw data fetching, deterministic math, and persistence. Four steps from zero to your first audit.
Three layers, one audit
The product splits cleanly into skills (markdown recipes Claude follows), MCP tools (raw data + math, hosted by us), and the dashboard (your audit history, billing, and BYOK keys). You choose how deeply you want to touch each layer.
- 01GoGenerate API key
Settings → API keys → Generate. The plaintext is shown once.
- 02Install skills
curl -fsSL https://inite.studio/install.sh | sh — drops 15 markdown skills into ~/.claude/skills.
- 03Connect Claude
Paste the personalised MCP config block into your Claude client and restart it.
- 04GoRun an audit
In Claude: “audit this idea: …”. The full report lands in your dashboard.
Install the skills
A one-liner installer drops 15 markdown skills into your Claude config directory.
curl -fsSL https://inite.studio/install.sh | shDefault target: ~/.claude/skills/. Pass --target=project to install into the current repo's .claude/skills/ instead — useful if a project has bespoke prompts.
All skills are plain markdown — read them, edit them, fork them. There is nothing magical. Audit-grade transparency on every step Claude follows.
Generate an API key
The MCP server uses bearer-token auth — one key per Claude client (laptop, workstation, CI). Keys are SHA-256 hashed at rest; the plaintext is shown once, then never retrievable.
- Open Settings → API keys.
- Click Generate, give it a label (e.g. laptop).
- Copy the plaintext — it's shown once.
- If you lose it, revoke and generate a new one.
Add the MCP server to Claude
Three flavours: Claude Desktop, Claude Code (CLI), and the Anthropic SDK. Pick the one matching where you run Claude. Replace YOUR_API_KEY with the key from step 2.
~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json. Then quit and reopen Claude Desktop.{
"mcpServers": {
"ideaudit": {
"type": "http",
"url": "https://api.inite.studio/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}Restart Claude Desktop after editing the config. CLI registration takes effect immediately. SDK uses the key per-request.
Run your first audit
The audit-idea master skill orchestrates 9 sub-skills + dealbreakers synthesis. Claude calls our MCP tools as needed; we never touch your reasoning.
In any Claude chat:
audit this idea: an AI note-taking app for lawyersClaude detects the audit-idea skill, walks the pipeline (extract → market → competition → P/S → team → traction → business model → GTM → finance → mission → dealbreakers), and persists the final report. It lands in Audits automatically with a Star/Green/Yellow/Orange/Red zone verdict.
Methodology v2
Stage-aware, confidence-weighted scoring. Replaces the legacy GO/REFINE/KILL three-bucket verdict with a four-bucket decision and a per-lens confidence vector.
Each lens (audit-team, audit-market, audit-competition, …) emits two outputs that feed the v2 verdict:
- Pass/fail — boolean, the lens's own rubric.
- Confidence (0..1) — how strongly the lens trusts its conclusion given the evidence it gathered. Low confidence on a fail is a softer signal than high confidence on a fail.
compute_dealbreakers_v2 aggregates these into a four-bucket decision:
All critical lenses pass with high confidence.
Pass with caveats — fixable gaps in 1-2 lenses.
Material weaknesses; iterate before raising.
High-confidence dealbreaker(s) — pivot or drop.
Stage matters. The same lens output is weighted differently for an idea-stage founder vs a Series A applicant — a missing CFO is fatal at Series A and ignorable at idea stage. Stage is captured via setAuditStageSector on save.
Cross-lens consensus. When two lenses make contradictory claims (audit-market: “CAGR 30%” vs audit-competition: “saturated, no growth left”), we surface a consensus warning and downgrade the overall confidence. Read the warnings card on the audit detail page or call GET /api/methodology/consensus/:auditId headlessly.
Cohort percentile. If your audit has a sector tag and at least one other audit shares it, we surface where this idea sits in the cohort distribution. GET /api/methodology/cohort/:auditId.
Calibration. The platform tracks outcomes you record and reports whether the score actually predicts funding events. Mean-funded vs mean-killed score, threshold accuracy, and a suggested GO threshold are exposed via GET /api/methodology/calibration. Aim for ≥30 outcomes before treating the discrimination number as load-bearing.
Which skills emit confidence
Lenses report a 0..1 confidence number alongside their pass/fail. The aggregator weights each lens by its confidence before deciding the overall verdict — a high-conviction fail outweighs a low-conviction pass elsewhere. Skills that currently emit confidence:
| Skill | Confidence drivers |
|---|---|
audit-team | Founder LinkedIn match strength × number of corroborating mentions |
audit-market | TAM source agreement (multi-source-tam) × CAGR confidence interval |
audit-competition | Number of distinct competitors found × evidence freshness |
audit-finance | Comparable count × recency of comparable funding rounds |
audit-traction | Metric verifiability (URLs / tweets / news) × stage match |
audit-problem-solution-fit | Pain-point repetition across sources × intent-strength |
audit-business-model | Comparable monetization patterns × stage fit |
audit-gtm-scale | Channel-test evidence × CAC/LTV plausibility |
Bring your own keys (BYOK)
Plug your own provider keys to skip pooled metering, unlock subscription discounts, and keep all data flowing through accounts you already pay for.
Web search
Dispatcher priority: Perplexity → Tavily → Exa → Brave → pooled Perplexity. BYOK calls don't count against your raw_data_call quota.
Web scrape
fetch_url uses BYOK Firecrawl → Apify → native fetch. Premium scrape gives clean Markdown + anti-bot bypass.
DataForSEO
Composite credential (login:password). All dataforseo_* tools route through your account, no pooled metering.
Investor enrichment
Apollo, People Data Labs — accepted into storage encrypted, dispatcher not yet wired. Coming soon.
Webhooks
Receive POSTs when audits finalize, outcomes are recorded, or new entities are discovered. Standard HMAC-SHA256 signature verification.
Headers we send
Content-Type: application/jsonX-Ideaudit-Event— one ofaudit.finalized,audit.outcome.recorded,entity.created.X-Ideaudit-Signature: sha256=<hex>— see below.X-Ideaudit-Endpoint: <uuid>— your endpoint id, for routing on multi-endpoint receivers.
Verifying signatures (Node)
The signature is HMAC-SHA256(secret, raw_request_body) as a hex string, prefixed with sha256=. Verify against the raw bytes of the body — never the re-serialized JSON.
import { createHmac, timingSafeEqual } from 'node:crypto';
export function verify(secret: string, signatureHeader: string, rawBody: string): boolean {
const expected = 'sha256=' + createHmac('sha256', secret).update(rawBody).digest('hex');
const a = Buffer.from(signatureHeader);
const b = Buffer.from(expected);
if (a.length !== b.length) return false;
return timingSafeEqual(a, b);
}Verifying signatures (Python)
import hmac, hashlib
def verify(secret: str, signature_header: str, raw_body: bytes) -> bool:
expected = "sha256=" + hmac.new(
secret.encode(), raw_body, hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, signature_header)Test events
The dashboard's “Test” button uses your most recent finalized audit's id (or zero-UUID if you have none) and adds isTest: true to the payload. Branch on it in your receiver to skip side-effects.
Auto-disable
After 5 consecutive non-2xx responses we flip active = false and surface the endpoint with an Auto-disabled badge. Click Re-enable on Settings → Webhooks once you've fixed the receiver. Recent delivery history (status + response body) is shown in an expandable panel per endpoint.
POST /api/audit/run
Run an audit without Claude Desktop. Streams the same Server-Sent Events the dashboard consumes — perfect for CI checks, batch evaluations, or embedding inside another product.
Authenticate as a dashboard user with a Bearer JWT from inite-auth (auth.inite.ai). This endpoint is not on the MCP API-key surface — it sits behind the same auth as the rest of the dashboard. The body bundles the user prompt, the Anthropic API key Claude should spend, and the user's own INITE Studio MCP key so the orchestrator can persist results.
curl -N https://api.inite.studio/api/audit/run \
-H "Authorization: Bearer $INITE_JWT" \
-H "Content-Type: application/json" \
-d '{
"prompt": "audit this idea: an AI note-taking app for lawyers",
"anthropicKey": "sk-ant-...",
"ideauditKey": "ideaudit_...",
"model": "claude-sonnet-5"
}'Stream events
event: text— Claude's incremental tokens.event: tool— when an MCP tool fires ({ toolName, input }).event: done— terminal event; payload includes theauditIdif the orchestrator calledsave_audit. Look up the full report atGET /api/audits/<id>.event: error— anything thrown server-side. Includes arequestIdoutside production.
MCP tool catalogue
42 tools across 8 groups. Skills call them automatically; you can also invoke directly for custom flows. Probe the live registry at GET /mcp/tools with a bearer token.
save_auditsave_lens_outputfinalize_auditlist_auditsget_auditdelete_auditsave_idea_collectionlist_idea_collectionsget_idea_collectionupload_investor_listlist_investor_listsfetch_investor_listdataforseo_serpdataforseo_trendsdataforseo_keyword_overviewdataforseo_search_intentdataforseo_app_storedataforseo_play_storedataforseo_amazonweb_searchfetch_urlextract_pitch_decklist_funding_querieslist_hiring_querieslist_news_querieslist_site_queriesbatch_site_serpcompute_search_velocitycompute_barriercompute_monetizationcompute_social_paincompute_x_signalcompute_budget_proofcompute_hiring_demandcompute_funding_momentumcompute_urgency_compositecompute_build_complexitycompute_lrs_compositecompute_collection_scoresenrich_ideaget_usagecheck_quotaWhat runs where
Your machine: Claude Desktop / Code / SDK. The 26 skills + your reasoning + your tokens. None of that hits us.
Our MCP server: zero LLM API keys. Hono + Drizzle + Postgres. Every endpoint is either raw data fetcher (DataForSEO, Perplexity, etc), pure math (12 deterministic compute_* functions), or persistence (audits, collections, investor lists).
Pooled / BYOK: each raw data tool tries your stored key first, falls back to our pooled credentials. Pooled calls cost us money and burn quota; BYOK calls are free and unlimited for you.
No telemetry on your prompts: we only see the parameters of MCP calls (e.g. a SERP keyword, a site URL). Your conversation with Claude is invisible to us by design.
Troubleshooting
Claude says “no MCP server named ideaudit”+
MCP requests return 401 missing_bearer+
Bearer prefix and that your key starts with ideaudit_. Revoke + regenerate if unsure.raw_data_quota_exceeded+
Audit didn't land in the dashboard+
finalize_audit. If Claude errored mid-pipeline, the partial run won't appear. Re-run with “finish the audit and save it”.