Snipara
MCP alojado para inteligencia de proyectos, contexto respaldado por código fuente, memoria revisada y herramientas de grafo de código.
Documentación
snipara-mcp
snipara-mcp es el conector MCP stdio ligero para el Project Brain de Snipara.
Snipara es el Project Brain para agentes de codificación con IA.
Úsalo cuando un cliente MCP necesite un proceso stdio local que se comunique con las APIs alojadas de Project Intelligence de Snipara. Snipara les brinda a Claude Code, Cursor, Codex y otros clientes MCP las decisiones, el trabajo activo, el impacto en el código, las pruebas y las transferencias que necesitan antes de editar. Si tu cliente admite MCP HTTP transmisible directamente, prefiere el endpoint alojado y omite el proceso local.
¿Qué es Snipara?
Snipara es la capa compartida de Project Intelligence para el trabajo de software asistido por IA.
Les brinda a Claude Code, Cursor, Codex, OpenAI Agents y otros clientes compatibles con MCP un contexto de proyecto que sobrevive a sesiones, usuarios, herramientas y cambios de modelo.
Tu agente sigue usando su propio LLM. Snipara le proporciona el contexto de proyecto adecuado: documentación respaldada por fuentes, memoria revisada, guía compartida, continuidad del flujo de trabajo y estructura del grafo de código. En términos de categoría, es una plataforma de contexto, memoria y continuidad para agentes de codificación con IA.
¿Por qué MCP?
MCP se está convirtiendo en una capa de adaptador estándar para herramientas de agentes. snipara-mcp hace que Snipara esté disponible a través de esa capa sin obligar a los desarrolladores a usar un IDE, modelo o marco de orquestación específico.
La integración debería sentirse pequeña:
uvx snipara-mcp
El impacto es mayor: los agentes pueden recuperar contexto de proyecto duradero en lugar de empezar desde cero en cada sesión.
Lo que desbloquea
| Necesidad | Grupo de herramientas MCP de Snipara |
|---|---|
| Preguntar a la documentación del proyecto con respaldo de fuentes | snipara_context_query, snipara_get_chunk |
| Recordar decisiones y aprendizajes duraderos | snipara_recall |
| Revisar la Bandeja de entrada del equipo | snipara_inbox_review_queue, snipara_inbox_review_plan, snipara_inbox_review_apply |
| Persistir memoria reutilizable después de una tarea | snipara_remember_if_novel, snipara_end_of_task_commit |
| Reutilizar estándares del equipo y guía compartida | snipara_shared_context |
| Inspeccionar relaciones estructurales del código | snipara_code_callers, snipara_code_imports, snipara_code_neighbors |
| Planificar cambios de código riesgosos | snipara_code_symbol_card, snipara_code_impact dentro de la capacidad del plan |
Los clientes MCP públicos deben usar los nombres snipara_*. Los alias de compatibilidad rlm_* se eliminaron del contrato distribuido el 2026-08-16 y permanecen solo como identificadores internos de manejadores. Esta limpieza de contrato está programada para la próxima versión del paquete; los clientes que usan nombres heredados deben migrar antes de actualizar.
El servidor stdio anuncia el mismo contrato de agente predeterminado compacto que el endpoint MCP alojado. Configura SNIPARA_TOOL_PROFILE=full solo para clientes que necesiten descubrimiento directo de cada herramienta de compatibilidad especializada; las herramientas ocultas siguen siendo invocables por nombre explícito y descubribles a través de snipara_help.
La superficie de descubrimiento predeterminada contiene 13 herramientas coherentes:
snipara_context_query, snipara_ask, snipara_search, snipara_read,
snipara_stats, snipara_help, snipara_get_chunk, snipara_recall,
snipara_remember_if_novel, snipara_end_of_task_commit,
snipara_inbox_review_queue, snipara_inbox_review_plan y
snipara_inbox_review_apply.
Revisión de cambio mínimo seguro (2.8.30)
Los contratos empaquetados snipara_context_query y snipara_code_impact ahora aceptan minimum_change_mode="review". Cuando está habilitado, los paquetes de respuestas y las respuestas de impacto incluyen un recibo no bloqueante y basado en evidencia que cubre capacidades existentes, opciones de stdlib/nativo, dependencias instaladas, el diff seguro más pequeño y la preservación de la superficie de validación. La política es consultiva y sigue siendo opcional hasta que la evidencia del proyecto calibre una aplicación más estricta.
Los llamadores pueden proporcionar minimum_change_evidence acotados con procedencia nombrada, como runtime, manifest, lockfile, git_diff o test_runner.
Las afirmaciones de confirmed no verificadas permanecen visibles como asserted; confirmed está reservado para un recibo de adaptador versionado y con coincidencia de huella digital. Los adaptadores verificados son lockfile_manifest para dependencias instaladas directas y git_diff para una verificación local coherente del diff seguro más pequeño.
Las respuestas también incluyen protecciones de preservación no bloqueantes para validación, errores, autenticación/seguridad, accesibilidad, contratos públicos y pruebas.
Contrato de reglas semánticas (2.8.27)
Los esquemas generados snipara_code_symbol_card y snipara_code_impact ahora reenvían anulaciones de proyecto semantic_rules acotadas al servicio alojado. Los términos son cadenas literales en lugar de expresiones regulares ejecutables.
Piso de seguridad del transporte MCP (2.8.26)
El conector ahora requiere MCP Python SDK 1.28.1 o más reciente. Esto incorpora las correcciones ascendentes para el aislamiento de sesiones con principal autenticado, la propiedad experimental de tareas y la validación de WebSocket Host/Origin.
Recorrido configurable de impacto en el código (2.8.25)
El contrato empaquetado snipara_code_impact ahora expone depth (1-6),
direction (in, out o both) y edge_kinds opcional. Esto mantiene el contrato del conector alineado con las cadenas de impacto alojadas y los controles de recorrido híbrido local/alojado de Companion.
Descubrimiento sin credenciales y contrato compacto (2.8.24)
Los clientes MCP y los inspectores de directorios ahora pueden completar initialize y tools/list antes de que se configuren las credenciales. Cada llamada real a una herramienta sigue fallando de forma cerrada hasta que estén presentes la autenticación y la selección del proyecto. La respuesta predeterminada de tools/list expone el mismo núcleo de 13 herramientas que Snipara alojado, mientras que SNIPARA_TOOL_PROFILE=full conserva el descubrimiento directo de todas las herramientas de compatibilidad especializadas. Las herramientas principales ahora incluyen guía de selección completa, anotaciones de comportamiento y documentación anidada de parámetros para un uso más seguro por parte de los agentes.
Contratos de herramientas legibles por agentes (2.8.23)
El conector ahora preserva descripciones detalladas de herramientas y anotaciones de comportamiento MCP de la fuente de verdad alojada. Las herramientas de resumen, coordinación, estado, memoria y grafo de código explican sus requisitos previos, reglas de acceso, efectos secundarios, idempotencia, alternativas, parámetros, salidas y modos de fallo comunes para que los agentes puedan elegirlas de forma segura. Los esquemas de salida nativos permanecen diferidos hasta que el transporte y el formato de resultados estructurados se actualicen juntos.
Revisión unificada de la Bandeja de entrada conversacional (2.8.22)
Los administradores humanos de equipo pueden listar los mismos candidatos de memoria y borradores de ProjectDecision que muestra la Bandeja de entrada del panel multi-proyecto, crear recomendaciones respaldadas por evidencia de aprobar/rechazar/requiere-humano y aplicar atómicamente una instantánea explícitamente autorizada. El servicio revalida la identidad del administrador humano de equipo, la propiedad del proyecto, los estados actuales de los candidatos y las instantáneas inmutables de los elementos antes de registrar auditorías de autoridad. Las credenciales reales siguen siendo direccionables para el rechazo, pero se redactan de la salida MCP. Las herramientas anteriores solo de ProjectDecision permanecen disponibles como herramientas de compatibilidad especializadas.
Revisión conversacional de decisiones (2.8.21)
Los agentes pueden listar borradores pendientes de ProjectDecision, proponer recomendaciones respaldadas por evidencia de aprobar/rechazar/requiere-humano y aplicar un plan vinculado a instantáneas explícitamente autorizado. Aplicar requiere un administrador humano de proyecto y falla de forma cerrada si un borrador cambió después de la planificación; no hay aprobación comodín en vivo.
Confirmaciones de tareas estructuradas de Why Capture (2.8.20)
snipara_end_of_task_commit ahora acepta un bloque atómico de why con decision,
rationale, alternatives, constraints y observed_outcome. Los candidatos estructurados permanecen pendientes hasta la revisión humana, y los parámetros desconocidos fallan de forma cerrada en lugar de ignorarse silenciosamente.
Controles de resultados de recuperación (2.8.19)
El conector stdio reenvía los controles acotados de resultados de recuperación del servidor alojado para context_query y recall: correlación opcional de tareas, solicitudes de reordenamiento en modo sombra o habilitado, y la ventana estricta de atribución de contexto. El servidor alojado sigue siendo la autoridad, por lo que una solicitud del cliente puede reducir o deshabilitar el modo configurado, pero no puede escalarlo.
Arquitectura
flowchart LR
Agents["Claude Code, Cursor, Codex, ChatGPT, OpenAI agents"] --> Stdio["snipara-mcp stdio process"]
Stdio --> Hosted["Hosted Snipara MCP API"]
Hosted --> Context["Context engine"]
Hosted --> Memory["Project memory"]
Hosted --> Graph["Code graph"]
Context --> AgentLLM["Agent's own LLM"]
Memory --> AgentLLM
Graph --> AgentLLM
¿HTTP alojado o stdio?
Usa el endpoint HTTP alojado cuando tu cliente MCP admita HTTP transmisible:
{
"mcpServers": {
"snipara": {
"type": "http",
"url": "https://api.snipara.com/mcp/your-project-id-or-slug",
"headers": {
"Authorization": "Bearer snp-your-key"
}
}
}
}
Usa snipara-mcp cuando tu cliente espere un comando stdio local:
{
"mcpServers": {
"snipara": {
"command": "uvx",
"args": ["snipara-mcp"],
"env": {
"SNIPARA_API_KEY": "snp-your-key",
"SNIPARA_PROJECT_ID": "your-project-id-or-slug"
}
}
}
}
Regla de decisión:
- HTTP MCP primero para clientes modernos
snipara-mcppara clientes solo stdio o compatibilidad localcreate-sniparacuando quieras una configuración guiada entre clientes y plantillas
Instalación
Sin instalación local:
uvx snipara-mcp
Paquete de Python:
pip install snipara-mcp
Con integración de ayuda de RLM Runtime:
pip install "snipara-mcp[rlm]"
Inicio rápido
Inicia sesión a través del navegador:
pip install snipara-mcp
snipara login
Inicializa un proyecto:
snipara init
El inicializador detecta archivos comunes de proyecto, escribe la configuración MCP y puede subir documentación local del proyecto cuando estás autenticado.
Opciones útiles:
snipara init --slug my-project
snipara init --dry-run
snipara init --no-upload
snipara init --skip-test
Claude Code
claude mcp add snipara uvx snipara-mcp
Luego exporta las credenciales en tu shell:
export SNIPARA_API_KEY="snp-your-key"
export SNIPARA_PROJECT_ID="your-project-id-or-slug"
Cursor
Agrega a ~/.cursor/mcp.json:
{
"mcpServers": {
"snipara": {
"command": "uvx",
"args": ["snipara-mcp"],
"env": {
"SNIPARA_API_KEY": "snp-your-key",
"SNIPARA_PROJECT_ID": "your-project-id-or-slug"
}
}
}
}
Entorno
| Variable | Requerida | Descripción |
|---|---|---|
SNIPARA_API_KEY | Sí, a menos que uses snipara login | Clave API de Snipara |
SNIPARA_PROJECT_ID | Sí, a menos que uses SNIPARA_PROJECT_SLUG | Identificador del proyecto |
SNIPARA_PROJECT_SLUG | Sí, a menos que uses SNIPARA_PROJECT_ID | Slug del proyecto |
SNIPARA_API_URL | No | Predeterminado a https://api.snipara.com |
SNIPARA_TOOL_PROFILE | No | core por defecto; full expone esquemas de herramientas especializadas |
Los tokens OAuth creados por snipara login se almacenan en ~/.snipara/tokens.json.
Si se establece un id o slug de proyecto, el conector selecciona el token coincidente y no recurre silenciosamente a otro proyecto.
Lo que obtienes
El conector expone el mismo contrato MCP predeterminado compacto que el backend alojado. La superficie de compatibilidad completa empaquetada se genera desde la fuente de verdad del servidor y está disponible con SNIPARA_TOOL_PROFILE=full.
Grupos comunes de herramientas:
- recuperación:
snipara_context_query,snipara_search,snipara_get_chunk,snipara_load_document - memoria duradera:
snipara_recall,snipara_remember,snipara_memory_compact - arranque consciente del propietario:
snipara_session_memories,snipara_owner_profile_get,snipara_owner_profile_update - contexto compartido:
snipara_shared_context, herramientas de colección y plantillas - carga de documentos:
snipara_upload_document,snipara_sync_documents - configuración del proyecto: herramientas de espacio de trabajo de cliente, proyecto y contexto empresarial
- operaciones:
snipara_settings,snipara_index_health,snipara_reindex - grafo de código: herramientas de
snipara_code_*cuando hay índices de código disponibles - coordinación: herramientas de enjambre, tareas jerárquicas y estado cuando están habilitadas
La disponibilidad de herramientas puede variar según el plan, la implementación alojada y el estado del índice del proyecto.
Comandos CLI
| Comando | Descripción |
|---|---|
snipara login | Inicio de sesión en el navegador y configuración de tokens |
snipara init | Inicializa Snipara en el proyecto actual |
snipara logout | Borra los tokens almacenados |
snipara status | Muestra el estado de autenticación y del proyecto |
snipara-mcp | Ejecuta el servidor MCP stdio |
Los alias heredados como snipara-init, snipara-mcp-login, | |
snipara-mcp-logout y snipara-mcp-status siguen siendo compatibles. |
Relación con otros repositorios
| Repositorio | Rol |
|---|---|
alopez3006/snipara-mcp | Espejo público actual del conector generado |
Snipara/snipara-companion | CLI local de flujo de trabajo, impacto, verificación y traspaso |
Snipara/snipara-memory | Primitivas de memoria abiertas y esquema |
snipara-mcp es intencionalmente delgado. Debe ser fácil de instalar, fácil de
auditar y aburrido de operar. El trabajo pesado permanece en el motor de contexto
y memoria alojado de Snipara.
Desarrollo
pip install -e ".[dev]"
pytest
ruff check .
La fuente de verdad para el contrato de herramientas generado reside en el servidor de Snipara. Cuando las herramientas del backend cambien, regenera el contrato empaquetado antes de publicar este paquete.
Licencia
MIT. Consulta LICENSE.