Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.Prototype · updated every 30 min
PopNx MCPMCP servers for people who use AI · explained in plain words

Elasticsearch

by TocharianOUversion 0.9.1i★ 8iRuns on your computer
Registry nameio.github.TocharianOU/elasticsearch

How to install

What it does

Elasticsearch MCP Server for ES 5.x-9.x with a query harness, field validation and full API access

  • Connects Runs on your computer
  • Account or key Needs ES_URL, ES_API_KEY, ES_PASSWORD
  • Category Databases & datasets

Install

Pick the AI app you use, then copy the settings.

Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 13, 2026

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude, with some setup first

You need a Elasticsearch key (create it on the maker’s site) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a Elasticsearch key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Elasticsearch site ↗

  3. Open the Claude desktop app’s settings file

    SettingsDeveloperEdit Config

  4. Paste these settings and save the file

    {
      "mcpServers": {
        "elasticsearch": {
          "command": "npx",
          "args": [
            "-y",
            "@tocharianou/elasticsearch-mcp"
          ],
          "env": {
            "ES_URL": "your-value",
            "ES_API_KEY": "your-value",
            "ES_USERNAME": "your-value",
            "ES_PASSWORD": "your-value",
            "ES_CA_CERT": "your-value",
            "NODE_TLS_REJECT_UNAUTHORIZED": "your-value",
            "MAX_TOKEN_CALL": "your-value"
          }
        }
      }
    }

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Quit Claude and open it again

  6. Try it

    Use Elasticsearch and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Elasticsearch or shows a Elasticsearch tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

ChatGPT cannot connect Elasticsearch yet

Elasticsearch runs on your computer, but ChatGPT can only connect servers that run on the web

What you can do instead

A · Use an app that can connect Elasticsearch

  • You need a Elasticsearch key (create it on the maker’s site) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
  • You need a Elasticsearch key (create it on the maker’s site) · Install Node.js on your computer first (one time)
  • You need a Elasticsearch key (create it on the maker’s site) · Install Node.js on your computer first (one time)
  • You need a Elasticsearch key (create it on the maker’s site) · Install Node.js on your computer first (one time)

B · Others in Databases & datasets that work with ChatGPT

Picked from the most used in the same category, only ones that connect by address with no key

Works with Claude Code, with some setup first

You need a Elasticsearch key (create it on the maker’s site) · Install Node.js on your computer first (one time)

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a Elasticsearch key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Elasticsearch site ↗

  3. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  4. Paste this command and press Enter

    claude mcp add --scope user elasticsearch --env ES_URL=your-value --env ES_API_KEY=your-value --env ES_USERNAME=your-value --env ES_PASSWORD=your-value --env ES_CA_CERT=your-value --env NODE_TLS_REJECT_UNAUTHORIZED=your-value --env MAX_TOKEN_CALL=your-value -- npx -y @tocharianou/elasticsearch-mcp

    Replace “your-value” with your key before pressing Enter

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Type /mcp in Claude Code

    You should see Elasticsearch listed as connected

  6. Try it

    Use Elasticsearch and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Elasticsearch or shows a Elasticsearch tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor, with some setup first

You need a Elasticsearch key (create it on the maker’s site) · Install Node.js on your computer first (one time)

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a Elasticsearch key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Elasticsearch site ↗

  3. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  4. Fill in your key

    In the Elasticsearch settings, ES_URL, ES_API_KEY, ES_USERNAME, ES_PASSWORD, ES_CA_CERT, NODE_TLS_REJECT_UNAUTHORIZED, MAX_TOKEN_CALL is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Open the AI chat in Cursor in Agent mode

  6. Try it

    Use Elasticsearch and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Elasticsearch or shows a Elasticsearch tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code, with some setup first

You need a Elasticsearch key (create it on the maker’s site) · Install Node.js on your computer first (one time)

  1. Install Node.js

    One time only; it works for every server that needs Node.js

    Open the Node.js download page ↗

  2. Sign up and create a Elasticsearch key

    Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.

    Open the Elasticsearch site ↗

  3. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  4. Fill in your key

    In the Elasticsearch settings, ES_URL, ES_API_KEY, ES_USERNAME, ES_PASSWORD, ES_CA_CERT, NODE_TLS_REJECT_UNAUTHORIZED, MAX_TOKEN_CALL is empty; add your key and save

    Paste the key only into the app’s field, never into a chat or to anyone

  5. Open the AI chat in VS Code in Agent mode

  6. Try it

    Use Elasticsearch and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Elasticsearch or shows a Elasticsearch tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

JSON settings are under “For developers” below

Stuck? Ask people who use Elasticsearch💬 Discussion →
For developers: Terminal commands and JSON settings

Installed on your computer

Claude Code

claude mcp add --scope user elasticsearch --env ES_URL=your-value --env ES_API_KEY=your-value --env ES_USERNAME=your-value --env ES_PASSWORD=your-value --env ES_CA_CERT=your-value --env NODE_TLS_REJECT_UNAUTHORIZED=your-value --env MAX_TOKEN_CALL=your-value -- npx -y @tocharianou/elasticsearch-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "elasticsearch": {
      "command": "npx",
      "args": [
        "-y",
        "@tocharianou/elasticsearch-mcp"
      ],
      "env": {
        "ES_URL": "your-value",
        "ES_API_KEY": "your-value",
        "ES_USERNAME": "your-value",
        "ES_PASSWORD": "your-value",
        "ES_CA_CERT": "your-value",
        "NODE_TLS_REJECT_UNAUTHORIZED": "your-value",
        "MAX_TOKEN_CALL": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "elasticsearch": {
      "command": "npx",
      "args": [
        "-y",
        "@tocharianou/elasticsearch-mcp"
      ],
      "env": {
        "ES_URL": "your-value",
        "ES_API_KEY": "your-value",
        "ES_USERNAME": "your-value",
        "ES_PASSWORD": "your-value",
        "ES_CA_CERT": "your-value",
        "NODE_TLS_REJECT_UNAUTHORIZED": "your-value",
        "MAX_TOKEN_CALL": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "elasticsearch": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@tocharianou/elasticsearch-mcp"
      ],
      "env": {
        "ES_URL": "your-value",
        "ES_API_KEY": "your-value",
        "ES_USERNAME": "your-value",
        "ES_PASSWORD": "your-value",
        "ES_CA_CERT": "your-value",
        "NODE_TLS_REJECT_UNAUTHORIZED": "your-value",
        "MAX_TOKEN_CALL": "your-value"
      }
    }
  }
}

Values you fill in

  • ES_URL required env
    Your Elasticsearch instance URL (e.g., https://localhost:9200)
  • ES_API_KEY secret env
    Elasticsearch API key for authentication
  • ES_USERNAME env
    Elasticsearch username for basic authentication
  • ES_PASSWORD secret env
    Elasticsearch password for basic authentication
  • ES_CA_CERT env
    Path to custom CA certificate for Elasticsearch SSL/TLS
  • NODE_TLS_REJECT_UNAUTHORIZED env
    Set to '0' to disable SSL certificate validation (development only)
  • MAX_TOKEN_CALL env
    Maximum tokens per API call

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
94/wk
Licencei
Apache-2.0
Connection
Runs on your computer
Transport
stdio, streamable-http
Latest versioni
0.9.1
Published to registryi
Oct 11, 2026
Code last changedi
Oct 11, 2026
Maker
TocharianOU
Packages
npm: @tocharianou/elasticsearch-mcp
npm: @tocharianou/elasticsearch-mcp
Website
github.com
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 13, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account TocharianOU, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 33 days ago

  • ✓ Pass

    Has a licence

    Uses Apache-2.0

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Databases & datasetsi

  • More stars than 92% of the other 1175 servers in this category
  • Published to the registry more recently than 60% of the other 1175 servers in this category
  • Basic checks equal to or better than 100% of the other 1175 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Elasticsearch safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: ES_URL, ES_API_KEY, ES_PASSWORD

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed 33 days ago, and the latest version (0.9.1) reached the registry 33 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Dbx, MCP Toolbox for Databases, MCP Toolbox for Databases

Others in the same category

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Dbx

Query databases from AI agents using connections configured in DBX.

by t8y2Widely used↓ 9.4K/wk★ 30.2KUpdated 6 months ago

Runs on your computer

MCP Toolbox for Databases

MCP Toolbox for Databases enables your agent to connect to your database.

by googleapisWidely used★ 16.8KUpdated 7 days ago

Runs on your computer

MCP Toolbox for Databases

MCP Toolbox for Databases enables your agent to connect to your database.

by googleapisWidely used★ 16.8KUpdated 8 months ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Elasticsearch MCP Server

Enhanced Elasticsearch MCP Server Solution - Security & Threat Analysis Focused

This is a professional security-focused solution maintained by TocharianOU. It enables comprehensive interaction with all Elasticsearch APIs, specifically optimized for security analysis, threat detection, and incident investigation. Features include advanced security monitoring, anomaly detection, threat hunting, root cause analysis, and comprehensive audit capabilities.

Key Security Features:

  • Real-time threat detection and security monitoring
  • Advanced machine learning for anomaly detection
  • Root cause analysis and attack chain tracking
  • Security incident investigation and forensics
  • Compliance monitoring and audit reporting

Note: This solution is designed for security professionals, SOC teams, and threat analysts.

Connect to your Elasticsearch data directly from any MCP Client (such as Claude Desktop) using the Model Context Protocol (MCP). Interact with your Elasticsearch security data through natural language queries for advanced threat analysis and incident response.

Prerequisites

  • An Elasticsearch instance
  • Elasticsearch authentication credentials (API key or username/password)
  • MCP Client (e.g. Claude Desktop) or HTTP client for remote access

Multi-Version Elasticsearch Support

Automatically supports Elasticsearch 5.x - 9.x with intelligent version detection:

VersionStatusClientNotes
ES 5.x✅5.6.22EOL - Basic tools only
ES 6.x✅6.8.8EOL - ILM available (6.6+)
ES 7.x✅7.17.14LTS - Full features
ES 8.x✅8.19.1Recommended - Latest features, ES\QL (8.11+)
ES 9.x+✅Auto-fallbackFuture-ready

Key Features:

  • Automatic version detection - No manual configuration needed
  • Smart client selection - Loads the right client for your ES version
  • Adaptive features - Disables unsupported tools (e.g., Data Streams on ES < 7.9, ES|QL on ES < 8.11)
  • Version-specific optimizations - Handles API differences transparently

What happens:

Connect → Detect ES version → Load matching client → Register compatible tools

The Query Harness (v0.9.0)

Since v0.9.0 the server ships a query harness: a deterministic layer between the AI model and your cluster. The design philosophy is simple:

The model steers; the harness knows.

Intent ("find failed logins by user") belongs to the model.

Correctness (real field names, aggregatability, version quirks) belongs to the harness.

What this means in practice — at the level of principles, not internals:

  • Live truth beats bundled knowledge beats model memory. Every query is checked against the cluster's actual field capabilities before it runs. A bundled ECS (Elastic Common Schema) vocabulary provides *meaning*; the live cluster provides *existence*. The model's own recollection is never trusted.
  • Unambiguous mistakes are fixed silently; ambiguous ones become guidance. The classic example: a spurious .keyword suffix on modern ECS mappings is auto-corrected (and the correction is reported); an unknown field blocks the doomed query and returns the nearest real fields instead of a provider error.
  • Field knowledge stays out of the context window. The full ECS dictionary (thousands of fields) lives in process memory. The model retrieves only the handful it needs, on demand, via lookup_fields.
  • Every failure must be actionable. Raw Elasticsearch errors are rewritten with live suggestions and index-naming advice (data stream vs. legacy Beats naming, internal indices that should be accessed via Kibana APIs, and so on).
  • The model needs zero version knowledge. Naming eras, API differences and mapping-style differences (legacy text + .keyword subfield vs. modern bare keyword) are absorbed entirely by the harness. The same model behaves identically against ES 5.6 and ES 9.x — verified by a version test matrix covering nine watershed releases (5.6 → 9.0).
  • An escape hatch always exists. Validation can be bypassed per call (skip_lint) when the model knows better — e.g. runtime fields defined outside the query. The harness assists; it never imprisons.

SSL/TLS Connection

To connect to Elasticsearch with a self-signed certificate or in a test environment, you can set the following environment variable:

NODE_TLS_REJECT_UNAUTHORIZED=0

⚠️ This disables Node.js SSL certificate validation. Use only in development or testing environments. For production, always use a trusted CA certificate.

Installation & Setup

Install (or run) the server, point it at your cluster via environment variables, register it in your MCP client, then just start a conversation — the server connects and registers the tools your ES version supports.

Configuration Options

The Elasticsearch MCP Server supports the following configuration options:

Elasticsearch Configuration
Environment VariableDescriptionRequired
ES_URLYour Elasticsearch instance URLYes
ES_API_KEYElasticsearch API key for authenticationNo
ES_USERNAMEElasticsearch username for basic authenticationNo
ES_PASSWORDElasticsearch password for basic authenticationNo
ES_CA_CERTPath to custom CA certificate for Elasticsearch SSL/TLSNo
NODE_TLS_REJECT_UNAUTHORIZEDSet to 0 to disable SSL certificate validationNo
Transport Mode Configuration (NEW in v0.3.0)
Environment VariableDescriptionDefaultValues
MCP_TRANSPORTTransport mode selectionstdiostdio, http
MCP_HTTP_PORTHTTP server port (when using HTTP transport)30001-65535
MCP_HTTP_HOSTHTTP server host (when using HTTP transport)localhostAny valid host

Transport Mode Details:

  • Stdio mode (default): For Claude Desktop and local MCP clients
  • HTTP Streamable mode: Runs as a standalone HTTP server for remote access, API integration, and web applications
Quick Start
Option 1: NPM Installation (Recommended)
  1. Install globally via NPM
   npm install -g @tocharianou/elasticsearch-mcp
  1. Run directly
   npx @tocharianou/elasticsearch-mcp
Option 2: GitHub Release (Standalone Package)
  1. Download release package
  • Go to GitHub Releases
  • Download the latest .tar.gz file and its checksum files (.sha256 and .sha512)
  1. Verify package integrity
   shasum -a 256 -c elasticsearch-mcp-v*.tar.gz.sha256

Should output: elasticsearch-mcp-v*.tar.gz: OK

  1. Extract and use
   mkdir elasticsearch-mcp && cd elasticsearch-mcp

tar -xzf ../elasticsearch-mcp-v*.tar.gz

Run with your Elasticsearch credentials

ES_URL=https://localhost:9200 ES_API_KEY=your-key node dist/index.js

Option 3: Source Installation
  1. Clone the repository
   git clone https://github.com/TocharianOU/elasticsearch-mcp.git

cd elasticsearch-mcp

  1. Install Dependencies
   npm install
  1. Build the Project
   npm run build
  1. Configure Claude Desktop App
  • Open Claude Desktop App
  • Go to Settings > Developer > MCP Servers
  • Click Edit Config and add a new MCP Server with the following configuration:

For NPM Installation:

   {

"mcpServers": { "elasticsearch-mcp-server": { "command": "npx", "args": [ "@tocharianou/elasticsearch-mcp" ], "env": { "ES_URL": "your-elasticsearch-url", "ES_USERNAME": "elastic", "ES_PASSWORD": "your_pass", "NODE_TLS_REJECT_UNAUTHORIZED": "0" } } } }

For Source Installation:

   {

"mcpServers": { "elasticsearch-mcp-server-local": { "command": "node", "args": [ "/path/to/your/elasticsearch-mcp/dist/index.js" ], "env": { "ES_URL": "your-elasticsearch-url", "ES_USERNAME": "elastic", "ES_PASSWORD": "your_pass", "NODE_TLS_REJECT_UNAUTHORIZED": "0" } } } }

  1. Debugging with MCP Inspector (optional)
   ES_URL=your-elasticsearch-url ES_USERNAME=elastic ES_PASSWORD=your_pass npm run inspector
Installation & Integration Notes

If `npm install -g` misbehaves:

  • *Permission errors (EACCES) on global install* — don't sudo. Either skip the global install entirely and let your MCP client run npx @tocharianou/elasticsearch-mcp (npx fetches on demand), or set a user-level prefix: npm config set prefix ~/.npm-global and add it to your PATH.
  • *Slow or blocked registry* — use a mirror for the install only: npm install -g @tocharianou/elasticsearch-mcp --registry=https://registry.npmmirror.com.
  • *Node version* — requires Node 18+ (node --version). Older Node fails at startup with ESM/fetch errors, not at install time.
  • *npx cold start* — the first npx run downloads the package; if your MCP client times out on first connect, run npx @tocharianou/elasticsearch-mcp once in a terminal to warm the cache, then reconnect.
  • *Fully offline hosts* — use the GitHub Release tarball (Option 2) and point your client at node /path/to/dist/index.js; nothing is fetched at runtime.

Claude Desktop — Settings → Developer → MCP Servers → Edit Config, then add the JSON block shown above. Restart the app after editing; the server appears in the tools list of a new conversation.

Claude Code (CLI) — register the server per-project or globally:

claude mcp add elasticsearch \

-e ES_URL=https://your-es:9200 -e ES_API_KEY=your-key \ -- npx @tocharianou/elasticsearch-mcp

Any other MCP client / platform integration — run in HTTP mode (MCP_TRANSPORT=http, see below) and point the client at http://host:port/mcp; this is the recommended shape for containerized platforms, one server instance per cluster connection.

Credentials hygiene — the env vars end up in your client's config file in plain text. Prefer a scoped, read-only API key (see *Elasticsearch Access Control* below) over superuser credentials.

Method 3: HTTP Streamable Mode (NEW in v0.3.0)

Run the server as a standalone HTTP service for remote access and API integration:

# Start HTTP server (default port 3000)

MCP_TRANSPORT=http \ ES_URL=your-elasticsearch-url \ ES_USERNAME=elastic \ ES_PASSWORD=your_pass \ npx @tocharianou/elasticsearch-mcp

Or with custom port and host

MCP_TRANSPORT=http \ MCP_HTTP_PORT=9000 \ MCP_HTTP_HOST=0.0.0.0 \ ES_URL=your-elasticsearch-url \ ES_USERNAME=elastic \ ES_PASSWORD=your_pass \ npx @tocharianou/elasticsearch-mcp

**HTTP Streamable

Only the beginning is shown; read the rest in the repo