OpenSearch MCP Server

OpenSearch MCP Server

rithin-pullela-aws

Developer Tools
Visit Server

README

OpenSearch MCP Server

A Model Context Protocol (MCP) server that provides tools for interacting with OpenSearch clusters through Server-Sent Events (SSE). This server enables seamless integration of OpenSearch operations into AI workflows.

Features

  • OpenSearch Integration: Secure connection and interaction with OpenSearch clusters
  • SSE Communication: Real-time, event-driven communication using Server-Sent Events
  • Tool Suite:
    • List indices in the cluster
    • More tools coming soon...

Prerequisites

  • Python 3.12 or higher
  • OpenSearch cluster (local or remote)
  • uv for dependency management (recommended)

Installation

# Install uv (if not already installed)
pip install uv

# Clone the repository
git clone https://github.com/your-org/opensearch-mcp-sse.git
cd opensearch-mcp-sse

# Create and activate virtual environment
uv venv .venv
source .venv/bin/activate

# Install dependencies using the lock file (recommended for production)
uv pip install -r uv.lock

# Or install in editable mode for development
uv pip install -e .

Dependency Management

The project uses uv for dependency management with a uv.lock file to ensure reproducible builds. The lock file contains exact versions of all dependencies and their sub-dependencies.

  • pyproject.toml: Defines project metadata and direct dependencies
  • uv.lock: Contains exact versions of all dependencies (including transitive dependencies)

To update dependencies:

# Update dependencies and regenerate lock file
uv pip compile pyproject.toml -o uv.lock

Configuration

OpenSearch Connection

Configure the OpenSearch connection using environment variables:

# Required
export OPENSEARCH_HOST=localhost      # OpenSearch host
export OPENSEARCH_PORT=9200          # OpenSearch port

# Optional (with defaults)
export OPENSEARCH_USERNAME=admin     # Username for authentication
export OPENSEARCH_PASSWORD=admin     # Password for authentication
export OPENSEARCH_USE_SSL=false      # Enable/disable SSL
export OPENSEARCH_VERIFY_CERTS=false # Verify SSL certificates
export OPENSEARCH_CA_CERTS=          # Path to CA certificates

Server Configuration

The server can be configured through command-line arguments:

To run the server go to src Folder and run:

python -m server --host 0.0.0.0 --port 9900

Default values:

  • Host: 0.0.0.0 (all interfaces)
  • Port: 9900
  • API Key: secret-token

Usage

Starting the Server

# Start with default configuration
python -m server

# Start with custom host and port
python -m server --host 127.0.0.1 --port 8080

Authentication

All requests must include an API key in the Authorization header:

Authorization: Bearer secret-token

Available Tools

  1. List Indices (list_indices)
    • Lists all indices in the OpenSearch cluster
    • Returns: List of index names
    • Example response: ["index1", "index2", ...]

More coming soon

Development

Project Structure

opensearch-mcp-sse/
├── src/
│   ├── mcp_server.py    # MCP initialization
│   ├── server.py        # Server implementation with SSE and authentication
│   └── opensearch/      # OpenSearch integration
│       ├── config.py    # Configuration management
│       ├── client.py    # OpenSearch client with core operations
│       └── tools/       # MCP tools
│           ├── list_indices.py
│           └── __init__.py
└── scripts/            # Utility scripts

Adding New Tools

  1. Create a new tool file in src/opensearch_mcp_sse/opensearch/tools/
  2. Import and register the tool in src/opensearch_mcp_sse/server.py

Running Scripts

# Run scripts
python scripts/test_connection.py

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python