Elasticsearch/OpenSearch MCP Server
Overview
A Model Context Protocol (MCP) server implementation that provides Elasticsearch and OpenSearch interaction. This server enables searching documents, analyzing indices, and managing cluster through a set of tools.
Demo
https://github.com/user-attachments/assets/f7409e31-fac4-4321-9c94-b0ff2ea7ff15
Features
General Operations
general_api_request
: Perform a general HTTP API request. Use this tool for any Elasticsearch/OpenSearch API that does not have a dedicated tool.
Index Operations
list_indices
: List all indices.get_index
: Returns information (mappings, settings, aliases) about one or more indices.create_index
: Create a new index.delete_index
: Delete an index.
Document Operations
search_documents
: Search for documents.index_document
: Creates or updates a document in the index.get_document
: Get a document by ID.delete_document
: Delete a document by ID.delete_by_query
: Deletes documents matching the provided query.
Cluster Operations
get_cluster_health
: Returns basic information about the health of the cluster.get_cluster_stats
: Returns high-level overview of cluster statistics.
Alias Operations
list_aliases
: List all aliases.get_alias
: Get alias information for a specific index.put_alias
: Create or update an alias for a specific index.delete_alias
: Delete an alias for a specific index.
Configure Environment Variables
Copy the .env.example
file to .env
and update the values accordingly.
Start Elasticsearch/OpenSearch Cluster
Start the Elasticsearch/OpenSearch cluster using Docker Compose:
The default Elasticsearch username is elastic
and password is test123
. The default OpenSearch username is admin
and password is admin
.
You can access Kibana/OpenSearch Dashboards from http://localhost:5601.
Stdio
Option 1: Using uvx
Using uvx
will automatically install the package from PyPI, no need to clone the repository locally. Add the following configuration to 's config file claude_desktop_config.json
.
Option 2: Using uv with local development
Using uv
requires cloning the repository locally and specifying the path to the source code. Add the following configuration to Claude Desktop's config file claude_desktop_config.json
.
SSE
Option 1: Using uvx
Option 2: Using uv
Streamable HTTP
Option 1: Using uvx
Option 2: Using uv
Compatibility
The MCP server is compatible with Elasticsearch 7.x, 8.x, and 9.x. By default, it uses the Elasticsearch 8.x client (without a suffix). To use the Elasticsearch 7.x client, run the elasticsearch-mcp-server-es7
variant. For Elasticsearch 9.x, use elasticsearch-mcp-server-es9
. For example:
MCP Server | Elasticsearch |
---|---|
elasticsearch-mcp-server-es7 | Elasticsearch 7.x |
elasticsearch-mcp-server | Elasticsearch 8.x |
elasticsearch-mcp-server-es9 | Elasticsearch 9.x |
opensearch-mcp-server | OpenSearch 1.x, 2.x, 3.x |
License
This project is licensed under the Apache License Version 2.0 - see the LICENSE file for details.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Облегчает взаимодействие с кластерами Elasticsearch, позволяя пользователям выполнять операции индексации, поиск документов и управление кластерами через сервер Model Context Protocol и команды на естественном языке.
- Обзор
- Демо
- Функции
- Настроить переменные среды
- Запустить кластер Elasticsearch/OpenSearch
- Использование с Claude Desktop
- Использование с клиентом Anthropic MCP
- Лицензия
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables LLMs to interact with Elasticsearch clusters, allowing them to manage indices and execute search queries using natural language.Last updated -2JavaScript
- AsecurityAlicenseAqualityA Model Context Protocol server implementation that enables natural language interactions with OpenSearch clusters, allowing users to search documents, analyze indices, and manage clusters through simple conversational commands.Last updated -610PythonApache 2.0
- AsecurityAlicenseAqualityConnects agents to Elasticsearch data using the Model Context Protocol, allowing natural language interaction with Elasticsearch indices through MCP Clients like Claude Desktop and Cursor.Last updated -1117512TypeScriptMIT License
- AsecurityAlicenseAqualityConnects to Elasticsearch databases using the Model Context Protocol, allowing users to query and interact with their Elasticsearch indices through natural language conversations.Last updated -41JavaScriptApache 2.0