Labsco
MCP SERVER

OpenSearch MCP Server

by showjason

Run an OpenSearch cluster — indices, documents, aliases, data streams — with a general API escape hatch.

NoSQL, Graph & Key-Value StoresVerified
Summary
Cluster work at the level of the question, not the curl command.

The named tools cover the routine — indices, documents, aliases, health — and the general request tool covers everything else, so an unusual endpoint does not send you back to a terminal. Every call takes an optional cluster name, which is what makes running more than one cluster practical.

What it is

A working connection to one or more OpenSearch clusters: index and document management, search, aliases, data streams, cluster health, text analysis, and a general request tool for anything without a dedicated tool.

What you get
  • Indices listed, created and deleted, and described with their mappings, settings and aliases
  • Documents created or updated, fetched by ID, deleted by ID, or removed in bulk by query
  • Search against an index with a query body you supply
  • Aliases listed, read for an index, created or updated, and deleted
  • Data streams created, described and deleted, backing indices included
  • Cluster health and a high-level statistics overview
  • Text analysis, so you can see how a string is actually tokenised
  • A general HTTP API request for any endpoint the named tools do not cover
  • An optional cluster name on every call, falling back to the default cluster when omitted
Requirements

Python with uv, and a .env file giving the cluster's address plus the username and password it should connect as. It runs over stdio for Claude Desktop, or on a port as an SSE endpoint for Cursor.

Setup effort

One command plus a key — uvx opensearch-mcp-server, then supply credentials