Conecta Claude con INITE Studio
Las skills corren en tu máquina. El razonamiento corre con tus tokens de Anthropic. Nuestro servidor MCP se encarga de traer los datos brutos, de la matemática determinista y del almacenamiento. Cuatro pasos desde cero hasta tu primera auditoría.
Tres capas, una auditoría
El producto se parte en tres sin residuos: skills (recetas en markdown que Claude sigue), herramientas MCP (datos brutos y matemática, alojados por nosotros) y dashboard (tu historial de auditorías, la facturación y tus claves). Hasta dónde meter mano en cada capa lo decides tú.
- 01IrGenera una clave de API
Ajustes → Claves de API → Generar. El texto plano se muestra una sola vez.
- 02Instala las skills
curl -fsSL https://inite.studio/install.sh | sh — deja 26 skills en markdown en ~/.claude/skills.
- 03Conecta Claude
Pega el bloque de config MCP personalizado en tu cliente de Claude y reinícialo.
- 04IrLanza una auditoría
En Claude: «audita esta idea: …». El informe completo aparece en tu dashboard.
Instala las skills
Un instalador de una línea deja 26 skills en markdown en la carpeta de configuración de Claude.
curl -fsSL https://inite.studio/install.sh | shDestino por defecto: ~/.claude/skills/. Pasa --target=project para instalarlas en .claude/skills/ del repositorio actual — útil si el proyecto tiene prompts propios.
Todas las skills son markdown plano: léelas, edítalas, bifúrcalas. No hay nada mágico. Cada paso que sigue Claude queda a la vista.
Genera una clave de API
El servidor MCP autentica con bearer token — una clave por cliente de Claude (portátil, estación de trabajo, CI). Las claves se guardan como hash SHA-256; el texto plano se muestra una vez y después no se recupera.
- Abre Ajustes → Claves de API.
- Pulsa Generar y ponle una etiqueta — por ejemplo, portátil.
- Copia el texto plano: no vuelve a aparecer.
- Si la pierdes, revócala y genera otra.
Añade el servidor MCP a Claude
Tres sabores: Claude Desktop, Claude Code (CLI) y el SDK de Anthropic. Coge el que corresponda a donde ejecutas Claude. Cambia YOUR_API_KEY por la clave del paso 2.
~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json. Después cierra Claude Desktop y ábrelo de nuevo.{
"mcpServers": {
"ideaudit": {
"type": "http",
"url": "https://api.inite.studio/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}Reinicia Claude Desktop después de editar la config. El registro por CLI surte efecto al momento. El SDK usa la clave en cada petición.
Lanza tu primera auditoría
La skill maestra audit-idea dirige 9 sub-skills y cierra la síntesis de dealbreakers. Claude llama a nuestras herramientas MCP cuando las necesita; en su razonamiento no tocamos nada.
En cualquier conversación con Claude:
audita esta idea: una app de notas con IA para abogadosClaude reconoce la skill audit-idea, recorre el pipeline (extracción → mercado → competencia → problema/solución → equipo → tracción → modelo de negocio → GTM → finanzas → misión → dealbreakers) y guarda el informe final. Aparece solo en Auditorías, con un veredicto de zona Star/Green/Yellow/Orange/Red.
Metodología v2
Score sensible al estadio y ponderado por confianza. Sustituye el veredicto antiguo de tres cajas GO/REFINE/KILL por una decisión de cuatro cajas y un vector de confianza por lente.
Cada lente (audit-team, audit-market, audit-competition, …) devuelve dos salidas que alimentan el veredicto v2:
- Pasa / no pasa — booleano, según el criterio de la propia lente.
- Confianza (0..1) — cuánto se fía la lente de su conclusión con la evidencia que ha reunido. Un «no pasa» con poca confianza es una señal más floja que un «no pasa» con mucha.
compute_dealbreakers_v2 junta esas salidas en una decisión de cuatro cajas:
Todas las lentes críticas pasan con alta confianza.
Pasa con reservas — huecos salvables en 1-2 lentes.
Debilidades de fondo; itera antes de salir a levantar.
Dealbreaker con alta confianza — pivota o déjalo.
El estadio pesa. La misma salida de una lente vale distinto para quien está en fase de idea y para quien levanta una Series A: la falta de un CFO es fatal en Series A e irrelevante en fase de idea. El estadio se graba con setAuditStageSector al guardar.
Consenso entre lentes. Cuando dos lentes afirman cosas contradictorias (audit-market: «CAGR del 30%» frente a audit-competition: «saturado, no queda recorrido»), mostramos un aviso de consenso y bajamos la confianza global. Se ve en el detalle de la auditoría; si lo prefieres, llama a GET /api/methodology/consensus/:auditId directamente.
Percentil en la cohorte. Si la auditoría tiene sector marcado y al menos otra auditoría comparte ese sector, mostramos dónde cae esta idea en la distribución. GET /api/methodology/cohort/:auditId.
Calibración. La plataforma sigue los desenlaces que registras y dice si el score predice rondas de verdad. GET /api/methodology/calibration devuelve el score medio de quien levantó frente al de quien cerró, la exactitud del umbral y un umbral de GO sugerido. Reúne al menos 30 desenlaces antes de apoyar decisiones en el número de discriminación.
Qué skills emiten confianza
Las lentes devuelven un número de 0 a 1 junto al pasa / no pasa. Antes de decidir el veredicto global, el agregador pondera cada lente por su confianza: un «no pasa» rotundo pesa más que un «pasa» dubitativo en otro sitio. Hoy emiten confianza:
| Skill | Qué mueve la confianza |
|---|---|
audit-team | Cuán firme es el match del LinkedIn del fundador × cuántas menciones lo corroboran |
audit-market | Acuerdo entre las fuentes de TAM (multi-source-tam) × intervalo de confianza del CAGR |
audit-competition | Cuántos competidores distintos aparecen × cuán reciente es la evidencia |
audit-finance | Cuántos comparables × cuán recientes son sus rondas |
audit-traction | Métricas verificables (enlaces, posts, noticias) × encaje con el estadio |
audit-problem-solution-fit | Repetición del mismo dolor entre fuentes × fuerza de la intención |
audit-business-model | Patrones de monetización comparables × encaje con el estadio |
audit-gtm-scale | Evidencia de canal probado × plausibilidad de CAC/LTV |
Trae tus claves (BYOK)
Conecta las claves de tus proveedores para no gastar el contador compartido, aprovechar los descuentos de tu suscripción y mantener los datos pasando por cuentas que ya pagas.
Búsqueda web
Orden de prioridad: Perplexity → Tavily → Exa → Brave → Perplexity compartido. Las llamadas con clave propia no gastan la cuota raw_data_call.
Scrape de páginas
fetch_url usa tus Firecrawl → Apify → fetch nativo. El scrape premium devuelve Markdown limpio y salta las protecciones anti-bot.
DataForSEO
Credencial compuesta (login:password). Todas las herramientas dataforseo_* pasan por tu cuenta, sin contador compartido.
Enriquecimiento de inversores
Apollo, People Data Labs — las claves se aceptan y se guardan cifradas, pero el dispatcher todavía no las usa. Pronto.
Webhooks
Recibe POSTs cuando una auditoría se finaliza, se registra un desenlace o aparece una entidad nueva. Verificación de firma HMAC-SHA256 estándar.
Las cabeceras que enviamos
Content-Type: application/jsonX-Ideaudit-Event— una deaudit.finalized,audit.outcome.recorded,entity.created.X-Ideaudit-Signature: sha256=<hex>— mira abajo.X-Ideaudit-Endpoint: <uuid>— el id de tu endpoint, para enrutar en receptores con varios endpoints.
Verificar la firma (Node)
La firma es HMAC-SHA256(secret, raw_request_body) en hex, con el prefijo sha256=. Compárala contra los bytes crudos del cuerpo, nunca contra el JSON reserializado.
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);
}Verificar la firma (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)Eventos de prueba
El botón «Probar» del dashboard usa el id de tu auditoría finalizada más reciente (o el UUID de ceros, si no tienes ninguna) y añade isTest: true al payload. Mira ese campo en tu receptor para saltarte los efectos secundarios.
Desactivación automática
Tras 5 respuestas seguidas fuera del rango 2xx ponemos active = false y marcamos el endpoint como desactivado. Arregla el receptor y pulsa Reactivar en Ajustes → Webhooks. El historial reciente de entregas — estado y cuerpo de la respuesta — se ve en un panel desplegable por endpoint.
POST /api/audit/run
Lanza una auditoría sin Claude Desktop. Emite los mismos Server-Sent Events que consume el dashboard — va bien para comprobaciones en CI, evaluaciones por lotes o para empotrarlo dentro de otro producto.
Autentícate como usuario del dashboard, con un Bearer JWT de inite-auth (auth.inite.ai). Este endpoint no vive en la superficie de las claves de API del MCP: es un endpoint del dashboard, detrás de la misma autenticación que el resto. El cuerpo junta el prompt del usuario, la clave de Anthropic que va a gastar Claude y la clave MCP del propio usuario, para que el orquestador pueda guardar el resultado.
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"
}'Eventos del stream
event: text— los tokens de Claude según van saliendo.event: tool— se ha disparado una herramienta MCP ({ toolName, input }).event: done— evento terminal; el payload trae elauditIdsi el orquestador llamó asave_audit. El informe completo está enGET /api/audits/<id>.event: error— cualquier cosa que reviente en el servidor. Fuera de producción viene además unrequestId.
Catálogo de herramientas MCP
42 herramientas en 8 grupos. Las skills las llaman solas; también puedes llamarlas directamente para montar tus propios flujos. El registro en vivo sale en GET /mcp/tools con un 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_quotaQué corre dónde
En tu máquina: Claude Desktop / Code / SDK. Las 26 skills, tu razonamiento y tus tokens. Nada de eso llega hasta nosotros.
En nuestro servidor MCP: cero claves de API de LLM. Hono + Drizzle + Postgres. Cada endpoint es o buscador de datos brutos (DataForSEO, Perplexity, etc.), o matemática pura (12 funciones compute_* deterministas), o almacenamiento (auditorías, colecciones, listas de inversores).
Compartido o BYOK: cada herramienta de datos brutos prueba primero tu clave guardada y solo después tira de nuestras credenciales compartidas. Las llamadas compartidas nos cuestan dinero y queman cuota; las llamadas con clave propia son gratis y sin límite para ti.
Sin telemetría de tus prompts: solo vemos los parámetros de las llamadas MCP — una palabra clave de SERP, la URL de un sitio. Tu conversación con Claude nos es invisible por diseño.
Cuando algo falla
Claude dice «no MCP server named ideaudit»+
El MCP responde 401 missing_bearer+
Bearer y que tu clave empiece por ideaudit_. Si tienes dudas, revócala y genera otra.raw_data_quota_exceeded+
La auditoría no ha aparecido en el dashboard+
finalize_audit. Si Claude falló a mitad del pipeline, la ejecución parcial no aparece. Vuelve a lanzarla pidiendo «termina la auditoría y guárdala».