OpenSearch MCP Server: Open-source search cluster management component
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add opensearch-server-seohyunjun --env OPENSEARCH_HOST='<OPENSEARCH_HOST>' --env OPENSEARCH_USERNAME='<OPENSEARCH_USERNAME>' --env OPENSEARCH_PASSWORD='<OPENSEARCH_PASSWORD>' --env DASHBOARDS_HOST='<DASHBOARDS_HOST>' -- uv --directory path/to/src/opensearch_mcp_server run opensearch-mcp-server~/.codex/config.toml
[mcp_servers.opensearch-server-seohyunjun]
command = "uv"
args = ["--directory", "path/to/src/opensearch_mcp_server", "run", "opensearch-mcp-server"]
env = { OPENSEARCH_HOST = "<OPENSEARCH_HOST>", OPENSEARCH_USERNAME = "<OPENSEARCH_USERNAME>", OPENSEARCH_PASSWORD = "<OPENSEARCH_PASSWORD>", DASHBOARDS_HOST = "<DASHBOARDS_HOST>" }
# codex mcp add opensearch-server-seohyunjun --env OPENSEARCH_HOST='<OPENSEARCH_HOST>' --env OPENSEARCH_USERNAME='<OPENSEARCH_USERNAME>' --env OPENSEARCH_PASSWORD='<OPENSEARCH_PASSWORD>' --env DASHBOARDS_HOST='<DASHBOARDS_HOST>' -- uv --directory path/to/src/opensearch_mcp_server run opensearch-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"opensearch-server-seohyunjun": {
"command": "uv",
"args": [
"--directory",
"path/to/src/opensearch_mcp_server",
"run",
"opensearch-mcp-server"
],
"env": {
"OPENSEARCH_HOST": "<OPENSEARCH_HOST>",
"OPENSEARCH_USERNAME": "<OPENSEARCH_USERNAME>",
"OPENSEARCH_PASSWORD": "<OPENSEARCH_PASSWORD>",
"DASHBOARDS_HOST": "<DASHBOARDS_HOST>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"opensearch-server-seohyunjun": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"path/to/src/opensearch_mcp_server",
"run",
"opensearch-mcp-server"
],
"env": {
"OPENSEARCH_HOST": "<OPENSEARCH_HOST>",
"OPENSEARCH_USERNAME": "<OPENSEARCH_USERNAME>",
"OPENSEARCH_PASSWORD": "<OPENSEARCH_PASSWORD>",
"DASHBOARDS_HOST": "<DASHBOARDS_HOST>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"opensearch-server-seohyunjun": {
"command": "uv",
"args": [
"--directory",
"path/to/src/opensearch_mcp_server",
"run",
"opensearch-mcp-server"
],
"env": {
"OPENSEARCH_HOST": "<OPENSEARCH_HOST>",
"OPENSEARCH_USERNAME": "<OPENSEARCH_USERNAME>",
"OPENSEARCH_PASSWORD": "<OPENSEARCH_PASSWORD>",
"DASHBOARDS_HOST": "<DASHBOARDS_HOST>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"opensearch-server-seohyunjun": {
"command": "uv",
"args": [
"--directory",
"path/to/src/opensearch_mcp_server",
"run",
"opensearch-mcp-server"
],
"env": {
"OPENSEARCH_HOST": "<OPENSEARCH_HOST>",
"OPENSEARCH_USERNAME": "<OPENSEARCH_USERNAME>",
"OPENSEARCH_PASSWORD": "<OPENSEARCH_PASSWORD>",
"DASHBOARDS_HOST": "<DASHBOARDS_HOST>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"opensearch-server-seohyunjun": {
"command": "uv",
"args": [
"--directory",
"path/to/src/opensearch_mcp_server",
"run",
"opensearch-mcp-server"
],
"env": {
"OPENSEARCH_HOST": "<OPENSEARCH_HOST>",
"OPENSEARCH_USERNAME": "<OPENSEARCH_USERNAME>",
"OPENSEARCH_PASSWORD": "<OPENSEARCH_PASSWORD>",
"DASHBOARDS_HOST": "<DASHBOARDS_HOST>"
}
}
}
}Environment variables
OPENSEARCH_HOSTOPENSEARCH_USERNAMEOPENSEARCH_PASSWORDDASHBOARDS_HOST
Replace the placeholders with your own credentials and keep them out of version control.