ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Elasticsearch

โดย TocharianOUรุ่น 0.9.1i★ –iรันบนเครื่อง
ชื่อใน registryio.github.TocharianOU/elasticsearch

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

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

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio, Streamable HTTP
  • หมวด: ฐานข้อมูลและชุดข้อมูล
  • ต้องใส่ค่าเหล่านี้: ES_URL, ES_API_KEY, ES_PASSWORD

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: ES_URL, ES_API_KEY, ES_USERNAME, ES_PASSWORD, ES_CA_CERT, NODE_TLS_REJECT_UNAUTHORIZED, MAX_TOKEN_CALL

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "elasticsearch": {
      "command": "npx",
      "args": [
        "-y",
        "@tocharianou/elasticsearch-mcp"
      ],
      "env": {
        "ES_URL": "ใส่ค่าของคุณ",
        "ES_API_KEY": "ใส่ค่าของคุณ",
        "ES_USERNAME": "ใส่ค่าของคุณ",
        "ES_PASSWORD": "ใส่ค่าของคุณ",
        "ES_CA_CERT": "ใส่ค่าของคุณ",
        "NODE_TLS_REJECT_UNAUTHORIZED": "ใส่ค่าของคุณ",
        "MAX_TOKEN_CALL": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add elasticsearch --env ES_URL='ใส่ค่าของคุณ' --env ES_API_KEY='ใส่ค่าของคุณ' --env ES_USERNAME='ใส่ค่าของคุณ' --env ES_PASSWORD='ใส่ค่าของคุณ' --env ES_CA_CERT='ใส่ค่าของคุณ' --env NODE_TLS_REJECT_UNAUTHORIZED='ใส่ค่าของคุณ' --env MAX_TOKEN_CALL='ใส่ค่าของคุณ' -- npx -y @tocharianou/elasticsearch-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "elasticsearch": {
      "command": "npx",
      "args": [
        "-y",
        "@tocharianou/elasticsearch-mcp"
      ],
      "env": {
        "ES_URL": "ใส่ค่าของคุณ",
        "ES_API_KEY": "ใส่ค่าของคุณ",
        "ES_USERNAME": "ใส่ค่าของคุณ",
        "ES_PASSWORD": "ใส่ค่าของคุณ",
        "ES_CA_CERT": "ใส่ค่าของคุณ",
        "NODE_TLS_REJECT_UNAUTHORIZED": "ใส่ค่าของคุณ",
        "MAX_TOKEN_CALL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "elasticsearch": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@tocharianou/elasticsearch-mcp"
      ],
      "env": {
        "ES_URL": "ใส่ค่าของคุณ",
        "ES_API_KEY": "ใส่ค่าของคุณ",
        "ES_USERNAME": "ใส่ค่าของคุณ",
        "ES_PASSWORD": "ใส่ค่าของคุณ",
        "ES_CA_CERT": "ใส่ค่าของคุณ",
        "NODE_TLS_REJECT_UNAUTHORIZED": "ใส่ค่าของคุณ",
        "MAX_TOKEN_CALL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • ES_URL จำเป็น env
    Your Elasticsearch instance URL (e.g., https://localhost:9200)
  • ES_API_KEY ความลับ env
    Elasticsearch API key for authentication
  • ES_USERNAME env
    Elasticsearch username for basic authentication
  • ES_PASSWORD ความลับ 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

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub TocharianOU ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ฐานข้อมูลและชุดข้อมูลi

  • ดาวมากกว่า 0% ของอีก 1144 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 63% ของอีก 1144 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1144 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Elasticsearch ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: ES_URL, ES_API_KEY, ES_PASSWORD

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.9.1) เข้า registry 27 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Supabase, MongoDB MCP Server, Elasticsearch MCP Server

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Supabase

โดย supabase

server ทางการของ Supabase ให้ AI สร้างตาราง ถามข้อมูล และดูการตั้งค่าโปรเจกต์ในฐานข้อมูล Supabase ของคุณ

บนเครื่องหรือคลาวด์★ 2,993Apache-2.0อัปเดต เมื่อวาน
ติดตั้ง

MongoDB MCP Server

โดย mongodb-js

MongoDB Model Context Protocol Server

รันบนเครื่อง★ 1,157Apache-2.0อัปเดต 3 วันที่ผ่านมา
ติดตั้ง

Elasticsearch MCP Server

โดย cr7258

MCP server for interacting with Elasticsearch

รันบนเครื่อง★ 315Apache-2.0อัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

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

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx