Enables interaction with Elasticsearch clusters using natural language commands through a Model Context Protocol (MCP) server.
Enables interaction with Elasticsearch clusters using natural language commands through a Model Context Protocol (MCP) server. Exposed over MCP by the elasticsearch mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.
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.
Using on PyPI is all you need. Most clients run it directly, so configuration is a few lines and a restart.
Everything the assistant can do here goes through one of these:
ELASTICSEARCH_API_KEY — API key for Elasticsearch or [ElasticYou will need 8 environment variables: ELASTICSEARCH_CLUSTERS, DEFAULT_CLUSTER, ELASTICSEARCH_CLUSTERS_FILE, ELASTICSEARCH_HOSTS, ELASTICSEARCH_USERNAME, ELASTICSEARCH_PASSWORD, ELASTICSEARCH_API_KEY, OPENSEARCH_HOSTS. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Plenty of cloud and infrastructure servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Elasticsearch's toolset — ELASTICSEARCH_API_KEY — is a fair guide to whether it matches your workflow. It is maintained by cr7258; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| ELASTICSEARCH_API_KEY | API key for [Elasticsearch](https://www.elastic.co/docs/deploy-manage/api-keys/elasticsearch-api-keys) or [Elastic Cloud](https://www.elastic.co/docs/deploy-manage/api-keys/elastic-cloud-api-keys) Authentication. |
{
"mcpServers": {
"elasticsearch-mcp-server": {
"command": "uvx",
"args": [
"elasticsearch-mcp-server"
],
"env": {
"ELASTICSEARCH_CLUSTERS": "{\"prod\": {\"hosts\": [\"https://prod-es:9200\"], \"api_key\": \"<PROD_API_KEY>\", \"verify_certs\": true}, \"staging\": {\"hosts\": [\"https://staging-es:9200\"], \"username\": \"elastic\", \"password\": \"<STAGING_PASSWORD>\"}}",
"DEFAULT_CLUSTER": "prod"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| ELASTICSEARCH_CLUSTERS | Configuration value read at startup. | Optional |
| DEFAULT_CLUSTER | Configuration value read at startup. | Optional |
| ELASTICSEARCH_CLUSTERS_FILE | Configuration value read at startup. | Optional |
| ELASTICSEARCH_HOSTS | Endpoint or connection string the server talks to. | Optional |
| ELASTICSEARCH_USERNAME | Configuration value read at startup. | Optional |
| ELASTICSEARCH_PASSWORD | Configuration value read at startup. | Optional |
| ELASTICSEARCH_API_KEY | Credential the server authenticates with. | Yes |
| OPENSEARCH_HOSTS | Endpoint or connection string the server talks to. | Optional |
Manage your whole Supabase project in conversation — database, auth, storage, Edge Functions and branches.
Stop letting your assistant hallucinate n8n node parameters — this server hands it the real schemas, templates and validation.
AWS Labs' official server suite — current AWS docs, CDK guidance, cost analysis and service tools.
Cloud browsers for AI agents — automation sessions that run in Browserbase's fleet, not on your machine.
Workers, KV, R2 and D1 by conversation — Cloudflare's official remote servers for building and observability.
Dashboards, Prometheus and Loki queries, incidents and alerts — observability by conversation.