Elasticsearch MCP Server
Provides tools for searching, aggregating, retrieving documents, and managing indices in Elasticsearch, including support for full-text search, filtering, highlighting, and semantic/hybrid search using embedded vectors.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Elasticsearch MCP ServerSearch the logs index for timeout errors in the last 24 hours"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Elasticsearch MCP Server
An MCP (Model Context Protocol) server that gives AI assistants like Claude direct access to Elasticsearch. Search, aggregate, and retrieve documents from any index — all exposed as MCP tools over a Streamable HTTP transport.
Quickstart
With Docker (recommended)
docker build -t elasticsearch-mcp .
docker run -e ES_URL=http://host.docker.internal:9200 -p 3100:3100 elasticsearch-mcpWithout Docker
Requires Node.js 22+.
npm install
npm run build
ES_URL=http://localhost:9200 npm startConnect to Claude Code
Add to your .mcp.json:
{
"mcpServers": {
"elasticsearch": {
"type": "streamable-http",
"url": "http://localhost:3100/mcp"
}
}
}Sample prompts
Once connected, try asking Claude things like:
"What indices do I have? Pick the most interesting one and tell me what fields are available."
"Search the
logsindex for timeout errors in the last 24 hours and summarize what's going wrong.""Which users have the most failed login attempts? Break it down by country."
"Find all documents mentioning 'rate limit' and show me the top 5 with highlights."
"How many orders were placed each month this year? Plot the trend."
"Compare how often these product names appear across the catalog: 'widget', 'gadget', 'gizmo', 'doohickey'."
"Pull up document
abc-123and give me a plain-English summary.""What are the most common values in the
statusfield? Are any of them suspicious?"
Related MCP server: ElasticMind-MCP
Tools
list_indices
List all Elasticsearch indices with doc counts, storage size, health, and status. Accepts an optional glob pattern to filter index names.
get_mapping
Get field names and types for an index.
search
Full-text search with query modes: match, match_phrase, multi_match, query_string. Supports filters, sorting, pagination, highlighting, field selection, and minimum score thresholds.
count
Count documents matching a query with optional filters.
multi_count
Count multiple phrases in one call using msearch. Useful for co-occurrence analysis — can require an additional term to co-occur with each phrase.
get_document
Retrieve a single document by _id or document_id field value. Long text fields are truncated by default.
aggregate
Run aggregations on an index:
terms — Top values by frequency
stats — min/max/avg/sum/count for numeric fields
date_histogram — Monthly bucketing for date fields
top_hits — Sample documents per bucket
cardinality — Distinct value count
filter — Filtered document count
Supports sub-aggregations for nested analysis (e.g., terms + stats).
Configuration
Variable | Default | Description |
|
| Elasticsearch URL |
| — | API key for Elasticsearch authentication (optional) |
|
| HTTP port the server listens on |
Endpoints
Path | Method | Description |
|
| MCP protocol (Streamable HTTP transport) |
|
| Health check (returns |
Semantic & Hybrid Search
The search tool also supports two additional modes for indices with dense_vector fields:
semantic — kNN vector search using a built-in all-MiniLM-L6-v2 embedding model (384 dimensions). No external embedding API needed.
hybrid — Runs keyword + semantic in parallel and fuses results with Reciprocal Rank Fusion (k=60).
Set search_mode to semantic or hybrid and specify the embedding_field (defaults to text_embedding).
The embedding model is downloaded on first use and cached locally. The Docker image pre-downloads it at build time. Use TRANSFORMERS_CACHE to control where the model is stored.
Variable | Default | Description |
| (system default) | Directory to cache the embedding model |
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gpremo-re/elasticsearch-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server