Calypso RAG

RAG multimodal para respuestas de IA respaldadas por fuentes

Documentación

Servidor MCP Calypso Multimodal RAG

El servidor MCP RAG multimodal alojado más fácil para Claude Desktop, Cursor y flujos de trabajo de agentes.

Un comando npx. Impulsado por Gemini File Search. Maneja PDFs, capturas de pantalla, gráficos, diagramas e imágenes de forma nativa con citas verificables.

smithery badge Trust Score npm version GitHub stars Multimodal RAG One command License CI

La forma más fácil de añadir RAG multimodal alojado a Claude, Cursor, Windsurf y agentes personalizados.

  • Configuración súper simple: npx -y @calypsohq/multimodal-rag-mcp-server --api-key sk-your-key-here
  • RAG verdaderamente multimodal: maneja texto y elementos visuales de forma nativa mediante Gemini File Search
  • Carga y consulta: herramientas dedicadas para archivos de conocimiento duraderos y cargas por lotes
  • Conversaciones de múltiples turnos: respuestas conscientes del contexto con reinicio /new
  • Flujos de trabajo descubribles: recursos y prompts para flujos seguros de RAG, carga e ingesta

GitHub | Docs | Smithery | Registro oficial de MCP

Etiquetas: multimodal-rag, easiest-mcp-rag, gemini-rag, hosted-rag-mcp, mcp-server

En lugar de conectar cada agente o flujo de trabajo a una pila de búsqueda de documentos puntual, usa este MCP como punto de entrada orientado a agentes hacia una capa de respuestas reutilizable: sube el material fuente una vez, recupera contenido de texto y visual, y devuelve respuestas con evidencia que los usuarios puedan verificar.

Inicio rápido (lo más fácil)

# One-liner with npx
npx -y @calypsohq/multimodal-rag-mcp-server --api-key "sk-your-key-here"

O con variables de entorno:

CALYPSO_API_KEY="sk-..." npx -y @calypsohq/multimodal-rag-mcp-server

Luego añade el mismo comando a Claude Desktop, Cursor o Smithery usando los ejemplos de configuración a continuación.

Por qué elegir Calypso

Calypso está diseñado para equipos que quieren el servidor MCP RAG multimodal alojado más fácil: sin pila de vectores local, sin Docker compose y sin pipeline personalizado de OCR o procesamiento de imágenes antes de que los agentes puedan hacer preguntas fundamentadas.

CaracterísticaCalypsorag-anything-mcpPixeltable
Configuración1 comando npx (cero infraestructura)Clonar + PythonDocker Compose
MultimodalGemini File Search nativo (texto + imágenes, gráficos, diagramas, PDFs) sin pipeline de visión adicionalRAG documental sólido basado en visión de OpenAIExcelente para video, audio, imágenes y tablas
AlojamientoTotalmente alojado (opción de autoalojamiento)Local primeroLocal primero
OperacionesNube sin operacionesRequiere configuración de PythonRequiere Docker
Herramientas de cargaHerramientas integradas de carga de archivo único y conocimiento por lotes
Citas / fundamentaciónRastro de evidencia sólido con metadatos de recuperación
Ideal paraEquipos que quieren RAG multimodal alojado sin operaciones para clientes MCPExperimentos locales de RAG documentalFlujos de trabajo locales intensivos de video/audio/datos

Empieza aquí si quieres el servidor MCP RAG multimodal alojado más fácil.

Lo que obtienes

  • Agente RAG multimodal de producción con memoria de múltiples turnos
  • Herramientas de carga integradas para archivos individuales y cargas de conocimiento por lotes
  • Descubrimiento automático de las variantes RAG y los buckets de conocimiento de tu equipo
  • Citas verificables con referencias de fuente y metadatos de recuperación
  • Recursos de solo lectura y prompts reutilizables para flujos de trabajo seguros

Por qué RAG multimodal primero

