Elasticsearch/OpenSearch MCP Server
@cr7258
About Elasticsearch/OpenSearch MCP Server
A Model Context Protocol (MCP) server implementation that provides Elasticsearch and OpenSearch interaction.
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"elasticsearch-mcp-server": {
"command": "uvx",
"args": [
"elasticsearch-mcp-server"
],
"env": {
"ELASTICSEARCH_CLUSTERS": "{\"prod\": {\"hosts\": [\"https://prod-es:9200\"], \"api_key\": \"<PROD_API_KEY>\", \"verify_certs\": true}, \"staging\": {\"hosts\": [\"https://staging-es:9200\"], \"username\": \"elastic\", \"password\": \"<STAGING_PASSWORD>\"}}",
"DEFAULT_CLUSTER": "prod"
}
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is Elasticsearch/OpenSearch MCP Server?
A Model Context Protocol (MCP) server that provides Elasticsearch and OpenSearch interaction. It enables searching documents, analyzing indices, and managing clusters through a set of tools. Designed for developers and operators who need AI‑assisted database access.
How to use Elasticsearch/OpenSearch MCP Server?
Install via uvx (automatically from PyPI) or clone the repo and run with uv. Configure environment variables for host, authentication (username/password or API key), and optional multi-cluster settings. Add the configuration to your MCP client (e.g., Claude Desktop) using either the stdio or SSE transport.
Key features of Elasticsearch/OpenSearch MCP Server
- Tools for index, document, cluster, alias, and analyzer operations
- Multi‑cluster configuration with named clusters and a default target
- Authentication via username/password or API key (Elasticsearch)
- Option to disable high‑risk write operations
- Both stdio and SSE transport support
- Bearer token authentication for HTTP transports
Use cases of Elasticsearch/OpenSearch MCP Server
- Search and retrieve documents from an Elasticsearch or OpenSearch cluster
- Create, update, and delete indices and data streams programmatically
- Monitor cluster health and statistics
- Analyze text tokenization for query debugging
- Manage multiple Elasticsearch/OpenSearch clusters from a single MCP server
FAQ from Elasticsearch/OpenSearch MCP Server
What authentication methods are supported?
Basic authentication (username/password) for both Elasticsearch and OpenSearch, and API key authentication for Elasticsearch. API key authentication is recommended for Elasticsearch.
How do I configure multiple clusters?
Set the ELASTICSEARCH_CLUSTERS or OPENSEARCH_CLUSTERS environment variable to a JSON object with named clusters. Alternatively, use ELASTICSEARCH_CLUSTERS_FILE or OPENSEARCH_CLUSTERS_FILE to point to a JSON file. Every tool accepts an optional cluster parameter.
Can I disable all write operations?
Yes, set DISABLE_HIGH_RISK_OPERATIONS=true to hide all write tools (create/delete index, document operations, alias changes, etc.). You can also disable specific operations with DISABLE_OPERATIONS.
Is SSL verification enabled by default?
No, VERIFY_CERTS defaults to false. You can set it to true to verify SSL certificates.
How do I secure the server over HTTP transports?
Set the MCP_API_KEY environment variable to enable Bearer token authentication for SSE and Streamable HTTP transports. Without it, the server is accessible without authentication. The stdio transport does not require this.
More Databases MCP servers
Dbhub
bytebaseZero-dependency, token-efficient database MCP server for Postgres, MySQL, SQL Server, MariaDB, SQLite.
Sail MCP Server for Spark SQL
lakehqDrop-in Apache Spark replacement written in Rust, unifying batch processing, stream processing, and compute-intensive AI workloads.
Elasticsearch MCP Server
elasticMongoDB MCP Server
mongodb-jsA Model Context Protocol server to connect to MongoDB databases and MongoDB Atlas Clusters.
mcp-server-qdrant: A Qdrant MCP server
qdrantAn official Qdrant Model Context Protocol (MCP) server implementation
Comments