OpenSearch MCP Server
rithin-pullela-aws
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 dependenciesuv.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
- 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
- Create a new tool file in
src/opensearch_mcp_sse/opensearch/tools/
- 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
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.
@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.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

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.

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.