Elasticsearch MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENSEARCH_HOSTS | No | The OpenSearch server hosts URL | |
| ELASTICSEARCH_HOSTS | No | The Elasticsearch server hosts URL | |
| OPENSEARCH_PASSWORD | No | The OpenSearch password | |
| OPENSEARCH_USERNAME | No | The OpenSearch username | |
| ELASTICSEARCH_PASSWORD | No | The Elasticsearch password | |
| ELASTICSEARCH_USERNAME | No | The Elasticsearch username |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_indicesA | List all indices. Args: cluster: Optional cluster name. Uses the default cluster if omitted. |
| get_indexA | Returns information (mappings, settings, aliases) about one or more indices. Args: index: Name of the index cluster: Optional cluster name. Uses the default cluster if omitted. |
| create_indexA | Create a new index. Args: index: Name of the index body: Optional index configuration including mappings and settings cluster: Optional cluster name. Uses the default cluster if omitted. |
| delete_indexA | Delete an index. Args: index: Name of the index cluster: Optional cluster name. Uses the default cluster if omitted. |
| search_documentsC | Search for documents. Args: index: Name of the index body: Search query cluster: Optional cluster name. Uses the default cluster if omitted. |
| index_documentA | Creates or updates a document in the index. Args: index: Name of the index document: Document data id: Optional document ID cluster: Optional cluster name. Uses the default cluster if omitted. |
| get_documentA | Get a document by ID. Args: index: Name of the index id: Document ID cluster: Optional cluster name. Uses the default cluster if omitted. |
| delete_documentA | Delete a document by ID. Args: index: Name of the index id: Document ID cluster: Optional cluster name. Uses the default cluster if omitted. |
| delete_by_queryB | Deletes documents matching the provided query. Args: index: Name of the index body: Query to match documents for deletion cluster: Optional cluster name. Uses the default cluster if omitted. |
| get_cluster_healthB | Returns basic information about the health of the cluster. Args: cluster: Optional cluster name. Uses the default cluster if omitted. |
| get_cluster_statsB | Returns high-level overview of cluster statistics. Args: cluster: Optional cluster name. Uses the default cluster if omitted. |
| list_aliasesA | List all aliases. Args: cluster: Optional cluster name. Uses the default cluster if omitted. |
| get_aliasA | Get alias information for a specific index. Args: index: Name of the index cluster: Optional cluster name. Uses the default cluster if omitted. |
| put_aliasB | Create or update an alias for a specific index. Args: index: Name of the index name: Name of the alias body: Alias configuration cluster: Optional cluster name. Uses the default cluster if omitted. |
| delete_aliasA | Delete an alias for a specific index. Args: index: Name of the index name: Name of the alias cluster: Optional cluster name. Uses the default cluster if omitted. |
| create_data_streamA | Create a new data stream. This creates a new data stream with the specified name. The data stream must have a matching index template before creation. Args: name: Name of the data stream to create cluster: Optional cluster name. Uses the default cluster if omitted. |
| get_data_streamA | Get information about one or more data streams. Retrieves configuration, mappings, settings, and other information about the specified data streams. Args: name: Name of the data stream(s) to retrieve. Can be a comma-separated list or wildcard pattern. If not provided, retrieves all data streams. cluster: Optional cluster name. Uses the default cluster if omitted. |
| delete_data_streamA | Delete one or more data streams. Permanently deletes the specified data streams and all their backing indices. Args: name: Name of the data stream(s) to delete. Can be a comma-separated list or wildcard pattern. cluster: Optional cluster name. Uses the default cluster if omitted. |
| general_api_requestA | Perform a general HTTP API request. Use this tool for any Elasticsearch/OpenSearch API that does not have a dedicated tool. Args: method: HTTP method (GET, POST, PUT, DELETE, etc.) path: API endpoint path params: Query parameters body: Request body cluster: Optional cluster name. Uses the default cluster if omitted. |
| analyze_textA | Analyze text to see how it would be tokenized. Use this tool to understand how Elasticsearch/OpenSearch tokenizes and transforms text using analyzers. This is essential for debugging search queries and understanding why certain documents match or don't match. Args: text: The text to analyze index: Index name to use its configured analyzer. If not specified, uses cluster-level analysis with built-in analyzers only. analyzer: Name of the analyzer to use (e.g., 'standard', 'korean', 'korean_search'). If index is specified, you can use custom analyzers defined in that index. tokenizer: Tokenizer to use for custom analysis chain. Cannot be used together with 'analyzer'. filter: List of token filters to apply (e.g., ['lowercase', 'stop']). Used with 'tokenizer' for custom analysis chain. char_filter: List of character filters to apply before tokenization. Used with 'tokenizer' for custom analysis chain. explain: If True, returns detailed information about each token including all token attributes and filter transformations. Useful for debugging complex analyzer chains. attributes: List of token attributes to return when explain=True (e.g., ['keyword', 'type']). If not specified, all attributes are returned. cluster: Optional cluster name. Uses the default cluster if omitted. Returns: Dict containing 'tokens' array. Each token has 'token', 'start_offset', 'end_offset', 'type', and 'position' fields. With explain=True, returns detailed 'detail' object showing each filter's effect. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/cr7258/elasticsearch-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server