Elasticsearch MCP

Searches indices and reads mappings through the Elasticsearch API, so an agent can debug a query against the real cluster rather than a remembered schema.

Official Python stdio

What it does

Searches indices and reads mappings through the Elasticsearch API, so an agent can debug a query against the real cluster rather than a remembered schema. Ships as a Docker image, which keeps the connector out of your Python environment. Needs cluster credentials — scope them to read-only indices.

Install

Terminal
docker run -i --rm docker.elastic.co/mcp/elasticsearch stdio

Client configuration

Paste this into your MCP client config (Claude Desktop, Cursor, or any client that reads mcpServers), then restart the client.

mcp.json
{
  "mcpServers": {
    "elasticsearch": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "docker.elastic.co/mcp/elasticsearch",
        "stdio"
      ]
    }
  }
}

When to use it

Reach for this when the task needs search inside the agent loop. Skip it if a plain shell command or a one-off script is enough — every server you add costs context and adds a failure mode.

Other Python servers

  • Git — Read-only access to a repository's history: status, diffs, commit logs, and blame
  • Fetch — Downloads a URL and converts HTML into Markdown so the model reads text instead of markup
  • Time — Timezone conversion and current-time lookup using the IANA database