2.1.3pypi · elasticsearch-mcp-server · current release
Observed 2026-09-04T08:48:20.921Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.
{
"experimental": {},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
},
"tools": {
"listChanged": true
}
}| Tool | Category | Annotations | Risk |
|---|---|---|---|
analyze_textAnalyze 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.Input schema{
"properties": {
"text": {
"type": "string"
},
"index": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"analyzer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"tokenizer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"filter": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"char_filter": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"explain": {
"default": false,
"type": "boolean"
},
"attributes": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"text"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
create_data_streamCreate 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.Input schema{
"properties": {
"name": {
"type": "string"
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"name"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
create_indexCreate 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.Input schema{
"properties": {
"index": {
"type": "string"
},
"body": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"index"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
delete_aliasDelete 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.Input schema{
"properties": {
"index": {
"type": "string"
},
"name": {
"type": "string"
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"index",
"name"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
delete_by_queryDeletes 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.Input schema{
"properties": {
"index": {
"type": "string"
},
"body": {
"additionalProperties": true,
"type": "object"
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"index",
"body"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
delete_data_streamDelete 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.Input schema{
"properties": {
"name": {
"type": "string"
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"name"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
delete_documentDelete a document by ID.
Args:
index: Name of the index
id: Document ID
cluster: Optional cluster name. Uses the default cluster if omitted.Input schema{
"properties": {
"index": {
"type": "string"
},
"id": {
"type": "string"
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"index",
"id"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
delete_indexDelete an index.
Args:
index: Name of the index
cluster: Optional cluster name. Uses the default cluster if omitted.Input schema{
"properties": {
"index": {
"type": "string"
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"index"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
general_api_requestPerform 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.Input schema{
"properties": {
"method": {
"type": "string"
},
"path": {
"type": "string"
},
"params": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"body": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"method",
"path"
],
"type": "object"
} | — | — · — | — |
get_aliasGet alias information for a specific index.
Args:
index: Name of the index
cluster: Optional cluster name. Uses the default cluster if omitted.Input schema{
"properties": {
"index": {
"type": "string"
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"index"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
get_cluster_healthReturns basic information about the health of the cluster.
Args:
cluster: Optional cluster name. Uses the default cluster if omitted.Input schema{
"properties": {
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
get_cluster_statsReturns high-level overview of cluster statistics.
Args:
cluster: Optional cluster name. Uses the default cluster if omitted.Input schema{
"properties": {
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
get_data_streamGet 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.Input schema{
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
get_documentGet a document by ID.
Args:
index: Name of the index
id: Document ID
cluster: Optional cluster name. Uses the default cluster if omitted.Input schema{
"properties": {
"index": {
"type": "string"
},
"id": {
"type": "string"
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"index",
"id"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
get_indexReturns 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.Input schema{
"properties": {
"index": {
"type": "string"
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"index"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
index_documentCreates 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.Input schema{
"properties": {
"index": {
"type": "string"
},
"document": {
"additionalProperties": true,
"type": "object"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"index",
"document"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
list_aliasesList all aliases.
Args:
cluster: Optional cluster name. Uses the default cluster if omitted.Input schema{
"properties": {
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
}Output schema{
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
} | — | — · — | — |
list_indicesList all indices.
Args:
cluster: Optional cluster name. Uses the default cluster if omitted.Input schema{
"properties": {
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"type": "object"
}Output schema{
"properties": {
"result": {
"type": "string"
}
},
"required": [
"result"
],
"type": "object",
"x-fastmcp-wrap-result": true
} | — | — · — | — |
put_aliasCreate 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.Input schema{
"properties": {
"index": {
"type": "string"
},
"name": {
"type": "string"
},
"body": {
"additionalProperties": true,
"type": "object"
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"index",
"name",
"body"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |
search_documentsSearch for documents.
Args:
index: Name of the index
body: Search query
cluster: Optional cluster name. Uses the default cluster if omitted.Input schema{
"properties": {
"index": {
"type": "string"
},
"body": {
"additionalProperties": true,
"type": "object"
},
"cluster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"index",
"body"
],
"type": "object"
}Output schema{
"additionalProperties": true,
"type": "object"
} | — | — · — | — |