Elasticsearch/OpenSearch MCP Server
@cr7258
About Elasticsearch/OpenSearch MCP Server
A Model Context Protocol (MCP) server implementation that provides Elasticsearch and OpenSearch interaction.
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
Fetch the live tool list by running this server in a temporary sandbox using the button above.
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.
Frequently asked questions
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.
Basic information
More Databases MCP servers
MongoDB MCP Server
mongodb-jsA Model Context Protocol server to connect to MongoDB databases and MongoDB Atlas Clusters.
Dbhub
bytebaseZero-dependency, token-efficient database MCP server for Postgres, MySQL, SQL Server, MariaDB, SQLite.
mcp-server-qdrant: A Qdrant MCP server
qdrantAn official Qdrant Model Context Protocol (MCP) server implementation
Postgres Mcp
crystaldbaPostgres MCP Pro provides configurable read/write access and performance analysis for you and your AI agents.
Redis MCP Server
redisThe official Redis MCP Server is a natural language interface designed for agentic applications to manage and search data in Redis efficiently
Comments