Skip to main content
Glama
Couchbase-Ecosystem

Couchbase Guru MCP Server

Couchbase Guru MCP Server

Сервер MCP, который позволяет LLM искать в документации Couchbase прямо из вашего MCP-клиента. Он предоставляет единственный инструмент ask_couchbase_docs, который передаёт ваш вопрос размещённому документационному агенту с генерацией, дополненной поиском (RAG), и возвращает ответ со ссылками на источники.

License Python 3.10+ PyPI version

Для работы не требуется кластер Couchbase или учётные данные. Сервер общается только с бэкендом документационного агента, а не с вашими данными.

Инструмент

Имя инструмента

Описание

ask_couchbase_docs

Отвечает на вопрос о любом продукте Couchbase, функции, SDK, сервисе, учебном пособии или примере, выполняя поиск по официальной документации. Возвращает ответ на естественном языке и ссылки на источники документации.

Задавайте полные, самодостаточные вопросы — у бэкенда нет истории диалога, поэтому указывайте продукт, версию и язык, где это уместно (например, «Как создать первичный индекс с помощью Python SDK в Couchbase Server 7.6?»).

Related MCP server: docrag

Предварительные требования

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

Сервер можно запустить из готового пакета на PyPI или из исходного кода с помощью uv. Он работает без какой-либо настройки — по умолчанию используется публичный документационный агент.

Запуск из PyPI

{
  "mcpServers": {
    "couchbase-guru": {
      "command": "uvx",
      "args": ["couchbase-guru"]
    }
  }
}

Если у вас уже настроены другие MCP-серверы, добавьте эту запись в существующий объект mcpServers.

Запуск из исходного кода

Клонируйте репозиторий:

git clone https://github.com/Couchbase-Ecosystem/couchbase-guru.git

Затем подключите ваш MCP-клиент к нему:

{
  "mcpServers": {
    "couchbase-guru": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/cloned/repo/couchbase-guru/",
        "run",
        "src/mcp_server.py"
      ]
    }
  }
}

path/to/cloned/repo/couchbase-guru/ — это путь к клонированному репозиторию на вашем компьютере. Не забудьте завершающий слэш.

Параметры

Все параметры необязательны и могут быть заданы через аргумент CLI или переменную окружения:

CLI Argument

Environment Variable

Description

Default

--transport

CB_MCP_TRANSPORT

Режим транспорта: stdio или http

stdio

--host

CB_MCP_HOST

Хост для режима HTTP-транспорта

127.0.0.1

--port

CB_MCP_PORT

Порт для режима HTTP-транспорта

8000

--agent-base-url

CB_AGENT_BASE_URL

Базовый URL бэкенда документационного агента. Укажите его, чтобы работать с собственным самостоятельно размещённым агентом; если не задан, используется публичный агент.

Публичный агент

--agent-ip-salt

CB_AGENT_IP_SALT

Секретная соль для псевдонимизации IP-адресов клиентов (HTTP-транспорт). Задайте общее значение для согласованного хеширования на нескольких экземплярах; если не задано, генерируется локальная соль.

Автоматически генерируется

Проверьте установленную версию с помощью:

uvx couchbase-guru --version

Самостоятельное размещение документационного агента

По умолчанию сервер использует общий публичный документационный агент, поэтому большинству пользователей не нужна настройка. Если вы запускаете собственный бэкенд агента, укажите серверу его адрес:

uvx couchbase-guru --agent-base-url https://your-agent.example.com

Ограничение частоты запросов и конфиденциальность

Публичный агент применяет разумные ограничения частоты запросов. Для этого сервер отправляет бэкенду псевдонимизированный идентификатор устройства (в заголовке User-Agent):

  • stdio: случайный идентификатор, генерируемый один раз и сохраняемый в пользовательском файле на вашем компьютере.

  • HTTP: солевой односторонний хеш IP-адреса подключения — сам адрес никогда не отправляется.

Сам MCP-сервер не сохраняет содержимое вопросов и персональные данные. Если вы предпочитаете не передавать сигнал для ограничения частоты запросов, разместите агента самостоятельно (см. выше).

