Skip to main content
Glama
calypso-so

Calypso Multimodal RAG MCP Server

Official
by calypso-so

Calypso Multimodal RAG MCP Server

Самый простой размещённый мультимодальный RAG MCP-сервер для Claude Desktop, Cursor и агентных рабочих процессов.

Одна команда npx. На базе Gemini File Search. Нативно обрабатывает PDF, скриншоты, диаграммы, схемы и изображения с проверяемыми цитатами.

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

Самый простой способ добавить размещённый мультимодальный 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/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}

  • Ключ API Calypso (sk-...)

Конфигурация

Переменные окружения:

  • CALYPSO_API_KEY (обязательно)

  • CALYPSO_API_BASE_URL (необязательно, по умолчанию https://api.calypso.so/v1)

Флаги CLI:

  • --api-key

  • --api-base-url

Приоритет конфигурации:

  1. Флаги CLI / аргументы команды, предоставленные Smithery

  2. Переменные окружения

  3. Базовый 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.json

Claude 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-agent

  • calypso-list-buckets

  • calypso-upload-file

  • calypso-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

Запись .md, .pdf, .json, .csv и т.д. на ваш Mac

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-agent

  • calypso-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 tools
calypso-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeArchivedNoIf true, include archived buckets. Defaults to false.

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_id so the backend owns conversation state.

  • When fileIds are provided, the MCP uses rag_policy retrieval 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 /new to 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoOptional RAG model variant. Defaults to `calypso-rag-agent`. Available models: calypso-rag-agent.
promptYesYour request. Include context, constraints, and desired output.
fileIdsNoOptional uploaded agent-store `file_id` values to attach with `rag_policy` retrieval semantics.

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoOptional tags for knowledge-store organization.
titleNoOptional human-readable title stored with the knowledge file.
bucketNoConvenience single bucket slug for this upload. Required unless bucketIds or bucketSlugs is provided.
filePathNoPreferred 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.
filenameYesDisplay filename for the uploaded knowledge file.
metadataNoOptional metadata object serialized onto the upload request.
mimeTypeYesContent type for the uploaded knowledge file.
bucketIdsNoExisting knowledge bucket ids to assign this upload to. Required unless bucketSlugs or bucket is provided.
bucketSlugsNoKnowledge bucket slugs to assign this upload to. Required unless bucketIds or bucket is provided.
contentBase64NoInline 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.
idempotencyKeyNoOptional idempotency key for durable upload retries.
waitForIndexingNoIf true, wait until indexing reaches a terminal ready state before returning.
createMissingBucketsNoIf true, create missing bucket slugs before assignment.

TDQS

A4.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesKnowledge files to upload in this batch.
bucketNoConvenience single bucket slug applied to all items by default. Required unless every item has a bucket destination.
bucketIdsNoExisting bucket ids applied to all items by default. Required unless every item has a bucket destination.
bucketSlugsNoBucket slugs applied to all items by default. Required unless every item has a bucket destination.
waitForBatchReadyNoIf true, poll batch status with include_items=true until terminal or timeout.
batchIdempotencyKeyYesRequired idempotency key used to derive the durable batch id.
createMissingBucketsNoIf true, create missing shared bucket slugs before assignment.

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 4 tool updatesv1.0.40
    • First observedcalypso-list-knowledge-buckets
    • First observedcalypso-rag-agent
    • First observedcalypso-upload-knowledge-file
    • First observedcalypso-upload-knowledge-files-batch

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    An MCP server that provides comprehensive multimodal Retrieval-Augmented Generation (RAG) capabilities for processing and querying document directories, supporting text, images, tables, and equations.
    37
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    RAGX MCP Server enables retrieval-augmented generation with document ingestion, hybrid search, and agentic answering using Claude, exposing tools for querying, searching, and managing documents.
    2
    MIT