La mayor parte del conocimiento empresarial no es solo texto. La respuesta suele estar repartida entre una captura de pantalla de configuración, una tabla en PDF, un diagrama de producto, una página del centro de ayuda o un gráfico dentro de un informe. Calypso empaqueta toda esa superficie de conocimiento en una única capa de recuperación para que los agentes puedan hacer preguntas fundamentadas sin adivinar a partir de la memoria genérica del modelo.

  • Busca en los formatos que los usuarios realmente usan: documentación, PDFs, capturas de pantalla, gráficos, diagramas, imágenes de producto, artículos de soporte, manuales, políticas, preguntas frecuentes e informes.
  • Fundamenta las respuestas antes de que el modelo escriba: Gemini File Search recupera primero el contexto textual y visual relevante, y luego el agente RAG responde a partir de ese material fuente.
  • Muestra el rastro de evidencia: las respuestas pueden incluir referencias de fuente, fundamentación consciente de la página y metadatos de recuperación para que las personas puedan verificar antes de confiar.
  • Acota la recuperación con metadatos: usa espacio de trabajo, equipo, cliente, idioma, tipo de archivo, estado u otros metadatos para mantener respuestas relevantes sin duplicar bases de conocimiento.
  • Reutiliza la misma capa de conocimiento en todas partes: conecta Cursor, Claude Desktop, agentes de IA, flujos de n8n, UI de producto, flujos de soporte y experiencias web a la misma capa respaldada por fuentes.

En la práctica, esto significa que tu agente puede responder preguntas como:

  • "Explica esta captura de pantalla de configuración y el PDF de política adjunto. ¿Qué debería hacer el representante de soporte a continuación?"
  • "¿Qué dice este PDF de incorporación sobre las reglas de aprobación?"
  • "¿Por qué falla esta pantalla de configuración?"
  • "Compara la tabla de precios con nuestra documentación de planes y recomienda el nivel adecuado."
  • "Resume la política que aplica a este ticket de soporte."
  • "¿Qué plan de producto se ajusta a este cliente según nuestros documentos de precios?"
  • "Compara el flujo de ingesta diagramado con el flujo de recuperación."

Qué hace este MCP

Con calypso-rag-agent puedes:

  • Hacer preguntas fundamentadas contra la base de conocimiento de Calypso configurada
  • Seleccionar cualquier variante RAG de equipo descubierta con el argumento opcional model
  • Continuar una conversación de múltiples turnos mediante el modelo de conversación nativo /v1/responses
  • Restablecer el contexto de la conversación con /new
  • Usar el mismo endpoint de Respuestas compatible con OpenAI que sirve a calypso-rag-agent
  • Descubrir recursos y prompts integrados para los flujos de trabajo de Calypso compatibles

Requisitos

  • Node.js 18+
  • El servidor usa primitivas de Web Fetch API (fetch, Headers, Request, Response, FormData, Blob y File) para llamadas API y compatibilidad con SDK. El paquete inicializa los globales faltantes al arrancar para runtimes MCP que exponen solo parte de la superficie de Web API de Node 18+.
  • Un endpoint de API de Calypso que exponga:
    • POST /v1/responses
    • GET /v1/rag-agent/models
    • GET /v1/knowledge/buckets
    • POST /v1/knowledge/files/upload-session
    • POST /v1/knowledge/files/upload-session/{session_id}/finalize
    • POST /v1/knowledge/files:batch/upload-session
    • POST /v1/knowledge/files:batch/upload-session/{batch_id}/finalize
    • GET /v1/knowledge/batches/{batch_id}
  • Una clave de API de Calypso (sk-...)

Configuración