Конфигурация для конкретных клиентов

  1. Отредактируйте файл конфигурации (см. краткое руководство по MCP):

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Добавьте конфигурацию в секцию mcpServers.

  3. Перезапустите Claude Desktop.

Логи: ~/Library/Logs/Claude (macOS) или %APPDATA%\Claude\Logs (Windows).

  1. В Cursor перейдите в Cursor Settings > Tools & Integrations > MCP Tools.

  2. Добавьте конфигурацию вручную или воспользуйтесь ссылкой Install in Cursor для установки в один клик.

  3. Сохраните, затем обновите, чтобы подтвердить, что сервер включён.

Логи: в нижней панели нажмите Output и выберите Cursor MCP из раскрывающегося списка.

  1. Откройте Command Palette > Windsurf MCP Configuration Panel (или Settings > Advanced > Cascade > Model Context Protocol (MCP) Servers).

  2. Нажмите Add Server > Add custom server и добавьте конфигурацию.

  3. Сохраните, затем обновите, чтобы подтвердить, что сервер включён.

Подробнее см. в документации Windsurf MCP.

  1. Создайте .vscode/mcp.json в своей рабочей области (или выполните MCP: Open User Configuration для глобальной конфигурации).

  2. VS Code использует servers в качестве ключа верхнего уровня (не mcpServers):

    {
      "servers": {
        "couchbase-guru": {
          "command": "uvx",
          "args": ["couchbase-guru"]
        }
      }
    }
  3. После сохранения используйте встроенный список действий для Start/Stop/управления сервером.

Подробнее см. в документации VS Code MCP.

  1. Установите плагин AI Assistant или Junie.

  2. Перейдите в Settings > Tools > AI Assistant or Junie > MCP Server.

  3. Нажмите «+», добавьте конфигурацию и нажмите Save, затем Apply.

Логи: Help > Show Log in Finder (Explorer) > mcp > couchbase-guru.

Режим транспорта Streamable HTTP

Сервер может работать в режиме Streamable HTTP, чтобы несколько клиентов могли подключаться к одному экземпляру. Сначала убедитесь, что ваш MCP-клиент поддерживает этот транспорт.

uvx couchbase-guru --transport=http --port=8000

Сервер будет доступен по адресу http://localhost:8000/mcp:

{
  "mcpServers": {
    "couchbase-guru-http": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

Этот режим не включает поддержку авторизации.

Docker

Соберите образ:

docker build -t couchbase-guru .

Запустите его (по умолчанию используется stdio; учётные данные не нужны):

{
  "mcpServers": {
    "couchbase-guru-docker": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "couchbase-guru"]
    }
  }
}

Для HTTP-транспорта опубликуйте порт и задайте транспорт:

docker run --rm -i \
  -e CB_MCP_TRANSPORT=http \
  -e CB_MCP_HOST=0.0.0.0 \
  -e CB_MCP_PORT=8000 \
  -p 8000:8000 \
  couchbase-guru

Риски, связанные с LLM

  • Использование больших языковых моделей и подобных технологий связано с рисками, включая возможность неточных или вредоносных результатов.

  • Couchbase не проверяет и не оценивает качество или точность таких результатов, и такие результаты могут не отражать точку зрения Couchbase.

  • Вы несёте единоличную ответственность за решение об использовании больших языковых моделей и связанных технологий, а также за соблюдение применимых условий лицензий, условий использования и политик вашей организации.

Устранение неполадок

  • Убедитесь, что uv/uvx установлены и находятся в PATH. Возможно, потребуется указать абсолютный путь к uv/uvx в поле command.

  • Если поиск завершается по тайм-ауту, бэкенд документации может быть занят — повторите попытку через мгновение.

  • Чтобы исключить публичный бэкенд, запустите сервер с собственным агентом, указав --agent-base-url.

  • Если вы запускаете сервер из исходного кода после обновления репозитория, выполните uv sync, чтобы обновить зависимости.

  • Проверьте журналы вашего MCP-клиента (их расположение указано выше) на наличие ошибок.

