MCP.so
Sign In

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

Category

Databases

License

Apache-2.0

Runtime

python

Transports

stdio

Publisher

cr7258

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.

Comments

More Databases MCP servers