Variables de entorno:

  • CALYPSO_API_KEY (obligatorio)
  • CALYPSO_API_BASE_URL (opcional, por defecto https://api.calypso.so/v1)

Banderas de CLI:

  • --api-key
  • --api-base-url

Precedencia de configuración:

  1. Banderas de CLI / argumentos de comando proporcionados por Smithery
  2. Variables de entorno
  3. URL base por defecto (https://api.calypso.so/v1)

Ejecutar con npx

npx -y @calypsohq/multimodal-rag-mcp-server --api-key "sk-..."

Ejecutar con variables de entorno

env CALYPSO_API_KEY="sk-..." CALYPSO_API_BASE_URL="https://api.calypso.so/v1" npx -y @calypsohq/multimodal-rag-mcp-server

Configurar en Cursor

Añade un nuevo servidor MCP (tipo comando) como:

npx -y @calypsohq/multimodal-rag-mcp-server --api-key sk-... --api-base-url https://api.calypso.so/v1

Configurar en Claude Desktop

1. Abre la configuración MCP de Claude Desktop

En Claude Desktop:

Claude -> Settings -> Developer -> Edit Config

En macOS, el archivo suele ser:

~/Library/Application Support/Claude/claude_desktop_config.json

Claude Desktop usa claude_desktop_config.json para servidores MCP de escritorio. Claude Code usa ubicaciones de configuración separadas como ~/.claude.json o .mcp.json a nivel de proyecto.

2. Añade el servidor MCP de Calypso

Pega esto en claude_desktop_config.json:

{
  "mcpServers": {
    "Calypso Multimodal RAG": {
      "command": "npx",
      "args": [
        "-y",
        "@calypsohq/multimodal-rag-mcp-server"
      ],
      "env": {
        "CALYPSO_API_KEY": "sk-your-calypso-api-key",
        "CALYPSO_API_BASE_URL": "https://api.calypso.so/v1"
      }
    }
  }
}

Reemplaza:

  • sk-your-calypso-api-key

con tu clave de API real de Calypso.

3. Reinicia Claude Desktop por completo

Sal de Claude Desktop por completo y luego vuelve a abrirlo.

No solo cierres la ventana. En macOS:

Cmd + Q

Después del reinicio, el MCP debería aparecer en Claude con estas herramientas disponibles:

  • calypso-rag-agent
  • calypso-list-knowledge-buckets
  • calypso-upload-knowledge-file
  • calypso-upload-knowledge-files-batch

Opcional: guardar artefactos de Claude en tu Mac

Calypso proporciona herramientas RAG multimodales alojadas. No escribe informes generados, resúmenes, CSV, archivos JSON ni artefactos de búsqueda web directamente en tu computadora local.

Para permitir que Claude Desktop guarde archivos generados localmente, añade el servidor MCP estándar de filesystem junto a Calypso y restringe su acceso a una carpeta segura dedicada.

Crea la carpeta primero:

mkdir -p ~/Claude

Luego añade ambos servidores a claude_desktop_config.json:

{
  "mcpServers": {
    "Calypso Multimodal RAG": {
      "command": "npx",
      "args": [
        "-y",
        "@calypsohq/multimodal-rag-mcp-server"
      ],
      "env": {
        "CALYPSO_API_KEY": "sk-your-calypso-api-key",
        "CALYPSO_API_BASE_URL": "https://api.calypso.so/v1"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourname/Claude"
      ]
    }
  }
}

Sal por completo y vuelve a abrir Claude Desktop después de cambiar la configuración.

Ejemplo de prompt:

Use Calypso for the grounded RAG answer, then save the final report as /Users/yourname/Claude/report.md using the filesystem tool.

Por seguridad, solo concede acceso a filesystem a una carpeta dedicada como ~/Claude, no a todo tu directorio de inicio.

PreocupaciónMejor responsable
Respuestas RAG respaldadas por fuentesCalypso MCP
Subir archivos a CalypsoCalypso MCP
Escribir .md, .pdf, .json, .csv, etc. en tu Macfilesystem MCP
Artefactos de búsqueda web de ClaudeClaude más prompt de filesystem MCP

Smithery

El servidor está disponible en Smithery y se lanza a través de la misma ruta de paquete npx que usan los clientes de escritorio.

Configuración de usuario de Smithery:

  • calypsoApiKey (obligatorio)
  • calypsoApiBaseUrl (opcional, por defecto https://api.calypso.so/v1)

La ruta de lanzamiento de Smithery es equivalente a:

npx -y @calypsohq/multimodal-rag-mcp-server --api-key sk-... --api-base-url https://api.calypso.so/v1

Usa calypsoApiBaseUrl solo cuando apuntes a un despliegue autoalojado compatible con Calypso. El valor predeterminado en la nube no necesita anulación.

Solución de problemas

  • Falta la clave de API: proporciona --api-key o CALYPSO_API_KEY
  • Host de API incorrecto: asegúrate de que --api-base-url / CALYPSO_API_BASE_URL termine en /v1
  • Despliegue autoalojado: solo anula la URL base si no estás usando https://api.calypso.so/v1
  • Desajuste de lanzamiento de Smithery: usa la ruta empaquetada npx -y @calypsohq/multimodal-rag-mcp-server en lugar de ejecutar node dist/index.js desde un clon nuevo
  • FormData is not defined o Headers is not defined: actualiza al paquete más reciente. El servidor MCP inicializa los globales faltantes de Web Fetch API antes de que se ejecuten las herramientas de carga.
  • ENOENT para /mnt/user-data/uploads/...: esa ruta pertenece a un agente alojado o a un sandbox de adjuntos, no necesariamente al servidor MCP. Reintenta con contentBase64 en lugar de filePath.
  • Guardado local de artefactos: las respuestas de Calypso se pueden usar con el servidor MCP de filesystem de Claude Desktop, pero se debe pedir explícitamente a Claude que guarde la salida final en una ruta local permitida.

Elegir filePath frente a contentBase64

Usa filePath para instalaciones MCP locales, incluidas las configuraciones de Claude Desktop y Cursor que lanzan este paquete con un comando local como:

npx -y @calypsohq/multimodal-rag-mcp-server

En esa configuración, el proceso del servidor MCP se ejecuta en tu máquina y puede leer rutas disponibles para la misma cuenta de usuario. Pasa la ruta local directamente; el servidor lee los bytes sin procesar y los sube a través de la URL de sesión de carga de Calypso. No necesitas codificar en base64 los archivos locales.

Usa contentBase64 para clientes MCP alojados o remotos, incluidos servidores alojados en Smithery, runtimes de navegador/nube, contenido generado en memoria y contenedores de agentes. En esos entornos, una ruta en tu Mac o estación de trabajo no es legible por el proceso del servidor MCP.

Si una ruta comienza con /mnt/user-data/uploads, /mnt/data, /mnt/attachments u otro prefijo de sandbox alojado, no la envíes como filePath a menos que este servidor MCP se esté ejecutando en ese mismo sandbox. Usa contentBase64 u otra fuente de bytes en línea en su lugar.

Herramientas disponibles

calypso-rag-agent

Acceso directo al agente RAG de Calypso.

Notas:

  • No enruta automáticamente a otras personas o agentes.
  • Descubre automáticamente las variantes calypso-rag-agent disponibles de la clave de API al iniciar.
  • Usa el argumento opcional model para elegir una variante con nombre como calypso-rag-agent:pricing.
  • Cada variante de modelo mantiene su propia cadena de conversación MCP, por lo que cambiar de variante no continúa el hilo equivocado.
  • Usa POST /v1/responses en lugar de POST /v1/chat/completions.
  • Los primeros turnos crean una conversación con nombre, y los turnos de seguimiento se encadenan con previous_response_id.
  • Se admiten fileIds opcionales para preguntas con alcance de recuperación. Las nuevas cargas deben usar las herramientas de carga de conocimiento duradero y esperar la indexación antes de preguntar.
  • Usa /new como prompt para restablecer la conversación MCP.

calypso-list-knowledge-buckets

Lista los buckets de conocimiento del equipo vinculado a la clave de API de Calypso configurada. Notas:

  • Usa GET /v1/knowledge/buckets.
  • No acepta team_id; Calypso deriva el alcance del equipo a partir de la clave de API.
  • Devuelve ids de bucket, slugs, nombres, estado, recuentos de miembros, recuentos de fuentes y preparación del almacén de buckets.
  • Por defecto, solo buckets activos. Pasa includeArchived: true cuando necesites buckets archivados para auditorías o limpieza.
  • Usa esto antes de calypso-upload-knowledge-file o calypso-upload-knowledge-files-batch cuando necesites elegir un bucket de destino.
  • calypso://rag-agent-models responde qué buckets están vinculados a cada variante de RAG. calypso-list-knowledge-buckets responde qué buckets existen para el equipo de la clave de API.

Ejemplo:

{
  "includeArchived": false
}

calypso-upload-knowledge-file

Sube un archivo al almacén de conocimiento duradero respaldado por buckets y al pipeline de indexación.

Notas:

  • Usa POST /v1/knowledge/files/upload-session, sube bytes directamente al almacenamiento y luego finaliza con POST /v1/knowledge/files/upload-session/{session_id}/finalize.
  • Las subidas usan solicitudes de sesión JSON más PUTs binarios firmados, no subidas de formulario multipart.
  • Devuelve metadatos de archivo de conocimiento y de tarea, no un adjunto de chat file_id.
  • Requiere un destino de bucket mediante bucketIds, bucketSlugs o bucket.
  • Usa filePath para instalaciones locales de Claude Desktop/Cursor MCP donde el servidor pueda leer la ruta. Usa contentBase64 para clientes MCP alojados o remotos que no puedan leer rutas locales.
  • Si un agente ve una ruta como /mnt/user-data/uploads/file.pdf, no debe enviarla como filePath; debe enviar los bytes del archivo como contentBase64.
  • Admite los opcionales title, tags, metadata y idempotencyKey.
  • Enruta las subidas a buckets existentes con bucketIds o bucketSlugs, o usa bucket como atajo de un solo slug.
  • Pasa createMissingBuckets: true con slugs de bucket cuando quieras que Calypso cree destinos faltantes durante la subida.
  • Puede esperar opcionalmente hasta que la indexación alcance un estado listo antes de devolver.

Ejemplo:

{
  "filename": "handbook.pdf",
  "mimeType": "application/pdf",
  "filePath": "/Users/me/Documents/handbook.pdf",
  "bucket": "support-handbook",
  "createMissingBuckets": true,
  "waitForIndexing": true
}

calypso-upload-knowledge-files-batch

Sube de 1 a 100 archivos al almacén de conocimiento duradero en una sola solicitud.

Notas:

  • Usa POST /v1/knowledge/files:batch/upload-session, sube cada elemento aceptado directamente al almacenamiento y luego finaliza con POST /v1/knowledge/files:batch/upload-session/{batch_id}/finalize.
  • Las subidas usan solicitudes de sesión JSON más PUTs binarios firmados, no subidas de formulario multipart.
  • Requiere batchIdempotencyKey; Calypso lo usa para derivar el id de lote duradero para reintentos.
  • Requiere un destino de bucket compartido mediante bucketIds, bucketSlugs o bucket, a menos que cada elemento proporcione su propio destino de bucket.
  • Admite valores predeterminados compartidos bucketIds, bucketSlugs, bucket y createMissingBuckets, además de anulaciones por elemento.
  • Usa filePath por elemento para instalaciones locales de Claude Desktop/Cursor MCP donde el servidor pueda leer cada ruta. Usa contentBase64 por elemento para clientes MCP alojados o remotos que no puedan leer rutas locales.
  • Genera valores client_file_id seguros para Firestore cuando se omite clientFileId.
  • accepted o queued significa que la subida es duradera, no necesariamente lista para consultas. Usa waitForBatchReady: true para consultar GET /v1/knowledge/batches/{batch_id}?include_items=true.
  • Inspecciona el estado por elemento, bucketSyncStatus y bucketSync para distinguir el contenido indexado de la recuperación lista para bucket.

Ejemplo:

{
  "batchIdempotencyKey": "kb-seed-2026-06-04",
  "bucket": "support-handbook",
  "createMissingBuckets": true,
  "items": [
    {
      "filename": "faq.txt",
      "mimeType": "text/plain",
      "filePath": "/Users/me/Documents/faq.txt"
    }
  ],
  "waitForBatchReady": true
}

Recursos disponibles

calypso://server-info

Metadatos de servidor de solo lectura, incluidos la versión del paquete, la URL base de la API, el transporte, el modelo de autenticación y las capacidades expuestas.

calypso://rag-agent-models

Catálogo de solo lectura en tiempo de ejecución de variantes de modelo calypso-rag-agent con alcance de equipo descubiertas a partir de la clave de API configurada, incluidos el buckets activo, el bucket_ids y el missing_bucket_ids de cada variante. Si el descubrimiento no está disponible, este recurso recurre al calypso-rag-agent base.

calypso://knowledge-buckets

Lista de solo lectura en tiempo de ejecución de buckets de conocimiento para el equipo vinculado a la clave de API configurada. Úsala para inspeccionar ids/slugs de bucket y la preparación del almacén de buckets antes de las subidas.

calypso://workflows

Una guía compacta de los flujos de trabajo admitidos de RAG y archivos de conocimiento.

calypso://security

Notas de seguridad operativa para claves de API, lecturas de archivos locales, subidas y registro.

Prompts disponibles

  • calypso-knowledge-question: redacta una pregunta fundamentada de base de conocimiento para calypso-rag-agent
  • calypso-knowledge-ingestion: prepara una subida duradera al almacén de conocimiento y una consulta de seguimiento
  • calypso-reset-conversation: inicia un hilo RAG limpio con /new

Flujos de trabajo comunes (copiar/pegar)

Recuperación de conocimiento

  • Resumir un tema:
    • Summarize the knowledge base guidance for campaign approvals
  • Pedir una respuesta específica:
    • What does our documentation say about indexing retries?
  • Comparar dos conceptos:
    • Compare file indexing with retrieval execution in the current architecture
  • Iniciar un hilo nuevo:
    • /new

Seguimiento de múltiples turnos

  • Refinar una respuesta anterior:
    • Focus only on the ingestion path and ignore retrieval
  • Pedir fuentes o justificación:
    • Explain which documented components are involved and why

Flujo de archivos del almacén de conocimiento

  • Descubrir buckets:
    • Llama a calypso-list-knowledge-buckets o lee calypso://knowledge-buckets antes de elegir un destino
  • Subir conocimiento duradero:
    • Llama a calypso-upload-knowledge-file con el payload del archivo y opcionalmente title, tags o metadata
    • Prefiere filePath para instalaciones locales de Claude Desktop/Cursor MCP; usa contentBase64 para clientes MCP alojados o remotos que no puedan leer rutas locales
  • Enrutar conocimiento a buckets:
    • Usa bucket: "support-handbook" para un destino, bucketSlugs para múltiples destinos basados en slugs, o bucketIds cuando ya tengas ids de bucket estables
  • Crear destinos de bucket bajo demanda:
    • Agrega createMissingBuckets: true cuando uses asignación de buckets basada en slugs y el destino pueda no existir aún
  • Esperar la indexación:
    • Pasa waitForIndexing: true si quieres que la herramienta se bloquee hasta que el archivo de conocimiento esté indexado

Flujo de lotes del almacén de conocimiento

  • Subir muchos archivos duraderos:
    • Llama a calypso-upload-knowledge-files-batch con items, batchIdempotencyKey y filePath por elemento para instalaciones MCP locales; usa contentBase64 por elemento para clientes MCP alojados o remotos
  • Enrutar el lote a buckets:
    • Pon bucket, bucketSlugs, bucketIds o createMissingBuckets compartidos en la llamada a la herramienta, y luego anula por elemento solo cuando sea necesario
  • Esperar la preparación para consultas:
    • Usa waitForBatchReady: true e inspecciona el estado de los elementos devueltos y los campos de sincronización de buckets antes de consultar contenido nuevo

Consejos

  • Empezar de nuevo: usa /new para restablecer la conversación MCP (nuevo conversation_id + cadena de respuestas borrada).