Elasticsearch 7.x MCP Server

Elasticsearch 7.x MCP Server

Provides an MCP protocol interface for interacting with Elasticsearch 7.x databases, supporting comprehensive search functionality including aggregations, highlighting, and sorting.

imlewc

Databases
Search
Python
Visit Server

Tools

es-ping

Ping Elasticsearch server

es-info

Get Elasticsearch info

es-search

Search documents in Elasticsearch index

README

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:

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

Manual Installation

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:
ELASTIC_PASSWORD=your_secure_password
  1. Start the services:
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:

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

Basic Search

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

Aggregation Query

# 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"
            }
        }
    }
})

Advanced Search

# 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]

中文文档

Recommended Servers

Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
DuckDuckGo MCP Server

DuckDuckGo MCP Server

A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content fetching and parsing.

Featured
Python
Supabase MCP Server

Supabase MCP Server

A Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.

Featured
JavaScript
YouTube Transcript MCP Server

YouTube Transcript MCP Server

This server retrieves transcripts for given YouTube video URLs, enabling integration with Goose CLI or Goose Desktop for transcript extraction and processing.

Featured
Python
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

This Serper MCP Server supports search and webpage scraping, and all the most recent parameters introduced by the Serper API, like location.

Featured
TypeScript
The Verge News MCP Server

The Verge News MCP Server

Provides tools to fetch and search news from The Verge's RSS feed, allowing users to get today's news, retrieve random articles from the past week, and search for specific keywords in recent Verge content.

Featured
TypeScript
Google Search Console MCP Server

Google Search Console MCP Server

A server that provides access to Google Search Console data through the Model Context Protocol, allowing users to retrieve and analyze search analytics data with customizable dimensions and reporting periods.

Featured
TypeScript
Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.

Featured
TypeScript
MCP PubMed Search

MCP PubMed Search

Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.

Featured
Python