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
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues