Skip to main content
Glama
SuriyaKumar-HAIT

OpenSearch MCP Server

Open WebUI + OpenSearch MCP (Single Repo)

This repository starts everything with one Docker Compose command:

  • OpenSearch: http://localhost:9200

  • OpenSearch Dashboards: http://localhost:5601

  • MCP Server: http://localhost:3001/mcp

  • Open WebUI: http://localhost:3002

Security Notes (Important)

  • This stack is for local development/testing.

  • OpenSearch security plugins are disabled in docker-compose.yml.

  • Do not expose these ports directly to the public internet.

  • Never commit a real .env file with secrets.

1. Setup

copy .env.example .env

Edit .env and set:

  • WEBUI_SECRET_KEY to a long random value (required)

  • OPENAI_API_KEY (optional)

2. Start All Services

docker compose up -d --build

Check status:

docker compose ps

3. Configure MCP Tool Server in Open WebUI

  1. Open http://localhost:3002 and sign in as admin.

  2. Go to Admin Panel -> Settings -> Tools (or Tool Servers, depending on Open WebUI version).

  3. Add a new tool server with:

    • Type: MCP

    • Name: OpenSearch MCP

    • ID: opensearch_mcp

    • URL: http://opensearch-mcp:3001/mcp

    • Auth: None

  4. Save the server and run connection check/sync if the button is available.

  5. Confirm tools are visible (for example cluster_health, list_indices, search_indices).

If your environment cannot resolve Docker service names from Open WebUI, use:

  • http://host.docker.internal:3001/mcp

4. Attach MCP Tools to One Model (Example: GPT-4o mini)

  1. In Open WebUI, ensure your OpenAI provider is configured with your API key.

  2. Open Models and select gpt-4o-mini (or create a custom model entry mapped to gpt-4o-mini).

  3. Enable model capabilities for tools/function calling.

  4. In the model tool settings, allow/select only the opensearch_mcp tool server.

  5. Save the model configuration.

  6. Start a new chat and pick gpt-4o-mini.

  7. In chat tool controls, ensure tools are enabled and opensearch_mcp is active.

Note: exact menu labels differ slightly by Open WebUI version, but the flow is always: Tool Server setup -> Model tool enablement -> Enable tools in chat.

5. Verify

Use the configured model (gpt-4o-mini) and send:

Use MCP tools only.
Call cluster_health and return cluster_name, status, number_of_nodes, active_primary_shards.
Do not answer from memory.

Expected behavior:

  • The assistant performs a tool call to cluster_health.

  • The response includes live cluster fields from OpenSearch.

6. Stop

docker compose down

To remove volumes too:

docker compose down -v

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SuriyaKumar-HAIT/Opensearch_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server