What is OpenSearch MCP Server is a Model Context Protocol server for OpenSearch enabling AI assistants to interact with OpenSearch clusters.?
opensearch-mcp-server-py is a Model Context Protocol (MCP) server for OpenSearch that enables AI assistants to interact with OpenSearch clusters. It provides a standardized interface for AI models to perform operations like searching indices, retrieving mappings, and managing shards through both stdio and streaming (SSE/Streamable HTTP) protocols. Key features include seamless integration with AI assistants and LLMs, support for both stdio and streaming server transports, built-in tools for common OpenSearch operations, easy integration with Claude Desktop and LangChain, and secure authentication using basic auth or IAM roles.
opensearch-mcp-server-py is a Model Context Protocol (MCP) server for OpenSearch that enables AI assistants to interact with OpenSearch clusters. It provides a standardized interface for AI models to perform operations like searching indices, retrieving mappings, and managing shards through both stdio and streaming (SSE/Streamable HTTP) protocols.
Key features:
Seamless integration with AI assistants and LLMs through the MCP protocol
Support for both stdio and streaming server transports (SSE and Streamable HTTP)
Built-in tools for common OpenSearch operations
Easy integration with Claude Desktop and LangChain
Secure authentication using basic auth or IAM roles
Installing opensearch-mcp-server-py
Opensearch-mcp-server-py can be installed from PyPI via pip:
pip install opensearch-mcp-server-py
Available Tools
ListIndexTool: Lists all indices in OpenSearch with full information including docs.count, docs.deleted, store.size, etc. If an index parameter is provided, returns detailed information about that specific index.
IndexMappingTool: Retrieves index mapping and setting information for an index in OpenSearch.
SearchIndexTool: Searches an index using a query written in query domain-specific language (DSL) in OpenSearch.
GetShardsTool: Gets information about shards in OpenSearch.
ClusterHealthTool: Returns basic information about the health of the cluster.
CountTool: Returns number of documents matching a query.
ExplainTool: Returns information about why a specific document matches (or doesn't match) a query.
MsearchTool: Allows to execute several search operations in one request.
Tool Parameters
ListIndexTool
opensearch_url (optional): The OpenSearch cluster URL to connect to
index (optional): The name of the index to get detailed information for. If provided, returns detailed information about this specific index instead of listing all indices.
IndexMappingTool
opensearch_url (optional): The OpenSearch cluster URL to connect to
index (required): The name of the index to retrieve mappings for
SearchIndexTool
opensearch_url (optional): The OpenSearch cluster URL to connect to
index (required): The name of the index to search in
query (required): The search query in OpenSearch Query DSL format
GetShardsTool
opensearch_url (optional): The OpenSearch cluster URL to connect to
index (required): The name of the index to get shard information for
ClusterHealthTool
opensearch_url (optional): The OpenSearch cluster URL to connect to
index (optional): Limit health reporting to a specific index
CountTool
opensearch_url (optional): The OpenSearch cluster URL to connect to
index (optional): The name of the index to count documents in
body (optional): Query in JSON format to filter documents
ExplainTool
opensearch_url (optional): The OpenSearch cluster URL to connect to
index (required): The name of the index to retrieve the document from
id (required): The document ID to explain
body (required): Query in JSON format to explain against the document
MsearchTool
opensearch_url (optional): The OpenSearch cluster URL to connect to
index (optional): Default index to search in
body (required): Multi-search request body in NDJSON format