opensearch-mcp-server-py MCP Server

For detailed setup, including Kubernetes deployment and mTLS configuration, see the User Guide.

Local serverstdio

What is the opensearch-mcp-server-py MCP Server?

opensearch-mcp-server-py is an MCP project maintained in the opensearch-project/opensearch-mcp-server-py repository. The maintainer describes its purpose as “For detailed setup, including Kubernetes deployment and mTLS configuration, see the User Guide”. Read the project documentation for the complete scope.

Installation

The documented pypi package is opensearch-mcp-server-py. The configuration below comes from the maintainer’s example; adapt its paths and account values to your environment.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
MetricChangeAnalysisToolindex (required): Target OpenSearch index name.
SaveMemoryToolSaves facts, decisions, and preferences to persistent storage with automatic semantic enrichment.
SearchMemoryToolSearches memories using natural language with recency-aware ranking.
DeleteMemoryToolRemoves outdated or incorrect memories by document ID.
ListIndexToolopensearch_url (optional): The OpenSearch cluster URL to connect to
indexrequired): The name of the index to get statistics for. Wildcards are supported.
IndexMappingToolopensearch_url (optional): The OpenSearch cluster URL to connect to
SearchIndexToolopensearch_url (optional): The OpenSearch cluster URL to connect to
query_dslrequired): The search query in OpenSearch Query DSL format
formatoptional): The format of SearchIndexTool response. options are csv and json
sizeoptional): Maximum number of documents to analyze. Default is 1000.
GetShardsToolopensearch_url (optional): The OpenSearch cluster URL to connect to
ClusterHealthToolopensearch_url (optional): The OpenSearch cluster URL to connect to
CountToolopensearch_url (optional): The OpenSearch cluster URL to connect to
bodyrequired): Multi-search request body in NDJSON format
ExplainToolopensearch_url (optional): The OpenSearch cluster URL to connect to
idrequired): The ID of the specific memory to delete. (Path Parameter)
MsearchToolopensearch_url (optional): The OpenSearch cluster URL to connect to
GetClusterStateToolopensearch_url (optional): The OpenSearch cluster URL to connect to
metricoptional): Limit the information returned to the specified metrics. Options include: \_all, completion, docs, fielddata, flush, get, indexing, merge…
GetSegmentsToolopensearch_url (optional): The OpenSearch cluster URL to connect to
CatNodesToolopensearch_url (optional): The OpenSearch cluster URL to connect to
metricsoptional): A comma-separated list of metrics to display. Available metrics include: id, name, ip, port, role, master, heap.percent, ram.percent, cpu…
GetNodesToolopensearch_url (optional): The OpenSearch cluster URL to connect to
node_idoptional): A comma-separated list of node IDs or names to limit the returned information. Supports node filters like \_local, \_master, master:true…
GetIndexInfoToolopensearch_url (optional): The OpenSearch cluster URL to connect to
GetIndexStatsToolopensearch_url (optional): The OpenSearch cluster URL to connect to
GetQueryInsightsToolopensearch_url (optional): The OpenSearch cluster URL to connect to
GetNodesHotThreadsToolopensearch_url (optional): The OpenSearch cluster URL to connect to
GetAllocationToolopensearch_url (optional): The OpenSearch cluster URL to connect to
GetLongRunningTasksToolopensearch_url (optional): The OpenSearch cluster URL to connect to
limitoptional): The maximum number of tasks to return. Default is 10.
CreateAgenticMemorySessionToolmemory_container_id (auto-populated): The ID of the memory container where the session will be created. Automatically set when configured via agentic_memory…
session_idoptional): A custom session ID. If not provided, a random ID is generated. (Body Parameter)
summaryoptional): The summary of the session. (Body Parameter)
metadataoptional): Additional metadata for the memory (for example, status, branch, or custom fields). (Body Parameter)
namespaceoptional): The namespace context for organizing memories (for example, user_id, session_id, or agent_id). If session_id is not specified in the namespace field
AddAgenticMemoriesToolmemory_container_id (auto-populated): The ID of the memory container to add the memory to. Automatically set when configured. (Path Parameter)
messagesoptional): Updated conversation messages (for conversation type). (Body Parameter)
structured_dataoptional): Updated structured data content (for data memory payloads). (Body Parameter)
binary_dataoptional): Updated binary data content (for data memory payloads). (Body Parameter)
payload_typerequired): The type of payload. Valid values are conversational or data. See Payload types. (Body Parameter)
tagsoptional): Updated tags for categorization. (Body Parameter)
inferoptional): Whether to use an LLM to extract key information (default: false). When true, the LLM extracts key information from the original text and stores…
GetAgenticMemoryToolmemory_container_id (auto-populated): The ID of the memory container from which to retrieve the memory. Automatically set when configured. (Path Parameter)
SearchAgenticMemoryToolmemory_container_id (auto-populated): The ID of the memory container. Automatically set when configured. (Path Parameter)
queryrequired): The OpenSearch DSL query to match memories for deletion. (Body Parameter)
sortoptional): Sort specification for the search results. (Body Parameter)
UpdateAgenticMemoryToolmemory_container_id (auto-populated): The ID of the memory container. Automatically set when configured. (Path Parameter)
agentsoptional): Additional information about the agents. (Body Parameter)
additional_infooptional): Additional metadata to associate with the session. (Body Parameter)
Longterm memory request fields
memoryoptional): The updated memory content. (Body Parameter)
DeleteAgenticMemoryByIDToolmemory_container_id (auto-populated): The ID of the memory container from which to delete the memory. Automatically set when configured. (Path Parameter)
DeleteAgenticMemoryByQueryToolmemory_container_id (auto-populated): The ID of the memory container from which to delete the memory. Automatically set when configured. (Path Parameter)
DataDistributionToolindex (required): Target OpenSearch index name.
selectionTimeRangeStartrequired): Start of the selection (anomaly) period.
selectionTimeRangeEndrequired): End of the selection (anomaly) period.
timeFieldrequired): Date/time field for filtering.
baselineTimeRangeStartrequired): Start of the baseline period.
baselineTimeRangeEndrequired): End of the baseline period (should be at or before selectionTimeRangeStart).
LogPatternAnalysisToolindex (required): Target OpenSearch index name containing log data.
logFieldNamerequired): Field containing raw log messages to analyze.
traceFieldNameoptional): Field for trace/correlation ID.
baseTimeRangeStartoptional): Start time for baseline comparison period.
baseTimeRangeEndoptional): End time for baseline comparison period.
topNoptional): Number of top fields to return, ranked by change score. Default is 10.

How to install the opensearch-mcp-server-py MCP Server

{
  "mcpServers": {
    "opensearch": {
      "command": "uvx",
      "args": [
        "opensearch-mcp-server-py"
      ]
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.