Skip to main content

MCP Server for interacting with Elasticsearch

Project description

Elasticsearch MCP Server

Overview

A Model Context Protocol (MCP) server implementation that provides Elasticsearch interaction. This server enables searching documents, analyzing indices, and managing cluster through a set of tools.

Elasticsearch MCP Server

Demo

https://github.com/user-attachments/assets/f7409e31-fac4-4321-9c94-b0ff2ea7ff15

Features

Index Operations

  • list_indices: List all indices in the Elasticsearch cluster.
  • get_mapping: Retrieve the mapping configuration for a specific index.
  • get_settings: Get the settings configuration for a specific index.

Document Operations

  • search_documents: Search documents in an index using Elasticsearch Query DSL.

Cluster Operations

  • get_cluster_health: Get health status of the cluster.
  • get_cluster_stats: Get statistical information about the cluster.

Start Elasticsearch Cluster

Start the Elasticsearch cluster using Docker Compose:

docker-compose up -d

This will start a 3-node Elasticsearch cluster and Kibana. Default Elasticsearch username elastic, password test123.

You can access Kibana from http://localhost:5601.

Usage with Claude Desktop

Add the following configuration to Claude Desktop's config file claude_desktop_config.json.

Option 1: Using uvx (Recommended)

Using uvx will automatically install the package from PyPI, no need to clone the repository locally

{
  "mcpServers": {
    "elasticsearch-mcp-server": {
      "command": "uvx",
      "args": [
        "elasticsearch-mcp-server"
      ],
      "env": {
        "ELASTIC_HOST": "https://localhost:9200",
        "ELASTIC_USERNAME": "elastic",
        "ELASTIC_PASSWORD": "test123"
      }
    }
  }
}

Option 2: Using uv with local development

Using uv requires cloning the repository locally and specifying the path to the source code.

{
  "mcpServers": {
    "elasticsearch": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/src/elasticsearch_mcp_server",
        "run",
        "elasticsearch-mcp-server"
      ],
      "env": {
        "ELASTIC_HOST": "https://localhost:9200",
        "ELASTIC_USERNAME": "elastic",
        "ELASTIC_PASSWORD": "test123"
      }
    }
  }
}
  • On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • On Windows: %APPDATA%/Claude/claude_desktop_config.json

Restart Claude Desktop to load the new MCP server.

Now you can interact with your Elasticsearch cluster through Claude using natural language commands like:

  • "List all indices in the cluster"
  • "How old is the student Bob?"
  • "Show me the cluster health status"

License

This project is licensed under the Apache License Version 2.0 - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elasticsearch_mcp_server-1.0.0.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elasticsearch_mcp_server-1.0.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file elasticsearch_mcp_server-1.0.0.tar.gz.

File metadata

File hashes

Hashes for elasticsearch_mcp_server-1.0.0.tar.gz
Algorithm Hash digest
SHA256 130674cdecabb4cfaa6b854c8314261ba4e69e12f46b1a89c3d96fa3ab00d544
MD5 0203e8c663689d81a84a98baf7cbee0b
BLAKE2b-256 dcca6e84c094305ebbfaaf519ae6eb9d7cec650d61db812bee48746f79f06ce2

See more details on using hashes here.

File details

Details for the file elasticsearch_mcp_server-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for elasticsearch_mcp_server-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 468d7911d136c6208c113c8dcdae64959f94d84ae44544f4e7f0ec4a18d56182
MD5 7a7a655880836c5aff3c14698add4880
BLAKE2b-256 ddf67bf812eebb7ccca832ee20cb028ee0e7dd7afe68171fe65702ea586beda9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page