Skip to main content
Glama
eemijuntunen

OpenSearch Dashboards MCP Server

by eemijuntunen
README.md
# OpenSearch Dashboards MCP Server

An [MCP](https://modelcontextprotocol.io/) server for OpenSearch Dashboards that enables AI assistants to create, manage, and inspect dashboards, visualizations, saved objects, and plugin features.

This is a companion to [opensearch-mcp-server-py](https://github.com/opensearch-project/opensearch-mcp-server-py), which covers the OpenSearch cluster/data plane. This project covers the **Dashboards UI/management plane**.

## Features

- Saved Objects CRUD (dashboards, visualizations, index patterns, saved searches)
- Dashboard and Visualization management
- Auto-detection of installed plugins (alerting, anomaly detection, etc.)
- Category-based tool filtering
- Support for stdio and streaming (SSE) transports
- Basic auth, API token, and cookie/session authentication

## Installation

```bash
pip install opensearch-dashboards-mcp-server
```

## Quick Start

```bash
# Using environment variables
export OSD_URL=https://localhost:5601
export OSD_USERNAME=admin
export OSD_PASSWORD=admin
opensearch-dashboards-mcp-server

# Using config file
opensearch-dashboards-mcp-server --config example_config.yml
```

## Claude Desktop Integration

Add to your Claude Desktop config (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "opensearch-dashboards": {
      "command": "opensearch-dashboards-mcp-server",
      "env": {
        "OSD_URL": "https://localhost:5601",
        "OSD_USERNAME": "admin",
        "OSD_PASSWORD": "admin"
      }
    }
  }
}
```

## Tool Categories

| Category | Tools | Default |
|----------|-------|---------|
| `core_tools` | Saved Objects, Dashboards, Visualizations, Index Patterns, Short URLs | Enabled |
| `alerting` | Monitors, Alerts | Auto-detected |
| `anomaly_detection` | Detectors, Results | Auto-detected |
| `observability` | Notebooks | Auto-detected |
| `index_management` | ISM Policies | Auto-detected |
| `security` | Tenants, Roles, Role Mappings | Auto-detected |
| `workspaces` | Workspace CRUD | Auto-detected |
| `sample_data` | Sample dataset install/uninstall | Auto-detected |
| `data_importer` | File/text import, preview | Auto-detected |

Enable/disable categories via env vars:
```bash
export OSD_ENABLED_CATEGORIES=core_tools,alerting,anomaly_detection
export OSD_DISABLED_CATEGORIES=security
```

## Local Development

```bash
# OpenSearch 2.19.0 (default)
docker compose up -d

# OpenSearch 3.5.0
OPENSEARCH_VERSION=3.5.0 docker compose up -d

# Verify
curl http://localhost:9200   # OpenSearch
curl http://localhost:5601   # Dashboards
```

## Supported Versions

- OpenSearch / Dashboards 2.x (tested with 2.19.0)
- OpenSearch / Dashboards 3.x (tested with 3.5.0)

## License

Apache-2.0