MCP.so
Sign In
Servers

Elasticsearch MCP Server

@sajitsasi

Elasticsearch MCP Server in Python

Overview

What is Elasticsearch MCP Server?

Elasticsearch MCP Server is an MCP (Model Context Protocol) server that provides tools and resources to interact with Elasticsearch clusters. It is designed for developers and AI agents using MCP-compatible clients like Claude.

How to use Elasticsearch MCP Server?

Install dependencies, set environment variables ES_CLOUD_ID and ES_API_KEY, then run python es_mcp_server.py. Optionally use configure_mcp_server.py to add the server to Claude's MCP settings.

Key features of Elasticsearch MCP Server?

  • List all indices in the cluster
  • Get mappings for a specific index
  • Perform Elasticsearch searches with query DSL
  • Search with a simple query string
  • Access cluster and index statistics

Use cases of Elasticsearch MCP Server?

  • Query Elasticsearch indices from an AI assistant like Claude
  • Explore index mappings and settings automatically
  • Run ad‑hoc searches without direct Elasticsearch access

FAQ from Elasticsearch MCP Server

What are the dependencies for Elasticsearch MCP Server?

Python 3.7+, the Elasticsearch Python client, and the MCP SDK are required. Elasticsearch cluster credentials (Cloud ID and API Key) must be provided.

How do I configure Elasticsearch MCP Server for Claude?

Run configure_mcp_server.py your_cloud_id your_api_key to add the server to Claude’s MCP settings file. After that, restart VS Code to apply the changes.

What tools and resources does Elasticsearch MCP Server offer?

Tools: list_indices, get_mappings, search, search_with_query_string, get_index_stats. Resources: elasticsearch://indices, elasticsearch://index/{index_name}, elasticsearch://mapping/{index_name}.

How can I test Elasticsearch MCP Server?

Use the provided test_es_mcp.sh script or start the server manually and test resources via Claude’s access_mcp_resource tool. A Python test script test_es_resources.py is also included.

What error handling is in place?

All resources catch connection issues, missing indices, and other exceptions, returning clear error messages instead of crashing.

More from Databases