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

PyPI version Python 3.10+ License: MIT CI

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

NecesidadGrupo de herramientas MCP de Snipara
Preguntar a la documentación del proyecto con respaldo de fuentessnipara_context_query, snipara_get_chunk
Recordar decisiones y aprendizajes duraderossnipara_recall
Revisar la Bandeja de entrada del equiposnipara_inbox_review_queue, snipara_inbox_review_plan, snipara_inbox_review_apply
Persistir memoria reutilizable después de una tareasnipara_remember_if_novel, snipara_end_of_task_commit
Reutilizar estándares del equipo y guía compartidasnipara_shared_context
Inspeccionar relaciones estructurales del códigosnipara_code_callers, snipara_code_imports, snipara_code_neighbors
Planificar cambios de código riesgosossnipara_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-mcp para clientes solo stdio o compatibilidad local
  • create-snipara cuando 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

VariableRequeridaDescripción
SNIPARA_API_KEYSí, a menos que uses snipara loginClave API de Snipara
SNIPARA_PROJECT_IDSí, a menos que uses SNIPARA_PROJECT_SLUGIdentificador del proyecto
SNIPARA_PROJECT_SLUGSí, a menos que uses SNIPARA_PROJECT_IDSlug del proyecto
SNIPARA_API_URLNoPredeterminado a https://api.snipara.com
SNIPARA_TOOL_PROFILENocore 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

ComandoDescripción
snipara loginInicio de sesión en el navegador y configuración de tokens
snipara initInicializa Snipara en el proyecto actual
snipara logoutBorra los tokens almacenados
snipara statusMuestra el estado de autenticación y del proyecto
snipara-mcpEjecuta 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

RepositorioRol
alopez3006/snipara-mcpEspejo público actual del conector generado
Snipara/snipara-companionCLI local de flujo de trabajo, impacto, verificación y traspaso
Snipara/snipara-memoryPrimitivas 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.