Calypso Multimodal RAG MCP Server
OfficialCalypso Multimodal RAG MCP Server
Самый простой размещённый мультимодальный RAG MCP-сервер для Claude Desktop, Cursor и агентных рабочих процессов.
Одна команда npx. На базе Gemini File Search. Нативно обрабатывает PDF, скриншоты, диаграммы, схемы и изображения с проверяемыми цитатами.
Самый простой способ добавить размещённый мультимодальный RAG в Claude, Cursor, Windsurf и пользовательских агентов.
Очень простая настройка:
npx -y @calypsohq/multimodal-rag-mcp-server --api-key sk-your-key-hereНастоящий мультимодальный RAG: нативно обрабатывает текст и визуальные материалы через Gemini File Search
Загрузка и запросы: выделенные инструменты для долговременных файлов знаний и пакетной загрузки
Многоходовые диалоги: ответы с учётом контекста и сброс через
/newОбнаруживаемые рабочие процессы: ресурсы и промпты для безопасного RAG, загрузки и процессов приёма данных
GitHub | Документация | Smithery | Официальный реестр MCP
Теги: multimodal-rag, easiest-mcp-rag, gemini-rag, hosted-rag-mcp, mcp-server
Вместо того чтобы подключать каждого агента или рабочий процесс к разрозненному стеку поиска по документам, используйте этот MCP как точку входа для агентов в единый многоразовый слой ответов: загрузите исходный материал один раз, выполняйте поиск по текстовому и визуальному контенту и получайте ответы с доказательствами, которые пользователи могут проверить.
Быстрый старт (самый простой)
# One-liner with npx
npx -y @calypsohq/multimodal-rag-mcp-server --api-key "sk-your-key-here"Или с переменными окружения:
CALYPSO_API_KEY="sk-..." npx -y @calypsohq/multimodal-rag-mcp-serverЗатем добавьте ту же команду в Claude Desktop, Cursor или Smithery, используя примеры конфигурации ниже.
Related MCP server: RAG-Anything MCP Server
Почему стоит выбрать Calypso
Calypso создан для команд, которым нужен самый простой размещённый мультимодальный RAG MCP-сервер: без локального векторного стека, без Docker Compose и без собственного конвейера OCR или обработки изображений, прежде чем агенты смогут задавать обоснованные вопросы.
Функция | Calypso | rag-anything-mcp | Pixeltable |
Настройка | 1 команда npx (ноль инфраструктуры) | Клонирование + Python | Docker Compose |
Мультимодальность | Нативный Gemini File Search (текст + изображения, диаграммы, схемы, PDF) без дополнительного конвейера для зрения | Сильный RAG по документам на основе OpenAI vision | Отлично подходит для видео, аудио, изображений и таблиц |
Хостинг | Полностью размещённый (есть вариант самостоятельного размещения) | Локальный в первую очередь | Локальный в первую очередь |
Эксплуатация | Облако с нулевым администрированием | Требуется настройка Python | Требуется Docker |
Инструменты загрузки | Встроенные инструменты для одиночных файлов и пакетной загрузки знаний | Да | Да |
Цитирование / обоснование | Надёжная цепочка доказательств с метаданными поиска | Да | Да |
Лучше всего подходит для | Команды, которым нужен размещённый мультимодальный RAG с нулевым администрированием для MCP-клиентов | Локальные эксперименты с RAG по документам | Тяжёлые локальные рабочие процессы с видео/аудио/данными |
Начните здесь, если вам нужен самый простой размещённый мультимодальный RAG MCP-сервер.
Что вы получаете
Продакшн-мультимодальный RAG-агент с многоходовой памятью
Встроенные инструменты загрузки для одиночных файлов и пакетной загрузки знаний
Автоматическое обнаружение вариантов RAG и корзин знаний вашей команды
Проверяемые цитаты с указанием источников и метаданными поиска
Ресурсы только для чтения и переиспользуемые промпты для безопасных рабочих процессов
Почему мультимодальный RAG в первую очередь
Знания большинства компаний — это не только текст. Ответ часто находится в скриншоте настройки, таблице PDF, диаграмме продукта, странице справки или графике внутри отчёта. Calypso упаковывает всю эту поверхность знаний в единый слой поиска, чтобы агенты могли задавать обоснованные вопросы, не полагаясь на догадки из общей памяти модели.
Ищите в форматах, которые действительно используют пользователи: документация, PDF, скриншоты, диаграммы, схемы, изображения продуктов, статьи поддержки, руководства, политики, FAQ и отчёты.
Обосновывайте ответы до того, как модель напишет: Gemini File Search сначала извлекает релевантный текстовый и визуальный контекст, а затем RAG-агент отвечает на основе этого исходного материала.
Показывайте цепочку доказательств: ответы могут включать ссылки на источники, привязку к страницам и метаданные поиска, чтобы люди могли проверить, прежде чем доверять.
Ограничивайте поиск с помощью метаданных: используйте рабочее пространство, команду, клиента, язык, тип файла, статус или другие метаданные, чтобы ответы оставались релевантными без дублирования баз знаний.
Используйте один и тот же слой знаний везде: подключайте Cursor, Claude Desktop, AI-агентов, рабочие процессы n8n, пользовательский интерфейс продукта, процессы поддержки и веб-сайты к одному и тому же слою с источниками.
На практике это означает, что ваш агент может отвечать на такие вопросы, как:
«Объясни этот скриншот настройки и прикреплённый PDF с политикой. Что должен сделать сотрудник поддержки дальше?»
«Что говорится в этом PDF по онбордингу о правилах утверждения?»
«Почему этот экран настройки не работает?»
«Сравни таблицу цен с нашей документацией по планам и порекомендуй подходящий тариф.»
«Суммируй политику, применимую к этому тикету поддержки.»
«Какой план продукта подходит этому клиенту на основе наших документов о ценах?»
«Сравни процесс приёма данных на диаграмме с процессом поиска.»
Что делает этот MCP
С помощью calypso-rag-agent вы можете:
Задавать обоснованные вопросы по настроенной базе знаний Calypso
Выбирать любой обнаруженный вариант RAG команды с помощью необязательного аргумента
modelПродолжать многоходовой диалог через нативную модель диалогов
/v1/responsesСбрасывать контекст диалога с помощью
/newИспользовать ту же совместимую с OpenAI конечную точку Responses, которая обслуживает
calypso-rag-agentОбнаруживать встроенные ресурсы и промпты для поддерживаемых рабочих процессов Calypso
Требования
Node.js 18+
Сервер использует примитивы Web Fetch API (
fetch,Headers,Request,Response,FormData,BlobиFile) для вызовов API и совместимости с SDK. Пакет загружает недостающие глобальные объекты при запуске для сред выполнения MCP, которые предоставляют только часть поверхности Web API Node 18+.Конечная точка API Calypso, которая предоставляет:
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}
Ключ API Calypso (
sk-...)
Конфигурация
Переменные окружения:
CALYPSO_API_KEY(обязательно)CALYPSO_API_BASE_URL(необязательно, по умолчаниюhttps://api.calypso.so/v1)
Флаги CLI:
--api-key--api-base-url
Приоритет конфигурации:
Флаги CLI / аргументы команды, предоставленные Smithery
Переменные окружения
Базовый URL по умолчанию (
https://api.calypso.so/v1)
Запуск с помощью npx
npx -y @calypsohq/multimodal-rag-mcp-server --api-key "sk-..."Запуск с переменными окружения
env CALYPSO_API_KEY="sk-..." CALYPSO_API_BASE_URL="https://api.calypso.so/v1" npx -y @calypsohq/multimodal-rag-mcp-serverНастройка в Cursor
Добавьте новый MCP-сервер (тип команды), например:
npx -y @calypsohq/multimodal-rag-mcp-server --api-key sk-... --api-base-url https://api.calypso.so/v1Настройка в Claude Desktop
1. Откройте конфигурацию MCP Claude Desktop
В Claude Desktop:
Claude -> Настройки -> Разработчик -> Изменить конфигурацию
На macOS файл обычно находится здесь:
~/Library/Application Support/Claude/claude_desktop_config.jsonClaude Desktop использует claude_desktop_config.json для настольных MCP-серверов. Claude Code использует отдельные места конфигурации, такие как ~/.claude.json или проектный .mcp.json.
2. Добавьте MCP-сервер Calypso
Вставьте это в 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"
}
}
}
}Замените:
sk-your-calypso-api-key
на ваш реальный ключ API Calypso.
3. Полностью перезапустите Claude Desktop
Полностью завершите работу Claude Desktop, затем откройте его снова.
Не просто закрывайте окно. На macOS:
Cmd + QПосле перезапуска MCP должен появиться в Claude со следующими инструментами:
calypso-rag-agentcalypso-list-bucketscalypso-upload-filecalypso-upload-files-batch
Необязательно: сохранение артефактов Claude на вашем Mac
Calypso предоставляет размещённые мультимодальные RAG-инструменты. Он не записывает сгенерированные отчёты, сводки, CSV, JSON-файлы или артефакты веб-поиска непосредственно на ваш локальный компьютер.
Чтобы позволить Claude Desktop сохранять сгенерированные файлы локально, добавьте стандартный MCP-сервер filesystem вместе с Calypso и ограничьте его выделенной безопасной папкой.
Сначала создайте папку:
mkdir -p ~/ClaudeЗатем добавьте оба сервера в 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"
]
}
}
}Полностью завершите работу и снова откройте Claude Desktop после изменения конфигурации.
Пример промпта:
Use Calypso for the grounded RAG answer, then save the final report as /Users/yourname/Claude/report.md using the filesystem tool.В целях безопасности предоставляйте доступ к файловой системе только к выделенной папке, такой как ~/Claude, а не ко всему домашнему каталогу.
Проблема | Лучший владелец |
Ответы RAG с источниками | Calypso MCP |
Загрузка файлов в Calypso | Calypso MCP |
Запись | filesystem MCP |
Артефакты веб-поиска из Claude | Claude плюс промпт filesystem MCP |
Smithery
Сервер доступен на Smithery и запускается через тот же путь пакета npx, который используют настольные клиенты.
Пользовательская конфигурация Smithery:
calypsoApiKey(обязательно)calypsoApiBaseUrl(необязательно, по умолчаниюhttps://api.calypso.so/v1)
Путь запуска Smithery эквивалентен:
npx -y @calypsohq/multimodal-rag-mcp-server --api-key sk-... --api-base-url https://api.calypso.so/v1Используйте calypsoApiBaseUrl только при нацеливании на самостоятельное развёртывание, совместимое с Calypso. Облачное значение по умолчанию не требует переопределения.
Устранение неполадок
Отсутствует API-ключ: укажите
--api-keyилиCALYPSO_API_KEYНеверный API-хост: убедитесь, что
--api-base-url/CALYPSO_API_BASE_URLзаканчивается на/v1Самостоятельное развертывание: переопределяйте базовый URL только если вы не используете
https://api.calypso.so/v1Несоответствие запуска Smithery: используйте упакованный путь
npx -y @calypsohq/multimodal-rag-mcp-serverвместо запускаnode dist/index.jsиз свежего клонаFormData is not definedилиHeaders is not defined: обновите до последней версии пакета. MCP-сервер инициализирует отсутствующие глобальные объекты Web Fetch API перед запуском инструментов загрузки.ENOENT для
/mnt/user-data/uploads/...: этот путь принадлежит хостируемому агенту или песочнице вложений, а не обязательно MCP-серверу. Повторите попытку сcontentBase64вместоfilePath.Локальное сохранение артефактов: ответы Calypso можно использовать с файловым MCP-сервером Claude Desktop, но Клода нужно явно попросить сохранить итоговый вывод в разрешенный локальный путь.
Выбор между filePath и contentBase64
Используйте filePath для локальных установок MCP, включая конфигурации Claude Desktop и Cursor, которые запускают этот пакет локальной командой, например:
npx -y @calypsohq/multimodal-rag-mcp-serverВ такой настройке процесс MCP-сервера работает на вашей машине и может читать пути, доступные той же учетной записи пользователя. Передавайте локальный путь напрямую; сервер читает исходные байты и загружает их через URL сессии загрузки Calypso. Вам не нужно кодировать локальные файлы в base64.
Используйте contentBase64 для хостируемых или удаленных MCP-клиентов, включая серверы, размещенные на Smithery, браузерные/облачные среды выполнения, сгенерированное в памяти содержимое и контейнеры агентов. В таких средах путь на вашем Mac или рабочей станции не читается процессом MCP-сервера.
Если путь начинается с /mnt/user-data/uploads, /mnt/data, /mnt/attachments или другого префикса хостируемой песочницы, не отправляйте его как filePath, если только этот MCP-сервер не работает в той же песочнице. Вместо этого используйте contentBase64 или другой встроенный источник байтов.
Доступные инструменты
calypso-rag-agent
Прямой доступ к RAG-агенту Calypso.
Примечания:
Он не выполняет автоматическую маршрутизацию к другим персонам или агентам.
При запуске он автоматически обнаруживает доступные варианты
calypso-rag-agentдля данного API-ключа.Используйте необязательный аргумент
model, чтобы выбрать именованный вариант, напримерcalypso-rag-agent:pricing.Каждый вариант модели сохраняет собственную цепочку разговора MCP, поэтому переключение вариантов не продолжает неправильный поток.
Он использует
POST /v1/responsesвместоPOST /v1/chat/completions.Первые ходы создают именованный разговор, а последующие ходы связываются с помощью
previous_response_id.Для вопросов, ограниченных поиском, поддерживаются необязательные
fileIds. Новые загрузки следует выполнять с помощью инструментов долговременной загрузки знаний и ждать индексации перед запросом.Используйте
/newв качестве подсказки для сброса разговора MCP.
calypso-list-buckets
Перечисляет корзины для команды, привязанной к настроенному API-ключу Calypso.
Примечания:
Использует
GET /v1/knowledge/buckets.Не принимает
team_id; Calypso определяет область команды из API-ключа.Возвращает идентификаторы корзин, слаги, названия, статус, количество участников, количество источников и готовность хранилища корзин.
По умолчанию возвращает только активные корзины. Передайте
includeArchived: true, если вам нужны архивные корзины для аудита или очистки.Используйте это перед
calypso-upload-fileилиcalypso-upload-files-batch, когда нужно выбрать целевую корзину.calypso://rag-agent-modelsпоказывает, какие корзины привязаны к каждому варианту RAG.calypso-list-bucketsпоказывает, какие корзины существуют для команды API-ключа.
Пример:
{
"includeArchived": false
}calypso-get-file
Получает метаданные и статус индексации одного файла знаний по идентификатору файла.
Примечания:
Использует
GET /v1/knowledge/files/{file_id}.Преобразует непрозрачные
fileIdsизcalypso-list-bucketsв имя файла, MIME-тип, размер, статус индексации и состояние синхронизации по корзинам.Передайте
verify: trueдля перекрестной проверки с провайдером (?verify=gemini) — медленнее, но авторитетно, если статус выглядит устаревшим.
Пример:
{
"fileId": "file_123",
"verify": true
}calypso-create-bucket
Создает пустую корзину для рабочего процесса «создать, затем заполнить».
Примечания:
Использует
POST /v1/knowledge/buckets(требуется бэкенд с развернутой этой конечной точкой и возможностьknowledge:bucket:createна API-ключе).Сервер нормализует слаг; коллизии возвращают типизированную ошибку
bucket_slug_exists.Повторные вызовы с
idempotencyKeyвозвращают существующую корзину вместо ошибки.Загрузки по-прежнему могут неявно создавать корзины через
bucketSlugs+createMissingBuckets; этот инструмент существует для создания назначения заранее.
Пример:
{
"name": "Product docs",
"slug": "product-docs",
"idempotencyKey": "create-product-docs-1"
}calypso-create-agent
Создает вариант RAG-агента, привязанный к одной или нескольким корзинам.
Примечания:
Использует
POST /v1/rag-agent/agents(требуется бэкенд с развернутой этой конечной точкой и возможностьrag:agent:createна API-ключе).Успешный ответ начинается с
model— передайте его напрямую вcalypso-rag-agent.Привязки корзин проверяются на стороне сервера: неизвестные или архивные корзины возвращают
bucket_not_found; коллизии идентификаторов агентов возвращаютagent_id_exists; лимит агентов плана возвращаетagent_limit_reached.Создание агента обновляет каталог моделей и отправляет уведомления MCP
tools/list_changed+resources/list_changed, поэтому новый вариант можно использовать без переподключения.
Пример:
{
"agentId": "support",
"name": "Support agent",
"bucketSlugs": ["product-docs"],
"idempotencyKey": "create-support-agent-1"
}calypso-upload-file
Загружает файл в долговременное хранилище знаний на основе корзин и конвейер индексации.
Примечания:
Использует
POST /v1/knowledge/files/upload-session, загружает байты напрямую в хранилище, затем завершает с помощьюPOST /v1/knowledge/files/upload-session/{session_id}/finalize.Загрузки используют JSON-запросы сессий и подписанные бинарные
PUT, а не multipart-формы.Возвращает метаданные файла и задачи, а не
file_idвложения чата.Требуется одна целевая корзина через
bucketIds,bucketSlugsилиbucket.Используйте
filePathдля локальных установок Claude Desktop/Cursor MCP, где сервер может прочитать путь. ИспользуйтеcontentBase64для хостируемых или удаленных MCP-клиентов, которые не могут читать локальные пути.Если агент видит путь вида
/mnt/user-data/uploads/file.pdf, он не должен отправлять его какfilePath; он должен отправлять байты файла какcontentBase64.Поддерживает необязательные
title,tags,metadataиidempotencyKey.Направляйте загрузки в существующие корзины с помощью
bucketIdsилиbucketSlugs, или используйтеbucketкак сокращение для одного слага.Передайте
createMissingBuckets: trueс слагами корзин, если вы хотите, чтобы Calypso создала отсутствующие назначения во время загрузки.Может опционально ожидать достижения состояния готовности индексации перед возвратом.
Пример:
{
"filename": "handbook.pdf",
"mimeType": "application/pdf",
"filePath": "/Users/me/Documents/handbook.pdf",
"bucket": "support-handbook",
"createMissingBuckets": true,
"waitForIndexing": true
}calypso-upload-files-batch
Загружает от 1 до 100 файлов в долговременное хранилище знаний одним запросом.
Примечания:
Использует
POST /v1/knowledge/files:batch/upload-session, загружает каждый принятый элемент напрямую в хранилище, затем завершает с помощьюPOST /v1/knowledge/files:batch/upload-session/{batch_id}/finalize.Загрузки используют JSON-запросы сессий и подписанные бинарные
PUT, а не multipart-формы.Требуется
batchIdempotencyKey; Calypso использует его для получения долговременного идентификатора пакета для повторных попыток.Требуется общая целевая корзина через
bucketIds,bucketSlugsилиbucket, если только каждый элемент не предоставляет собственную целевую корзину.Поддерживает общие значения по умолчанию
bucketIds,bucketSlugs,bucketиcreateMissingBuckets, а также переопределения для каждого элемента.Используйте
filePathдля каждого элемента для локальных установок Claude Desktop/Cursor MCP, где сервер может прочитать каждый путь. ИспользуйтеcontentBase64для каждого элемента для хостируемых или удаленных MCP-клиентов, которые не могут читать локальные пути.Генерирует безопасные для Firestore значения
client_file_id, еслиclientFileIdне указан.acceptedилиqueuedозначает, что загрузка долговременная, но не обязательно готова к запросам. ИспользуйтеwaitForBatchReady: trueдля опросаGET /v1/knowledge/batches/{batch_id}?include_items=true.Проверяйте статус каждого элемента,
bucketSyncStatusиbucketSync, чтобы отличить индексированное содержимое от готового к поиску по корзинам.
Пример:
{
"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
}Доступные ресурсы
calypso://server-info
Метаданные сервера только для чтения, включая версию пакета, базовый URL API, транспорт, модель аутентификации и доступные возможности.
calypso://rag-agent-models
Каталог вариантов модели calypso-rag-agent только для чтения, ограниченных командой, обнаруженных из настроенного API-ключа, включая активные buckets, bucket_ids и missing_bucket_ids для каждого варианта. Если обнаружение недоступно, этот ресурс возвращается к базовому calypso-rag-agent.
calypso://buckets
Список корзин знаний только для чтения для команды, привязанной к настроенному API-ключу. Используйте его для проверки идентификаторов/слагов корзин и готовности хранилища корзин перед загрузкой.
calypso://workflows
Краткое руководство по поддерживаемым рабочим процессам RAG и загрузки файлов.
calypso://security
Эксплуатационные заметки по безопасности для API-ключей, локального чтения файлов, загрузок и журналирования.
Доступные подсказки
calypso-question: составьте обоснованный вопрос по базе знаний дляcalypso-rag-agentcalypso-ingestion: подготовьте долговременную загрузку в хранилище знаний и последующий запросcalypso-reset-conversation: начните чистый поток RAG с помощью/new
Типовые рабочие процессы (копировать/вставить)
Поиск знаний
Обобщить тему:
Summarize the knowledge base guidance for campaign approvals
Задать конкретный вопрос:
What does our documentation say about indexing retries?
Сравнить два понятия:
Compare file indexing with retrieval execution in the current architecture
Начать новый поток:
/new
Многоходовое продолжение
Уточнить предыдущий ответ:
Focus only on the ingestion path and ignore retrieval
Запросить источники или обоснование:
Explain which documented components are involved and why
Поток файлов в хранилище знаний
Обнаружение корзин:
Вызовите
calypso-list-bucketsили прочитайтеcalypso://bucketsперед выбором назначения
Загрузка долговременных знаний:
Вызовите
calypso-upload-fileс полезной нагрузкой файла и необязательнымиtitle,tagsилиmetadataПредпочитайте
filePathдля локальных установок Claude Desktop/Cursor MCP; используйтеcontentBase64для хостируемых или удаленных MCP-клиентов, которые не могут читать локальные пути
Направление знаний в корзины:
Используйте
bucket: "support-handbook"для одного назначения,bucketSlugsдля нескольких назначений на основе слагов илиbucketIds, если у вас уже есть стабильные идентификаторы корзин
Создание корзин назначения по требованию:
Добавьте
createMissingBuckets: trueпри использовании назначения на основе слагов, если назначение может еще не существовать
Ожидание индексации:
Передайте
waitForIndexing: true, если вы хотите, чтобы инструмент блокировался до тех пор, пока файл знаний не будет проиндексирован
Пакетный поток хранилища знаний
Загрузка множества долговременных файлов:
Вызовите
calypso-upload-files-batchсitems,batchIdempotencyKeyиfilePathдля каждого элемента для локальных установок MCP; используйтеcontentBase64для каждого элемента для хостируемых или удаленных MCP-клиентов
Направление пакета в корзины:
Укажите общие
bucket,bucketSlugs,bucketIdsилиcreateMissingBucketsв вызове инструмента, затем переопределяйте для каждого элемента только при необходимости
Ожидание готовности к запросам:
Используйте
waitForBatchReady: trueи проверяйте возвращенный статус элементов и поля синхронизации корзин перед запросом свежего содержимого
Советы
Начать заново: используйте
/newдля сброса разговора MCP (новыйconversation_id+ очищенная цепочка ответов)
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.-