E
Elasticsearch
community
search
MCP server implementation that provides Elasticsearch interaction.
Elasticsearch/OpenSearch MCP Server
Overview
A Model Context Protocol (MCP) server implementation that provides Elasticsearch and OpenSearch interaction. This server enables searching documents, analyzing indices, and managing cluster through a set of tools.
<a href="https://glama.ai/mcp/servers/b3po3delex"><img width="380" height="200" src="https://glama.ai/mcp/servers/b3po3delex/badge" alt="Elasticsearch MCP Server" /></a>
Demo
Features
Index Operations
: List all indices.list_indices
: Returns information (mappings, settings, aliases) about one or more indices.get_index
: Create a new index.create_index
: Delete an index.delete_index
Document Operations
: Search for documents.search_documents
: Creates or updates a document in the index.index_document
: Get a document by ID.get_document
: Delete a document by ID.delete_document
: Deletes documents matching the provided query.delete_by_query
Cluster Operations
: Returns basic information about the health of the cluster.get_cluster_health
: Returns high-level overview of cluster statistics.get_cluster_stats
Alias Operations
: List all aliases.list_aliases
: Get alias information for a specific index.get_alias
: Create or update an alias for a specific index.put_alias
: Delete an alias for a specific index.delete_alias
Configure Environment Variables
Copy the
.env.example
file to .env
and update the values accordingly.Start Elasticsearch/OpenSearch Cluster
Start the Elasticsearch/OpenSearch cluster using Docker Compose:
# For Elasticsearch docker-compose -f docker-compose-elasticsearch.yml up -d # For OpenSearch docker-compose -f docker-compose-opensearch.yml up -d
The default Elasticsearch username is
elastic
and password is test123
. The default OpenSearch username is admin
and password is admin
.You can access Kibana/OpenSearch Dashboards from http://localhost:5601.
Usage with Claude Desktop
Option 1: Installing via Smithery
To install Elasticsearch Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install elasticsearch-mcp-server --client claude
Option 2: Using uvx
Using
uvx
will automatically install the package from PyPI, no need to clone the repository locally. Add the following configuration to Claude Desktop's config file claude_desktop_config.json
.// For Elasticsearch { "mcpServers": { "elasticsearch-mcp-server": { "command": "uvx", "args": [ "elasticsearch-mcp-server" ], "env": { "ELASTICSEARCH_HOSTS": "https://localhost:9200", "ELASTICSEARCH_USERNAME": "elastic", "ELASTICSEARCH_PASSWORD": "test123" } } } } // For OpenSearch { "mcpServers": { "opensearch-mcp-server": { "command": "uvx", "args": [ "opensearch-mcp-server" ], "env": { "OPENSEARCH_HOSTS": "https://localhost:9200", "OPENSEARCH_USERNAME": "admin", "OPENSEARCH_PASSWORD": "admin" } } } }
Option 3: Using uv with local development
Using
uv
requires cloning the repository locally and specifying the path to the source code. Add the following configuration to Claude Desktop's config file claude_desktop_config.json
.// For Elasticsearch { "mcpServers": { "elasticsearch-mcp-server": { "command": "uv", "args": [ "--directory", "path/to/src/elasticsearch_mcp_server", "run", "elasticsearch-mcp-server" ], "env": { "ELASTICSEARCH_HOSTS": "https://localhost:9200", "ELASTICSEARCH_USERNAME": "elastic", "ELASTICSEARCH_PASSWORD": "test123" } } } } // For OpenSearch { "mcpServers": { "opensearch-mcp-server": { "command": "uv", "args": [ "--directory", "path/to/src/elasticsearch_mcp_server", "run", "opensearch-mcp-server" ], "env": { "OPENSEARCH_HOSTS": "https://localhost:9200", "OPENSEARCH_USERNAME": "admin", "OPENSEARCH_PASSWORD": "admin" } } } }
- 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/OpenSearch 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"
Usage with Anthropic MCP Client
uv run mcp_client/client.py src/server.py
License
This project is licensed under the Apache License Version 2.0 - see the LICENSE file for details.
Related Servers
Aiven
official
Navigate your [Aiven projects](https://go.aiven.io/mcp-server) and interact with the PostgreSQL®, Apache Kafka®, ClickHouse® and OpenSearch® services
View DetailsApify
official
[Actors MCP Server](https://apify.com/apify/actors-mcp-server): Use 3,000+ pre-built cloud tools to extract data from websites, e-commerce, social media, search engines, maps, and more
View Details