Home/Vector Databases/mcp-server-elasticsearch
mcp-server-elasticsearch logo

mcp-server-elasticsearch

elastic/mcp-server-elasticsearch

Elasticsearch-based MCP server implementation in Rust

GraphCanon updated 2d · GitHub synced 2d

705 stars146 forksLast push 3d Rust Apache-2.0

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.io

Similar 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.

SSE transportSSE

Source: README excerpt (regex_v1, Aug 22, 2026)

> **Note:** Server-Sent Events (SSE) is deprecated. Use streamable-HTTP instead.
Source link
stdio transportstdio

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 w
Source link
Works with Claude DesktopClaude Desktop

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_KEY to your Elasticsearch API key
    • Basic authentication: Set ES_USERNAME and ES_PASSWORD to your Elasticsearch credentials
  • (Optional) ES_SSL_SKIP_VERIFY: Set to true to 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.

Was this helpful?

Anonymous feedback helps us improve pages and translations.