Тестирование

Модульные тесты выполняются в автономном режиме (бэкенд имитируется):

uv sync --extra dev
uv run pytest tests/

Интеграционные тесты проверяют инструмент сквозным образом на реальном бэкенде агента и запускаются по желанию (opt-in):

CB_MCP_RUN_INTEGRATION=1 uv run pytest tests/test_docs_tools.py

По умолчанию они используют публичный агент; задайте CB_AGENT_BASE_URL, чтобы указать другой бэкенд.


👩💻 Вклад в проект

Вклад приветствуется! Чтобы сообщить об ошибке, запросить новую функцию или внести улучшения, откройте issue на GitHub.

Инструкции для разработчиков см. в CONTRIBUTING.md (окружение с uv, линтинг и форматирование с помощью Ruff, pre-commit хуки и структура проекта).

# Clone and set up
git clone https://github.com/Couchbase-Ecosystem/couchbase-guru.git
cd couchbase-guru

# Install with development dependencies
uv sync --extra dev

# Install pre-commit hooks
uv run pre-commit install

📢 Политика поддержки

Мы ценим ваш интерес к этому проекту! Он поддерживается сообществом Couchbase, а это значит, что официально не поддерживается нашей командой поддержки. Наши инженеры следят за этим репозиторием и поддерживают его, стараясь решать проблемы по мере возможностей. Пожалуйста, оставляйте все запросы на GitHub.

Available Tools

1 tool
ask_couchbase_docsA
Read-only

Search Couchbase documentation to answer questions about any Couchbase product, feature, SDK, service, tutorials or examples. Use this tool for all Couchbase how-to, conceptual, and reference questions. Not for direct cluster operations.

NameRequiredDescriptionDefault
questionYesA complete, self-contained question about Couchbase products, SDKs, or services. Must include necessary context like product name, version, or programming language since the agent called by this tool lacks conversation history.

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already signals a safe, read-only operation, so the description does not need to re-prove that. It adds a useful scope boundary ('Not for direct cluster operations') but does not disclose extra behavioral details such as response format or failure modes. With annotations covering safety, this 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences plus one exclusion clause, with no filler. The primary action and supported scope are front-loaded, and every sentence contributes useful routing information.

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?

For a single-parameter tool with a detailed schema and an output schema available, the description is complete: it states scope, gives explicit usage guidance, and excludes the one class of out-of-scope requests. Nothing critical is missing for an agent to decide whether and how to invoke it.

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 description coverage is 100%, and the question parameter is already well-described with guidance to make it self-contained and include product/version/language context. The tool description itself adds no parameter-level meaning, but with full schema coverage the baseline of 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 states a specific action ('Search Couchbase documentation') and a clear resource, then enumerates the scope of supported topics (products, features, SDKs, services, tutorials, examples). It is immediately obvious what this tool does and where it differs from cluster-operation tools.

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?

'Use this tool for all Couchbase how-to, conceptual, and reference questions. Not for direct cluster operations' provides an explicit when-to-use and an explicit when-not-to-use. An agent can route questions correctly without needing sibling-tool descriptions.

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. 1 tool updatev0.1.0
    • First observedask_couchbase_docs

TDQS

A4.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap. The tool's purpose is singular and clearly described.

Naming Consistency5/5

The single tool name 'ask_couchbase_docs' follows a clear verb_noun pattern, which is internally consistent by default.

Tool Count4/5

One tool is perfectly matched to the narrow docs-Q&A scope, though it is on the thin side relative to typical MCP servers.

Completeness5/5

The tool's description explicitly covers all Couchbase documentation questions, leaving no obvious gaps within the stated scope.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides semantic search over markdown documentation using RAG, allowing natural language queries and integration with MCP clients.
    1
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides RAG (Retrieval Augmented Generation) access to technical documentation through MCP, enabling LLMs to search and retrieve relevant documentation on-demand.
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables answering natural-language questions from FAQ documents using vector search and LLM generation via an MCP tool.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables semantic search and AI-powered Q&A over ingested GitHub documentation repositories via MCP tools.
    -