trackmcp
Back to directory
imlewc

elasticsearch7-mcp-server

View on GitHub

elasticsearch7 mcp server

6 stars PythonSearch & Data Retrieval Updated Oct 7, 2025

Documentation

MseeP.ai Security Assessment Badge

Elasticsearch 7.x MCP Server

smithery badge

An MCP server for Elasticsearch 7.x, providing compatibility with Elasticsearch 7.x versions.

Features

  • Provides an MCP protocol interface for interacting with Elasticsearch 7.x
  • Supports basic Elasticsearch operations (ping, info, etc.)
  • Supports complete search functionality, including aggregation queries, highlighting, sorting, and other advanced features
  • Easily access Elasticsearch functionality through any MCP client

Requirements

  • Python 3.10+
  • Elasticsearch 7.x (7.17.x recommended)

Installation

Installing via Smithery

To install Elasticsearch 7.x MCP Server for Claude Desktop automatically via Smithery:

bash
npx -y @smithery/cli install @imlewc/elasticsearch7-mcp-server --client claude

Manual Installation

bash
pip install -e .

Environment Variables

The server requires the following environment variables:

  • `ELASTIC_HOST`: Elasticsearch host address (e.g., http://localhost:9200)
  • `ELASTIC_USERNAME`: Elasticsearch username
  • `ELASTIC_PASSWORD`: Elasticsearch password
  • `MCP_PORT`: (Optional) MCP server listening port, default 9999

Using Docker Compose

1. Create a `.env` file and set `ELASTIC_PASSWORD`:

code
ELASTIC_PASSWORD=your_secure_password

2. Start the services:

bash
docker-compose up -d

This will start a three-node Elasticsearch 7.17.10 cluster, Kibana, and the MCP server.

Using an MCP Client

You can use any MCP client to connect to the MCP server:

python
from mcp import MCPClient

client = MCPClient("localhost:9999")
response = client.call("es-ping")
print(response)  # {"success": true}

API Documentation

Currently supported MCP methods:

  • `es-ping`: Check Elasticsearch connection
  • `es-info`: Get Elasticsearch cluster information
  • `es-search`: Search documents in Elasticsearch index

Search API Examples

python
# Basic search
search_response = client.call("es-search", {
    "index": "my_index",
    "query": {
        "match": {
            "title": "search keywords"
        }
    },
    "size": 10,
    "from": 0
})

Aggregation Query

python
# Aggregation query
agg_response = client.call("es-search", {
    "index": "my_index",
    "size": 0,  # Only need aggregation results, no documents
    "aggs": {
        "categories": {
            "terms": {
                "field": "category.keyword",
                "size": 10
            }
        },
        "avg_price": {
            "avg": {
                "field": "price"
            }
        }
    }
})
python
# Advanced search with highlighting, sorting, and filtering
advanced_response = client.call("es-search", {
    "index": "my_index",
    "query": {
        "bool": {
            "must": [
                {"match": {"content": "search term"}}
            ],
            "filter": [
                {"range": {"price": {"gte": 100, "lte": 200}}}
            ]
        }
    },
    "sort": [
        {"date": {"order": "desc"}},
        "_score"
    ],
    "highlight": {
        "fields": {
            "content": {}
        }
    },
    "_source": ["title", "date", "price"]
})

Development

1. Clone the repository

2. Install development dependencies

3. Run the server: `elasticsearch7-mcp-server`

License

[License in LICENSE file]

*中文文档*

Frequently asked questions

What is elasticsearch7-mcp-server?

elasticsearch7-mcp-server is elasticsearch7 mcp server

How do I install elasticsearch7-mcp-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is elasticsearch7-mcp-server open source?

Yes — it is hosted on GitHub at https://github.com/imlewc/elasticsearch7-mcp-server and has 6 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP