
OpenSearch MCP: как подключить кластер к Claude, Cursor и Codex
Подключает агента к кластеру OpenSearch: искать по индексам на Query DSL и PPL, читать маппинги, шарды и здоровье кластера, вызывать любой эндпоинт API.
По умолчанию включены 9 основных инструментов; наблюдаемость, анализ логов, Search Relevance Workbench и память агента включаются категориями.
Как подключить
Что сделать до подключения
uv с командой uvx или pip install opensearch-mcp-server-py
Доступ к кластеру OpenSearch: адрес и логин с паролем, роль IAM или ключи AWS
OPENSEARCH_URLАдрес кластера со схемой http:// или https://; для локального OpenSearch пишите порт явно: http://localhost:9200
OPENSEARCH_USERNAME / OPENSEARCH_PASSWORDЛогин и пароль базовой авторизации; для кластера без авторизации вместо них OPENSEARCH_NO_AUTH=true
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --env 'OPENSEARCH_URL=<адрес кластера, например http://localhost:9200>' --env 'OPENSEARCH_USERNAME=<логин>' --env 'OPENSEARCH_PASSWORD=<пароль>' --transport stdio opensearch \
-- uvx opensearch-mcp-server-pyПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.opensearch]
command = "uvx"
args = ["opensearch-mcp-server-py"]
[mcp_servers.opensearch.env]
OPENSEARCH_URL = "<адрес кластера, например http://localhost:9200>"
OPENSEARCH_USERNAME = "<логин>"
OPENSEARCH_PASSWORD = "<пароль>"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"opensearch": {
"command": "uvx",
"args": ["opensearch-mcp-server-py"],
"env": {
"OPENSEARCH_URL": "<адрес кластера, например http://localhost:9200>",
"OPENSEARCH_USERNAME": "<логин>",
"OPENSEARCH_PASSWORD": "<пароль>"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"opensearch": {
"type": "stdio",
"command": "uvx",
"args": ["opensearch-mcp-server-py"],
"env": {
"OPENSEARCH_URL": "<адрес кластера, например http://localhost:9200>",
"OPENSEARCH_USERNAME": "<логин>",
"OPENSEARCH_PASSWORD": "<пароль>"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"opensearch": {
"command": "uvx",
"args": ["opensearch-mcp-server-py"],
"env": {
"OPENSEARCH_URL": "<адрес кластера, например http://localhost:9200>",
"OPENSEARCH_USERNAME": "<логин>",
"OPENSEARCH_PASSWORD": "<пароль>"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"opensearch": {
"command": "uvx",
"args": ["opensearch-mcp-server-py"],
"env": {
"OPENSEARCH_URL": "<адрес кластера, например http://localhost:9200>",
"OPENSEARCH_USERNAME": "<логин>",
"OPENSEARCH_PASSWORD": "<пароль>"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"opensearch": {
"type": "local",
"command": ["uvx", "opensearch-mcp-server-py"],
"environment": {
"OPENSEARCH_URL": "<адрес кластера, например http://localhost:9200>",
"OPENSEARCH_USERNAME": "<логин>",
"OPENSEARCH_PASSWORD": "<пароль>"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"opensearch": {
"command": "uvx",
"args": ["opensearch-mcp-server-py"],
"env": {
"OPENSEARCH_URL": "<адрес кластера, например http://localhost:9200>",
"OPENSEARCH_USERNAME": "<логин>",
"OPENSEARCH_PASSWORD": "<пароль>"
}
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"opensearch": {
"command": "uvx",
"args": ["opensearch-mcp-server-py"],
"env": {
"OPENSEARCH_URL": "<адрес кластера, например http://localhost:9200>",
"OPENSEARCH_USERNAME": "<логин>",
"OPENSEARCH_PASSWORD": "<пароль>"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
ListIndexToolвыводит индексы и их размерыIndexMappingToolчитает маппинг и настройки индексаSearchIndexToolищет по индексу на Query DSLCountToolсчитает документы по запросуExplainToolобъясняет, почему документ подошёлMsearchToolвыполняет несколько поисков разомGetShardsToolпоказывает шардыClusterHealthToolпоказывает здоровье кластераGenericOpenSearchApiToolвызывает любой эндпоинт APIGetClusterStateToolчитает состояние кластераCatNodesToolпоказывает нагрузку на узлыGetIndexStatsToolчитает статистику индексаGetQueryInsightsToolпоказывает топ тяжёлых запросовGetNodesHotThreadsToolпоказывает горячие потоки узловGetLongRunningTasksToolпоказывает долгие задачиPPLQueryToolвыполняет запрос на PPLLogPatternAnalysisToolищет аномальные шаблоны в логахMetricChangeAnalysisToolнаходит метрики, которые сдвинулисьCreateExperimentToolзапускает эксперимент релевантностиSaveMemoryToolсохраняет память агентаПоказано 20 из 52.
Что попросить агента
Для каких задач
Ограничения
Запись по умолчанию разрешена (OPENSEARCH_SETTINGS_ALLOW_WRITE=true): для работы только на чтение поставьте false
Если в OPENSEARCH_URL нет порта, сервер подставляет 443 или 80: для локального OpenSearch указывайте :9200 явно
Ответ больше 10 МБ сервер обрывает с ошибкой ResponseSizeExceededError; лимит меняется в OPENSEARCH_MAX_RESPONSE_SIZE
Память агента на SaveMemoryTool требует Amazon OpenSearch Service 2.19+ или Serverless, Agentic Memory — OpenSearch 3.3.0 или новее