Calypso Multimodal RAG MCP Server
OfficialServidor MCP de RAG multimodal Calypso
El servidor MCP de RAG multimodal alojado más fácil para Claude Desktop, Cursor y flujos de trabajo de agentes.
Un solo comando npx. Impulsado por Gemini File Search. Maneja PDF, capturas de pantalla, gráficos, diagramas e imágenes de forma nativa con citas verificables.
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-hereRAG multimodal real: maneja texto y elementos visuales de forma nativa mediante Gemini File Search
Sube y consulta: herramientas dedicadas para archivos de conocimiento duraderos y cargas por lotes
Conversaciones de varios turnos: respuestas conscientes del contexto con reinicio
/newFlujos 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 para 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-serverLuego añade el mismo comando a Claude Desktop, Cursor o Smithery usando los ejemplos de configuración a continuación.
Related MCP server: RAG-Anything MCP Server
Por qué elegir Calypso
Calypso está diseñado para equipos que quieren el servidor MCP de RAG multimodal alojado más fácil: sin pila vectorial 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ística | Calypso | rag-anything-mcp | Pixeltable |
Configuración | 1 comando npx (cero infraestructura) | Clonar + Python | Docker Compose |
Multimodal | Gemini File Search nativo (texto + imágenes, gráficos, diagramas, PDF) sin pipeline de visión adicional | RAG de documentos robusto basado en OpenAI vision | Excelente para video, audio, imágenes y tablas |
Alojamiento | Totalmente alojado (opción de autoalojamiento) | Local-first | Local-first |
Operaciones | Nube sin operaciones | Requiere configuración de Python | Requiere Docker |
Herramientas de carga | Herramientas integradas de sesión de carga de un solo archivo y conocimiento por lotes | Sí | Sí |
Citas / fundamentación | Fuerte rastro de evidencia con metadatos de recuperación | Sí | Sí |
Mejor para | Equipos que quieren RAG multimodal alojado sin operaciones para clientes MCP | Experimentos locales de RAG de documentos | Flujos de trabajo locales pesados de video/audio/datos |
Empieza aquí si quieres el servidor MCP de RAG multimodal alojado más fácil.
Lo que obtienes
Agente RAG multimodal de producción con memoria de varios turnos
Herramientas de carga integradas para archivos individuales y cargas de conocimiento por lotes
Descubrimiento automático de las variantes de RAG y los buckets de conocimiento de tu equipo
Citas verificables con referencias de fuentes 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 a menudo vive en 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 los formatos en los que los usuarios realmente confían: documentación, PDF, 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 de texto y visual relevante, luego el agente RAG responde a partir de ese material fuente.
Muestra el rastro de evidencia: las respuestas pueden incluir referencias de fuentes, 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 las 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, interfaz 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 el gráfico de precios con nuestra documentación de planes y recomienda el nivel adecuado."
"Resume la política que se 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 de RAG de equipo descubierta con el argumento opcional
modelContinuar una conversación de varios turnos mediante el modelo de conversación nativo
/v1/responsesRestablecer el contexto de la conversación con
/newUsar el mismo endpoint de Responses compatible con OpenAI que sirve a
calypso-rag-agentDescubrir 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,BlobyFile) para llamadas API y compatibilidad con el SDK. El paquete arranca los globales faltantes al inicio para entornos de ejecución MCP que exponen solo parte de la superficie de Web API de Node 18+.Un endpoint de API de Calypso que exponga:
POST /v1/responsesGET /v1/rag-agent/modelsGET /v1/knowledge/bucketsPOST /v1/knowledge/files/upload-sessionPOST /v1/knowledge/files/upload-session/{session_id}/finalizePOST /v1/knowledge/files:batch/upload-sessionPOST /v1/knowledge/files:batch/upload-session/{batch_id}/finalizeGET /v1/knowledge/batches/{batch_id}
Una clave de API de Calypso (
sk-...)
Configuración
Variables de entorno:
CALYPSO_API_KEY(obligatoria)CALYPSO_API_BASE_URL(opcional, por defectohttps://api.calypso.so/v1)
Banderas de CLI:
--api-key--api-base-url
Precedencia de configuración:
Banderas de CLI / argumentos de comando proporcionados por Smithery
Variables de entorno
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-serverConfigurar 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/v1Configurar en Claude Desktop
1. Abre la configuración de MCP de Claude Desktop
En Claude Desktop:
Claude -> Configuración -> Desarrollador -> Editar configuración
En macOS, el archivo suele estar en:
~/Library/Application Support/Claude/claude_desktop_config.jsonClaude 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 + QDespués del reinicio, el MCP debería aparecer en Claude con estas herramientas disponibles:
calypso-rag-agentcalypso-list-bucketscalypso-upload-filecalypso-upload-files-batch
Opcional: guardar artefactos de Claude en tu Mac
Calypso proporciona herramientas de RAG multimodal alojado. No escribe informes generados, resúmenes, CSV, archivos JSON o artefactos de búsqueda web directamente en tu computadora local.
Para permitir que Claude Desktop guarde archivos generados localmente, añade el servidor MCP de sistema de archivos estándar junto a Calypso y restringe su acceso a una carpeta segura dedicada.
Crea la carpeta primero:
mkdir -p ~/ClaudeLuego 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 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 otorga acceso al sistema de archivos a una carpeta dedicada como ~/Claude, no a todo tu directorio de inicio.
Preocupación | Mejor propietario |
Respuestas RAG respaldadas por fuentes | Calypso MCP |
Subir archivos a Calypso | Calypso MCP |
Escribir | filesystem MCP |
Artefactos de búsqueda web de Claude | Claude 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(obligatoria)calypsoApiBaseUrl(opcional, por defectohttps://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/v1Usa calypsoApiBaseUrl solo cuando apuntes a una implementación autoalojada compatible con Calypso. El valor predeterminado en la nube no necesita anulación.
Solución de problemas
Falta la clave de API: proporciona
--api-keyoCALYPSO_API_KEYHost de API incorrecto: asegúrate de que
--api-base-url/CALYPSO_API_BASE_URLtermine en/v1Despliegue autoalojado: solo sobrescribe la URL base si no estás usando
https://api.calypso.so/v1Desajuste de lanzamiento de Smithery: usa la ruta empaquetada
npx -y @calypsohq/multimodal-rag-mcp-serveren lugar de ejecutarnode dist/index.jsdesde un clon recienteFormData is not definedoHeaders is not defined: actualiza al último paquete. El servidor MCP inicializa los globales de la Web Fetch API que faltan antes de que se ejecuten las herramientas de subida.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 concontentBase64en lugar defilePath.Guardado de artefactos local: las respuestas de Calypso se pueden usar con el servidor MCP de sistema de archivos de Claude Desktop, pero hay que pedirle explícitamente a Claude que guarde la salida final en una ruta local permitida.
Elegir entre filePath y 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-serverEn 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 subida de Calypso. No necesitas codificar en base64 los archivos locales.
Usa contentBase64 para clientes MCP alojados o remotos, incluidos servidores alojados en Smithery, entornos de ejecución de navegador/cloud, 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-agentdisponibles para la clave de API al iniciar.Usa el argumento opcional
modelpara elegir una variante con nombre comocalypso-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 incorrecto.
Usa
POST /v1/responsesen lugar dePOST /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
fileIdsopcionales para preguntas con ámbito de recuperación. Las nuevas subidas deben usar las herramientas de subida de conocimiento duradero y esperar a la indexación antes de preguntar.Usa
/newcomo prompt para restablecer la conversación MCP.
calypso-list-buckets
Lista los buckets para el equipo vinculado a la clave de API de Calypso configurada.
Notas:
Usa
GET /v1/knowledge/buckets.No acepta
team_id; Calypso deriva el ámbito del equipo 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 devuelve buckets activos. Pasa
includeArchived: truecuando necesites buckets archivados para auditorías o limpieza.Úsalo antes de
calypso-upload-fileocalypso-upload-files-batchcuando necesites elegir un bucket de destino.calypso://rag-agent-modelsresponde qué buckets están vinculados a cada variante RAG.calypso-list-bucketsresponde qué buckets existen para el equipo de la clave de API.
Ejemplo:
{
"includeArchived": false
}calypso-get-file
Obtiene los metadatos y el estado de indexación de un archivo de conocimiento por id de archivo.
Notas:
Usa
GET /v1/knowledge/files/{file_id}.Resuelve los
fileIdsopacos decalypso-list-bucketsen nombre de archivo, tipo MIME, tamaño, estado de indexación y estado de sincronización por bucket.Pasa
verify: truepara verificar de forma cruzada con el proveedor (?verify=gemini) — más lento, pero autoritativo cuando un estado parece desactualizado.
Ejemplo:
{
"fileId": "file_123",
"verify": true
}calypso-create-bucket
Crea un bucket vacío para el flujo de trabajo de crear y luego llenar.
Notas:
Usa
POST /v1/knowledge/buckets(requiere un backend con este endpoint desplegado y la capacidadknowledge:bucket:createen la clave de API).El servidor normaliza el slug; las colisiones devuelven un error tipado
bucket_slug_exists.Las repeticiones de
idempotencyKeydevuelven el bucket existente en lugar de dar un error.Las subidas aún pueden crear buckets implícitamente mediante
bucketSlugs+createMissingBuckets; esta herramienta existe para crear primero el destino.
Ejemplo:
{
"name": "Product docs",
"slug": "product-docs",
"idempotencyKey": "create-product-docs-1"
}calypso-create-agent
Crea una variante de agente RAG vinculada a uno o más buckets.
Notas:
Usa
POST /v1/rag-agent/agents(requiere un backend con este endpoint desplegado y la capacidadrag:agent:createen la clave de API).El payload de éxito comienza con
model— pásalo directamente acalypso-rag-agent.Los vínculos de bucket se validan en el servidor: los buckets desconocidos o archivados devuelven
bucket_not_found; las colisiones de id de agente devuelvenagent_id_exists; el límite de agentes del plan devuelveagent_limit_reached.Crear un agente actualiza el catálogo de modelos y emite notificaciones MCP
tools/list_changed+resources/list_changed, por lo que la nueva variante se puede usar sin reconectar.
Ejemplo:
{
"agentId": "support",
"name": "Support agent",
"bucketSlugs": ["product-docs"],
"idempotencyKey": "create-support-agent-1"
}calypso-upload-file
Sube un archivo al almacén de conocimiento duradero respaldado por buckets y a la canalización de indexación.
Notas:
Usa
POST /v1/knowledge/files/upload-session, sube los bytes directamente al almacenamiento y luego finaliza conPOST /v1/knowledge/files/upload-session/{session_id}/finalize.Las subidas usan solicitudes de sesión JSON más
PUTbinarios firmados, no subidas de formulario multipart.Devuelve metadatos de archivo y tarea, no un
file_idde adjunto de chat.Requiere un destino de bucket mediante
bucketIds,bucketSlugsobucket.Usa
filePathpara instalaciones MCP locales de Claude Desktop/Cursor donde el servidor puede leer la ruta. UsacontentBase64para clientes MCP alojados o remotos que no pueden leer rutas locales.Si un agente ve una ruta como
/mnt/user-data/uploads/file.pdf, no debe enviarla comofilePath; debe enviar los bytes del archivo comocontentBase64.Admite
title,tags,metadataeidempotencyKeyopcionales.Enruta las subidas a buckets existentes con
bucketIdsobucketSlugs, o usabucketcomo atajo de un solo slug.Pasa
createMissingBuckets: truecon 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-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 conPOST /v1/knowledge/files:batch/upload-session/{batch_id}/finalize.Las subidas usan solicitudes de sesión JSON más
PUTbinarios 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,bucketSlugsobucket, salvo que cada elemento proporcione su propio destino de bucket.Admite valores predeterminados compartidos
bucketIds,bucketSlugs,bucketycreateMissingBuckets, además de anulaciones por elemento.Usa
filePathpor elemento para instalaciones MCP locales de Claude Desktop/Cursor donde el servidor puede leer cada ruta. UsacontentBase64por elemento para clientes MCP alojados o remotos que no pueden leer rutas locales.Genera valores
client_file_idseguros para Firestore cuando se omiteclientFileId.acceptedoqueuedsignifica que la subida es duradera, no necesariamente lista para consultas. UsawaitForBatchReady: truepara sondearGET /v1/knowledge/batches/{batch_id}?include_items=true.Inspecciona el estado por elemento,
bucketSyncStatusybucketSyncpara 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 las variantes de modelo calypso-rag-agent con ámbito de equipo descubiertas desde la clave de API configurada, incluidos los buckets, bucket_ids y missing_bucket_ids activos de cada variante. Si la detección no está disponible, este recurso recurre al calypso-rag-agent base.
calypso://buckets
Lista de solo lectura en tiempo de ejecución de los 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 RAG y de subida de archivos admitidos.
calypso://security
Notas de seguridad operativas para claves de API, lecturas de archivos locales, subidas y registro.
Prompts disponibles
calypso-question: redacta una pregunta de base de conocimiento fundamentada paracalypso-rag-agentcalypso-ingestion: prepara una subida duradera al almacén de conocimiento y una consulta de seguimientocalypso-reset-conversation: inicia un hilo RAG limpio con/new
Flujos de trabajo habituales (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 varios 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-bucketso leecalypso://bucketsantes de elegir un destino
Subir conocimiento duradero:
Llama a
calypso-upload-filecon el payload del archivo ytitle,tagsometadataopcionalesPrefiere
filePathpara instalaciones MCP locales de Claude Desktop/Cursor; usacontentBase64para clientes MCP alojados o remotos que no pueden leer rutas locales
Enrutar conocimiento hacia los buckets:
Usa
bucket: "support-handbook"para un destino,bucketSlugspara múltiples destinos basados en slug, obucketIdscuando ya tengas ids de bucket estables
Crear destinos de bucket bajo demanda:
Añade
createMissingBuckets: truecuando uses asignación de bucket basada en slug y el destino puede que no exista aún
Esperar la indexación:
Pasa
waitForIndexing: truesi quieres que la herramienta se bloquee hasta que el archivo de conocimiento esté indexado
Flujo de lote del almacén de conocimiento
Subir muchos archivos duraderos:
Llama a
calypso-upload-files-batchconitems,batchIdempotencyKeyyfilePathpor elemento para instalaciones MCP locales; usacontentBase64por elemento para clientes MCP alojados o remotos
Enrutar el lote hacia los buckets:
Pon
bucket,bucketSlugs,bucketIdsocreateMissingBucketscompartidos en la llamada a la herramienta, y luego anula por elemento solo cuando sea necesario
Esperar la preparación para consultas:
Usa
waitForBatchReady: truee inspecciona el estado del elemento devuelto y los campos de sincronización de bucket antes de consultar contenido nuevo
Consejos
Empezar de nuevo: usa
/newpara restablecer la conversación MCP (nuevoconversation_id+ cadena de respuesta borrada)
Available Tools
4 toolscalypso-list-knowledge-bucketsA
[CALYPSO LIST KNOWLEDGE BUCKETS] Lists knowledge buckets for the team tied to the configured Calypso API key.
Use this before uploads when you need bucket ids, slugs, names, member counts, or bucket-store readiness. This complements RAG model discovery: model discovery shows which buckets are bound to each agent variant, while this tool lists all buckets for the API key team.
| Name | Required | Description | Default |
|---|---|---|---|
| includeArchived | No | If true, include archived buckets. Defaults to false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It indicates a read-only listing operation and clarifies scope (team tied to the API key), but does not disclose potential rate limits, pagination, or default behavior nuances beyond the schema. It is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core action. The bracketed header repeats the tool name, adding slight redundancy, but every other sentence contributes meaningful usage context. It earns a high score for efficiency without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description provides a complete picture of purpose, usage context, and relationship to other tools. It hints at return values by listing retrievable fields, but does not explicitly describe the response format (e.g., array of objects). This is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the includeArchived parameter already described in the schema. The description does not add parameter-specific meaning beyond the schema, only mentions the types of data returned (bucket ids, slugs, etc.), which are not directly parameter semantics. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Lists'), resource ('knowledge buckets'), and scope ('for the team tied to the configured Calypso API key'). It also differentiates from sibling tools by explaining its use before uploads and how it complements model discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: 'Use this before uploads when you need bucket ids, slugs, names, member counts, or bucket-store readiness.' It also contrasts with RAG model discovery. However, it lacks explicit when-not-to-use or alternative tool exclusions, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calypso-rag-agentA
[CALYPSO RAG AGENT] Sends each prompt directly to the Calypso RAG agent using the full conversation context.
Use this when you want Calypso knowledge retrieval and grounded answers from the RAG backend. Typical requests:
"Summarize the key points from our onboarding documentation"
"What does the knowledge base say about campaign approval rules?"
"Compare the documented indexing flow with the retrieval flow"
"Answer using the uploaded file ids: ["file_123"]"
Responses API behavior:
First turns start a named Calypso conversation via
/v1/responses.Follow-up turns chain with
previous_response_idso the backend owns conversation state.When
fileIdsare provided, the MCP usesrag_policyretrieval semantics instead of inline attachment stuffing.
MCP session behavior:
This tool maintains a stable conversation id in the background for multi-turn retrieval context.
Use
/newto start a fresh conversation and clear the current context window.
Quick commands (examples):
"Summarize the latest indexed knowledge about WhatsApp templates"
"Find the source of truth for campaign approval behavior"
"Start a new topic" (or use
/new)
Available RAG models: calypso-rag-agent.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Optional RAG model variant. Defaults to `calypso-rag-agent`. Available models: calypso-rag-agent. | |
| prompt | Yes | Your request. Include context, constraints, and desired output. | |
| fileIds | No | Optional uploaded agent-store `file_id` values to attach with `rag_policy` retrieval semantics. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully explains behavior: maintains conversation state, chains follow-up turns via previous_response_id, uses rag_policy for fileIds, and supports /new to reset context. This goes well beyond what the schema reveals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is fairly long but organized into sections (Responses API, MCP session, quick commands). Every section adds value, though some repetition (model name listed twice) and length could be trimmed slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and no output schema/annotations, the description covers conversation state, file handling, and usage examples. Missing return format details, but the overall context is sufficiently complete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining fileIds trigger rag_policy retrieval semantics, and clarifies model default. This enriches the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's verb and resource: 'Sends each prompt directly to the Calypso RAG agent using the full conversation context.' It clearly distinguishes this from sibling tools (which list/upload knowledge files) by focusing on retrieval and grounded answers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit usage context: 'Use this when you want Calypso knowledge retrieval and grounded answers from the RAG backend.' It provides typical request examples and quick commands. However, it does not explicitly mention when NOT to use it or name alternative tools for other actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calypso-upload-knowledge-fileA
[CALYPSO UPLOAD KNOWLEDGE FILE] Uploads a file into the durable bucket-backed knowledge store and indexing pipeline.
Use this when you want a file indexed into the broader knowledge corpus instead of
attached directly to a single RAG chat turn. This tool returns knowledge-file and task metadata.
A bucket destination is required: pass bucketIds, bucketSlugs, or bucket.
Choose exactly one file source. Use filePath when this MCP server runs locally and can read the path, including Claude Desktop or Cursor configs that launch this package with npx. Use contentBase64 for hosted or remote MCP clients, browser uploads, generated in-memory content, or remote sandbox files that this MCP process cannot read. Do not base64-encode local files just to use this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Optional tags for knowledge-store organization. | |
| title | No | Optional human-readable title stored with the knowledge file. | |
| bucket | No | Convenience single bucket slug for this upload. Required unless bucketIds or bucketSlugs is provided. | |
| filePath | No | Preferred for local MCP installs, including Claude Desktop and Cursor configs that run this package with a local command such as npx. Absolute or relative path readable by the machine running this MCP server. The server reads raw bytes and uploads them through the Calypso upload-session URL; no user-side base64 conversion is needed. | |
| filename | Yes | Display filename for the uploaded knowledge file. | |
| metadata | No | Optional metadata object serialized onto the upload request. | |
| mimeType | Yes | Content type for the uploaded knowledge file. | |
| bucketIds | No | Existing knowledge bucket ids to assign this upload to. Required unless bucketSlugs or bucket is provided. | |
| bucketSlugs | No | Knowledge bucket slugs to assign this upload to. Required unless bucketIds or bucket is provided. | |
| contentBase64 | No | Inline file bytes as base64. Use when filePath is not possible, such as hosted or remote MCP servers, browser-provided files, generated content, or remote sandbox attachment paths that the MCP process cannot read. | |
| idempotencyKey | No | Optional idempotency key for durable upload retries. | |
| waitForIndexing | No | If true, wait until indexing reaches a terminal ready state before returning. | |
| createMissingBuckets | No | If true, create missing bucket slugs before assignment. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the durable bucket-backed nature, the indexing pipeline, return metadata, the requirement to choose exactly one file source, and explains how filePath avoids base64 conversion. It also mentions idempotency for retries. Some aspects like error conditions or permission needs are not covered, but the description adds significant behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then efficiently covers usage guidance, parameter selection, and constraints in a compact block. Every sentence adds value; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 13 parameters and no output schema, the description is complete: it states what the tool returns, when to use each source parameter, bucket requirements, and optional behaviors like waitForIndexing and createMissingBuckets. It addresses the complexity effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds substantial meaning: it explains the trade-offs between filePath and contentBase64, clarifies the bucket alternatives (bucketIds, bucketSlugs, bucket), and notes the idempotency key's purpose. This goes beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Uploads a file into the durable bucket-backed knowledge store and indexing pipeline', which is a specific verb+resource action. It also distinguishes from siblings by noting this is for the broader knowledge corpus rather than a single RAG chat turn, and indirectly from the batch upload tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: 'Use this when you want a file indexed into the broader knowledge corpus instead of attached directly to a single RAG chat turn.' It also details when to use filePath vs contentBase64 with concrete examples (local vs hosted/remote), and implies batch tool for multiple files. No alternatives are excluded but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calypso-upload-knowledge-files-batchA
[CALYPSO UPLOAD KNOWLEDGE FILES BATCH] Uploads 1 to 100 files into the durable knowledge store and indexing queue in one request.
Use this for bulk corpus ingestion. Shared bucket fields apply to every item unless an item
provides its own bucket fields. The tool returns batch-level status and, when requested,
polls until the batch reaches active, partially_active, partially_failed, failed, or timeout.
A shared bucket destination is required unless every item provides its own bucket destination.
Choose exactly one file source per item. Use filePath when this MCP server runs locally and can read each path, including Claude Desktop or Cursor configs that launch this package with npx. Use contentBase64 for hosted or remote MCP clients, browser uploads, generated in-memory content, or remote sandbox files that this MCP process cannot read. Do not base64-encode local files just to use this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Knowledge files to upload in this batch. | |
| bucket | No | Convenience single bucket slug applied to all items by default. Required unless every item has a bucket destination. | |
| bucketIds | No | Existing bucket ids applied to all items by default. Required unless every item has a bucket destination. | |
| bucketSlugs | No | Bucket slugs applied to all items by default. Required unless every item has a bucket destination. | |
| waitForBatchReady | No | If true, poll batch status with include_items=true until terminal or timeout. | |
| batchIdempotencyKey | Yes | Required idempotency key used to derive the durable batch id. | |
| createMissingBuckets | No | If true, create missing shared bucket slugs before assignment. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses write side-effects (durable store, indexing queue), batch status return, optional polling with terminal states, and bucket field override rules. It does not mention all possible failure semantics or idempotency behavior in depth, but the core workflow is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than minimal but every sentence serves a purpose: purpose, usage, file-source selection, bucket rules, and status behavior. It is well-structured and front-loaded with the main action, then details, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description is remarkably complete: it covers the tool's operation, return behavior, polling, and preconditions (bucket destination). It could add more on error handling or what 'batch-level status' contains, but it covers the essentials for a batch upload tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds important contextual meaning: when to use filePath vs contentBase64, and that shared bucket fields are overridden by item-specific fields. This enriches parameter understanding beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool uploads 1 to 100 files into the durable knowledge store and indexing queue in one request, with the explicit use case of bulk corpus ingestion. This distinguishes it from the sibling single-file upload tool by scope and batch behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: use for bulk corpus ingestion. It also provides specific direction on choosing filePath for local MCP installs and contentBase64 for hosted/remote clients, plus a warning not to base64 local files. However, it does not explicitly reference the singular alternative tool (calypso-upload-knowledge-file), so it lacks full alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v1.0.40- First observed
calypso-list-knowledge-buckets - First observed
calypso-rag-agent - First observed
calypso-upload-knowledge-file - First observed
calypso-upload-knowledge-files-batch
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: listing buckets, uploading a single file, uploading a batch of files, and querying the RAG agent. The two upload tools are well-separated by single vs. batch semantics, and the descriptions reinforce the boundaries.
Most tools follow a consistent `calypso-<verb>-<object>` pattern (list-knowledge-buckets, upload-knowledge-file, upload-knowledge-files-batch). The `calypso-rag-agent` tool deviates as it names a service rather than an action, but the prefix and hyphenation maintain a readable, predictable style.
Four tools is well-scoped for a focused multimodal RAG server. Each tool addresses a core need (bucket discovery, ingestion, bulk ingestion, and retrieval/chat), and none feel redundant or unnecessary.
The core workflow is covered: list buckets to find destinations, upload files (single or batch), and query via the RAG agent. Minor gaps exist (no explicit file deletion/update or bucket creation), but they are likely outside the intended scope and do not block the primary use case.
Maintenance
Related MCP Connectors
Hosted MCP server: convert PDFs to clean, LLM-ready Markdown with tables, formulas and OCR.
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.
The CustomGPT.ai MCP server is a fully managed, RAG-powered endpoint that connects large language models with private knowledge bases and external data sources. It provides tools for retrieval-augmented generation queries (send_message), data ingestion (upload_file), and source listing, enabling AI agents to query private documents like PDFs with high accuracy and real-time citations.
Hosted MCP server for LLM cost estimation, model comparison, and budget-aware routing.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceAn MCP server that provides comprehensive multimodal Retrieval-Augmented Generation (RAG) capabilities for processing and querying document directories, supporting text, images, tables, and equations.37MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables any MCP-compatible application to perform advanced multi-modal document processing and retrieval using RAG-Anything.MIT
- AlicenseNot gradedqualityDmaintenanceRAGX MCP Server enables retrieval-augmented generation with document ingestion, hybrid search, and agentic answering using Claude, exposing tools for querying, searching, and managing documents.2MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server for document parsing, ingestion, query (including multimodal), and lightweight knowledge graph inspection, enabling RAG workflows via the Model Context Protocol.-