mcp-server-elasticsearch
Elasticsearch-based MCP server implementation in Rust
GraphCanon updated 2d · GitHub synced 2d
Decision brief
A Rust-based Elasticsearch server component designed for integration into systems requiring robust vector database functionality.
Good fit when
- - When your project is built with Rust and requires a specialized Elasticsearch server for efficient handling of vector databases, making it easier to integrate with existing Rust codebases.
- - If you are working on applications that can benefit from the specific capabilities provided by mcp-server-elasticsearch in managing and querying large sets of vector data using Elasticsearch.
Avoid when
- - It may not be suitable if your project is not developed in Rust since leveraging its full benefits requires a native, tightly integrated environment to function effectively.
- - Avoid this tool if you are looking for a more generalized Elasticsearch setup that might offer broader compatibility with various languages and frameworks.
Observed Jul 11, 2026 · Source: enrich:decision_facts
Verify the decision
Maintenance and security
Full trust report- Maintenance
- Very active (1d since push)
- As of 2d
- Provenance
- Not a fork · Organization account
- As of 2d
- Security (OSV)
- No MCP manifest
- As of 1mo
Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.
Install
cargo add mcp-server-elasticsearch crates.ioSimilar tools
Same-category neighbours. No typed graph edges are catalogued for this tool yet.
Evidence and technical details
Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.
Overview
Provides functionalities to interact with Elasticsearch using the MCP protocol.
Capability facts
- Deploy
- Self-host
Source: dockerfile:Dockerfile · Aug 22, 2026
- Docker
- Dockerfile present
Source: dockerfile:Dockerfile · Aug 22, 2026
- Languages
- rust
Source: github.language · Aug 22, 2026
Categories
Compatibility
Sourced claims from the README excerpt - not unsourced marketing copy.
Source: README excerpt (regex_v1, Aug 22, 2026)
> **Note:** Server-Sent Events (SSE) is deprecated. Use streamable-HTTP instead.Source link
Source: README excerpt (regex_v1, Aug 22, 2026)
container image available from AWS Marketplace. You can run it using either the stdio protocol (for direct client connections) or the streamable-HTTP protocol (for wSource link
Source: README excerpt (regex_v1, Aug 22, 2026)
- An MCP client configured (such as Claude Desktop, Cursor, VS Code, or another MCP-compatible tool)Source link
Source: README excerpt (regex_v1, Aug 22, 2026)
- An MCP client configured (such as Claude Desktop, Cursor, VS Code, or another MCP-compatible tool)Source link
Source: README excerpt (regex_v1, Aug 22, 2026)
- An MCP client configured (such as Claude Desktop, Cursor, VS Code, or another MCP-compatible tool)Source link
Tags
README
Elasticsearch MCP Server
[!CAUTION] This MCP server is deprecated and will only receive critical security updates going forward. It has been superseded by the Elastic Agent Builder MCP endpoint, which is available in Elastic 9.2.0+ and Elasticsearch Serverless projects.
Use the Elasticsearch MCP Server for AI Agents
The Elasticsearch MCP Server connects your AI agents to Elasticsearch data using the Model Context Protocol (MCP). It enables natural language interactions with your Elasticsearch indices, allowing agents to query, analyze, and retrieve data without custom APIs.
Follow these steps to deploy and configure the Elasticsearch MCP Server container image from AWS Marketplace.
Before you begin
Before you start, ensure you have:
- An Elasticsearch cluster (version 8.x or 9.x) accessible from your AWS environment
- Elasticsearch authentication credentials:
- Docker installed and running in your AWS environment (for example, on an EC2 instance or in a container service)
- An MCP client configured (such as Claude Desktop, Cursor, VS Code, or another MCP-compatible tool)
- Network connectivity between your deployment environment and your Elasticsearch cluster
[!NOTE]
These instructions apply to Elasticsearch MCP Server 0.4.0 and later. For versions 0.3.1 and earlier, refer to the README for v0.3.1.
Deploy the Elasticsearch MCP Server
The Elasticsearch MCP Server is provided as a Docker container image available from AWS Marketplace. You can run it using either the stdio protocol (for direct client connections) or the streamable-HTTP protocol (for web-based integrations).
Choose a protocol
The server supports two protocols:
- stdio: Direct communication between the MCP client and server. Use this when your client supports stdio and runs in the same environment.
- streamable-HTTP: HTTP-based protocol recommended for web integrations, stateful sessions, and concurrent clients.
Note: Server-Sent Events (SSE) is deprecated. Use streamable-HTTP instead.
Configure the stdio protocol
Use the stdio protocol when your MCP client connects directly to the server process.
Set environment variables for stdio mode
Set the following environment variables:
ES_URL: The URL of your Elasticsearch cluster (for example,https://your-cluster.es.amazonaws.com:9200)- For authentication, use one of these options:
- API key: Set
ES_API_KEYto your Elasticsearch API key - Basic authentication: Set
ES_USERNAMEandES_PASSWORDto your Elasticsearch credentials
- API key: Set
- (Optional)
ES_SSL_SKIP_VERIFY: Set totrueto skip SSL/TLS certificate verification when connecting to Elasticsearch. Only use this for development or testing environments.
Run the container in stdio mode
Start the MCP server in stdio mode:
docker run -i --rm \
-e ES_URL \
-e ES_API_KEY \
docker.elastic.co/mcp/elasticsearch \
stdio
Configure Claude Desktop
Add this configuration to your Claude Desktop configuration file:
{
"mcpServers": {
"elasticsearch-mcp-server": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "ES_URL",
"-e", "ES_API_KEY",
"docker.elastic.co/mcp/elasticsearch",
"stdio"
],
"env": {
"ES_URL": "<elasticsearch-cluster-url>",
"ES_API_KEY": "<elasticsearch-API-key>"
}
}
}
}
Replace <elasticsearch-cluster-url> with your
For agents
This page has a .md twin and JSON over the API.