Home / MCP / Elasticsearch MCP Server

Elasticsearch MCP Server

Spring-based MCP server for processing data workflows and indexing results into Elasticsearch.

other
Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
    "mcpServers": {
        "elasticsearch": {
            "command": "java",
            "args": [
                "-Dusername=YOUR_USERNAME",
                "-Dpassword=YOUR_PASSWORD",
                "-jar",
                "/path/to/your/mcp-server.jar"
            ]
        }
    }
}

You run an Elasticsearch MCP Server to process data workflows via MCP tools and index results in an Elasticsearch cluster. This server lets you define processing steps once and call them through standard MCP clients to retrieve searchable results from Elasticsearch.

How to use

You interact with the Elasticsearch MCP Server through an MCP client. After you start the server, the client can invoke defined tools to perform actions such as checking cluster health, retrieving statistics, querying mappings, indexing or searching documents, and examining shard allocations. The server exposes these capabilities as MCP tools, so you can build automated data processing flows that reach into Elasticsearch and return structured results for further processing or display in your application.

How to install

Install prerequisites and prepare your environment before starting the server.

Additional sections

Step-by-step setup and usage details are provided below to help you run a local development instance and connect a client to perform data processing against Elasticsearch.

Available tools

get_cluster_health

Returns basic information about the status of the Elasticsearch cluster.

get_cluster_statistics

Retrieves comprehensive cluster statistics including cluster name, UUID, status, node roles, OS and JVM resource usage, index count, and shard metrics.

get_cat_mappings

Retrieves field mapping information for a specific Elasticsearch index.

get_cat_indices

Retrieves a list of all indices in Elasticsearch.

get_cat_indices_by_name

Retrieves a list of indices that match the specified index name or wildcard pattern.

get_cat_aliases

Retrieves a list of all aliases in Elasticsearch.

get_cat_aliases_by_name

Retrieves a list of aliases that match the specified alias name or wildcard pattern.

get_document_search_by_index

Searches for documents within an Elasticsearch index using AI-generated queryDSL.

get_shard_allocation

Returns information about shard allocation in the Elasticsearch cluster.

get_shard_allocation_for_node

Returns information about shard allocation for a specific node in the Elasticsearch cluster.