Elasticsearch
Rank #6,421io.github.TocharianOU/elasticsearch
Elasticsearch MCP Server for ES 5.x-9.x with a query harness, field validation and full API access
What you can do with Elasticsearch
Elasticsearch is a Model Context Protocol (MCP) server published by tocharianou. It ranks #6,421 of 144,396 active servers on MCP Toplist, and its repository has 8 GitHub stars. Elasticsearch is listed across 3 registries — Official MCP, Glama and PulseMCP, with 6 tracked versions. It was first listed on Jun 24, 2025 and most recently updated on Oct 11, 2026.
Not verifiedMCP Toplist has not yet written a checked profile for this server, so the paragraph above is assembled from registry data only. The repository README is the authority on what it does.
What Elasticsearch can and cannot do
Not verifiedMCP Toplist has not catalogued this server's tools or limitations. The repository README lists them.
What you need before using Elasticsearch
The registry listing declares no required environment variables or authentication. This is declared metadata, not a verified install — the repository README is the authority.
Declared by Glama, last synced Oct 16, 2026. Not independently verified by MCP Toplist.
- ES_URL · required
- ES_API_KEY · optional
- ES_USERNAME · optional
- ES_PASSWORD · optional
- ES_CA_CERT · optional
- NODE_TLS_REJECT_UNAUTHORIZED · optional
- MAX_TOKEN_CALL · optional
- MCP_TRANSPORT · required
- MCP_HTTP_PORT · optional
- MCP_HTTP_HOST · optional
Connect Elasticsearch and confirm it works
claude mcp add elasticsearch -e "ES_URL=<your ES_URL>" -e "ES_API_KEY=<your ES_API_KEY>" -e "ES_USERNAME=<your ES_USERNAME>" -e "ES_PASSWORD=<your ES_PASSWORD>" -e "ES_CA_CERT=<your ES_CA_CERT>" -e "NODE_TLS_REJECT_UNAUTHORIZED=<your NODE_TLS_REJECT_UNAUTHORIZED>" -e "MAX_TOKEN_CALL=<your MAX_TOKEN_CALL>" -- npx -y @tocharianou/elasticsearch-mcpReplace each placeholder with your own value before saving.
claude mcp add elasticsearch -e "MCP_TRANSPORT=<your MCP_TRANSPORT>" -e "MCP_HTTP_PORT=<your MCP_HTTP_PORT>" -e "MCP_HTTP_HOST=<your MCP_HTTP_HOST>" -e "ES_URL=<your ES_URL>" -e "ES_API_KEY=<your ES_API_KEY>" -e "ES_USERNAME=<your ES_USERNAME>" -e "ES_PASSWORD=<your ES_PASSWORD>" -e "ES_CA_CERT=<your ES_CA_CERT>" -e "NODE_TLS_REJECT_UNAUTHORIZED=<your NODE_TLS_REJECT_UNAUTHORIZED>" -e "MAX_TOKEN_CALL=<your MAX_TOKEN_CALL>" -- npx -y @tocharianou/elasticsearch-mcpReplace each placeholder with your own value before saving.
[mcp_servers.elasticsearch]
command = "npx"
args = ["-y", "@tocharianou/elasticsearch-mcp"]
[mcp_servers.elasticsearch.env]
ES_URL = "<your ES_URL>"
ES_API_KEY = "<your ES_API_KEY>"
ES_USERNAME = "<your ES_USERNAME>"
ES_PASSWORD = "<your ES_PASSWORD>"
ES_CA_CERT = "<your ES_CA_CERT>"
NODE_TLS_REJECT_UNAUTHORIZED = "<your NODE_TLS_REJECT_UNAUTHORIZED>"
MAX_TOKEN_CALL = "<your MAX_TOKEN_CALL>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
[mcp_servers.elasticsearch]
command = "npx"
args = ["-y", "@tocharianou/elasticsearch-mcp"]
[mcp_servers.elasticsearch.env]
MCP_TRANSPORT = "<your MCP_TRANSPORT>"
MCP_HTTP_PORT = "<your MCP_HTTP_PORT>"
MCP_HTTP_HOST = "<your MCP_HTTP_HOST>"
ES_URL = "<your ES_URL>"
ES_API_KEY = "<your ES_API_KEY>"
ES_USERNAME = "<your ES_USERNAME>"
ES_PASSWORD = "<your ES_PASSWORD>"
ES_CA_CERT = "<your ES_CA_CERT>"
NODE_TLS_REJECT_UNAUTHORIZED = "<your NODE_TLS_REJECT_UNAUTHORIZED>"
MAX_TOKEN_CALL = "<your MAX_TOKEN_CALL>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y",
"@tocharianou/elasticsearch-mcp"
],
"env": {
"ES_URL": "<your ES_URL>",
"ES_API_KEY": "<your ES_API_KEY>",
"ES_USERNAME": "<your ES_USERNAME>",
"ES_PASSWORD": "<your ES_PASSWORD>",
"ES_CA_CERT": "<your ES_CA_CERT>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<your NODE_TLS_REJECT_UNAUTHORIZED>",
"MAX_TOKEN_CALL": "<your MAX_TOKEN_CALL>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y",
"@tocharianou/elasticsearch-mcp"
],
"env": {
"MCP_TRANSPORT": "<your MCP_TRANSPORT>",
"MCP_HTTP_PORT": "<your MCP_HTTP_PORT>",
"MCP_HTTP_HOST": "<your MCP_HTTP_HOST>",
"ES_URL": "<your ES_URL>",
"ES_API_KEY": "<your ES_API_KEY>",
"ES_USERNAME": "<your ES_USERNAME>",
"ES_PASSWORD": "<your ES_PASSWORD>",
"ES_CA_CERT": "<your ES_CA_CERT>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<your NODE_TLS_REJECT_UNAUTHORIZED>",
"MAX_TOKEN_CALL": "<your MAX_TOKEN_CALL>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y",
"@tocharianou/elasticsearch-mcp"
],
"env": {
"ES_URL": "<your ES_URL>",
"ES_API_KEY": "<your ES_API_KEY>",
"ES_USERNAME": "<your ES_USERNAME>",
"ES_PASSWORD": "<your ES_PASSWORD>",
"ES_CA_CERT": "<your ES_CA_CERT>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<your NODE_TLS_REJECT_UNAUTHORIZED>",
"MAX_TOKEN_CALL": "<your MAX_TOKEN_CALL>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y",
"@tocharianou/elasticsearch-mcp"
],
"env": {
"MCP_TRANSPORT": "<your MCP_TRANSPORT>",
"MCP_HTTP_PORT": "<your MCP_HTTP_PORT>",
"MCP_HTTP_HOST": "<your MCP_HTTP_HOST>",
"ES_URL": "<your ES_URL>",
"ES_API_KEY": "<your ES_API_KEY>",
"ES_USERNAME": "<your ES_USERNAME>",
"ES_PASSWORD": "<your ES_PASSWORD>",
"ES_CA_CERT": "<your ES_CA_CERT>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<your NODE_TLS_REJECT_UNAUTHORIZED>",
"MAX_TOKEN_CALL": "<your MAX_TOKEN_CALL>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"elasticsearch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@tocharianou/elasticsearch-mcp"
],
"env": {
"ES_URL": "<your ES_URL>",
"ES_API_KEY": "<your ES_API_KEY>",
"ES_USERNAME": "<your ES_USERNAME>",
"ES_PASSWORD": "<your ES_PASSWORD>",
"ES_CA_CERT": "<your ES_CA_CERT>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<your NODE_TLS_REJECT_UNAUTHORIZED>",
"MAX_TOKEN_CALL": "<your MAX_TOKEN_CALL>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"servers": {
"elasticsearch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@tocharianou/elasticsearch-mcp"
],
"env": {
"MCP_TRANSPORT": "<your MCP_TRANSPORT>",
"MCP_HTTP_PORT": "<your MCP_HTTP_PORT>",
"MCP_HTTP_HOST": "<your MCP_HTTP_HOST>",
"ES_URL": "<your ES_URL>",
"ES_API_KEY": "<your ES_API_KEY>",
"ES_USERNAME": "<your ES_USERNAME>",
"ES_PASSWORD": "<your ES_PASSWORD>",
"ES_CA_CERT": "<your ES_CA_CERT>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<your NODE_TLS_REJECT_UNAUTHORIZED>",
"MAX_TOKEN_CALL": "<your MAX_TOKEN_CALL>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y",
"@tocharianou/elasticsearch-mcp"
],
"env": {
"ES_URL": "<your ES_URL>",
"ES_API_KEY": "<your ES_API_KEY>",
"ES_USERNAME": "<your ES_USERNAME>",
"ES_PASSWORD": "<your ES_PASSWORD>",
"ES_CA_CERT": "<your ES_CA_CERT>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<your NODE_TLS_REJECT_UNAUTHORIZED>",
"MAX_TOKEN_CALL": "<your MAX_TOKEN_CALL>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y",
"@tocharianou/elasticsearch-mcp"
],
"env": {
"MCP_TRANSPORT": "<your MCP_TRANSPORT>",
"MCP_HTTP_PORT": "<your MCP_HTTP_PORT>",
"MCP_HTTP_HOST": "<your MCP_HTTP_HOST>",
"ES_URL": "<your ES_URL>",
"ES_API_KEY": "<your ES_API_KEY>",
"ES_USERNAME": "<your ES_USERNAME>",
"ES_PASSWORD": "<your ES_PASSWORD>",
"ES_CA_CERT": "<your ES_CA_CERT>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<your NODE_TLS_REJECT_UNAUTHORIZED>",
"MAX_TOKEN_CALL": "<your MAX_TOKEN_CALL>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y",
"@tocharianou/elasticsearch-mcp"
],
"env": {
"ES_URL": "<your ES_URL>",
"ES_API_KEY": "<your ES_API_KEY>",
"ES_USERNAME": "<your ES_USERNAME>",
"ES_PASSWORD": "<your ES_PASSWORD>",
"ES_CA_CERT": "<your ES_CA_CERT>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<your NODE_TLS_REJECT_UNAUTHORIZED>",
"MAX_TOKEN_CALL": "<your MAX_TOKEN_CALL>"
}
}
}
}Replace each placeholder with your own value before saving.
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y",
"@tocharianou/elasticsearch-mcp"
],
"env": {
"MCP_TRANSPORT": "<your MCP_TRANSPORT>",
"MCP_HTTP_PORT": "<your MCP_HTTP_PORT>",
"MCP_HTTP_HOST": "<your MCP_HTTP_HOST>",
"ES_URL": "<your ES_URL>",
"ES_API_KEY": "<your ES_API_KEY>",
"ES_USERNAME": "<your ES_USERNAME>",
"ES_PASSWORD": "<your ES_PASSWORD>",
"ES_CA_CERT": "<your ES_CA_CERT>",
"NODE_TLS_REJECT_UNAUTHORIZED": "<your NODE_TLS_REJECT_UNAUTHORIZED>",
"MAX_TOKEN_CALL": "<your MAX_TOKEN_CALL>"
}
}
}
}Replace each placeholder with your own value before saving.
After adding the config, ask your client to list this server's tools. A tool list confirms the connection; an empty list or an error means the server did not start or needs credentials.
When to choose another server
No task-specific alternatives are catalogued for Elasticsearchyet; the list above is its publisher's other servers.
What changed, and when this was checked
- First listed
- Jun 24, 2025
- Latest version published
- Oct 11, 2026
- Version history
- 6 versions tracked (below)
- Requirements evidence
- Declared by Glama, last synced Oct 16, 2026. Not independently verified by MCP Toplist.
- Profile checked
- Not yet — purpose, capabilities and requirements above come from registry data only
- Ranking data as of
- Oct 16, 2026
- Official MCP ↗listed since Apr 25, 2026 · still listed
- Glama ↗listed since May 3, 2026 · still listed
- PulseMCP ↗listed since May 22, 2026 · still listed
Do you maintain Elasticsearch? to correct or enrich this profile.
Available versions (6)
| Version | Published |
|---|---|
| 0.9.1 | Oct 11, 2026 |
| 0.7.2 | Feb 2, 2026 |
| 0.6.5 | Jan 23, 2026 |
| 0.6.4 | Jan 23, 2026 |
| 0.6.3 | Jan 23, 2026 |
| 0.1.0 | Nov 25, 2024 |
Ranks ahead of 137,975 of 144,396 servers on MCP Toplist.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.TocharianOU%2Felasticsearch)<a href="https://mcptoplist.com/server/io.github.TocharianOU%2Felasticsearch"><img src="https://mcptoplist.com/badge/io.github.TocharianOU%2Felasticsearch.svg" alt="MCP Toplist: Top 5% of 144,396" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Frequently asked questions
- Who maintains Elasticsearch?
- Elasticsearch is maintained by tocharianou, which publishes 4 MCP servers (16 total versions) tracked on MCP Toplist.
- Is Elasticsearch listed on the Official MCP Registry?
- Yes — Elasticsearch is listed on the Official MCP Registry, alongside Glama and PulseMCP.
- How many versions does Elasticsearch have?
- MCP Toplist tracks 6 versions of Elasticsearch, most recently published on Oct 11, 2026.
- Where can I find the source code for Elasticsearch?
- The source code for Elasticsearch is hosted at github.com/tocharianou/elasticsearch-mcp.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.