Kibana Dashboard Builder MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
pip install -r requirements.txt
KIBANA_ENDPOINT=https://... ELASTIC_API_KEY=... python main.py
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "KIBANA_ENDPOINT=${KIBANA_ENDPOINT}" -e "ELASTIC_API_KEY=${ELASTIC_API_KEY}" kibana-dashboard-builder -- python "<FULL_PATH_TO_KIBANA_MCP_SERVER>/dist/index.js"

Replace <FULL_PATH_TO_KIBANA_MCP_SERVER>/dist/index.js with the actual folder you prepared in step 1.

Required:KIBANA_ENDPOINTELASTIC_API_KEY+ 1 optional
README.md

Create and manage Kibana dashboards, Lens visualizations, and data views.

Kibana Dashboard Builder — MCP Server

A Model Context Protocol (MCP) server that gives the Elastic Dashboard Architect AI agent the ability to create Kibana dashboards, Lens visualizations, and data views via the Kibana Saved Objects API.

Tools Exposed

Tool Description
list_data_views List existing Kibana data views
create_data_view Create a new data view for an index
list_dashboards List existing dashboards
get_dashboard Get a dashboard's full definition
create_lens_visualization Create a Lens visualization (bar, line, metric, donut, etc.)
create_dashboard Assemble visualizations into a dashboard

Deploy to Render.com (Free — 5 minutes)

  1. Push this repo to GitHub

    cd /path/to/kibana-mcp-server
    git init && git add . && git commit -m "Initial commit"
    gh repo create kibana-mcp-server --public --push
    
  2. Go to render.com → New → Web Service

    • Connect your GitHub repo
    • Render auto-detects render.yaml
  3. Set Environment Variables in Render dashboard:

    KIBANA_ENDPOINT        = https://your-cluster.kb.us-east-2.aws.elastic-cloud.com
    ELASTIC_API_KEY        = your-base64-api-key
    ELASTIC_CLOUD_ENDPOINT = https://your-cluster.es.us-east-2.aws.elastic-cloud.com
    
  4. Copy your Render URL (e.g. https://kibana-mcp-server.onrender.com)

  5. Update the Kibana MCP connector to point to your Render URL:

    curl -X PUT "https://your-cluster.kb.../api/actions/connector/YOUR_CONNECTOR_ID" \
      -H "Authorization: ApiKey YOUR_API_KEY" \
      -H "kbn-xsrf: true" \
      -H "Content-Type: application/json" \
      -H "elastic-api-version: 2023-10-31" \
      -d '{
        "name": "Kibana Dashboard Builder",
        "config": {"serverUrl": "https://kibana-mcp-server.onrender.com", "headers": {"Content-Type": "application/json"}},
        "secrets": {}
      }'
    
  6. Done. The Dashboard Architect agent now has a permanent, always-available backend.

Local Development

pip install -r requirements.txt
KIBANA_ENDPOINT=https://... ELASTIC_API_KEY=... python main.py

Architecture

Dashboard Architect (Kibana AI Agent)
  ↓  calls tools via
Kibana .mcp connector
  ↓  HTTP POST to
THIS SERVER (Render.com — permanent HTTPS URL)
  ↓  calls Kibana Saved Objects API
Kibana → creates dashboard, lens viz, data views

Also compatible with Claude Desktop, Cursor, VS Code via:

https://your-cluster.kb.../api/agent_builder/mcp

Tools (6)

list_data_viewsList existing Kibana data views
create_data_viewCreate a new data view for an index
list_dashboardsList existing dashboards
get_dashboardGet a dashboard's full definition
create_lens_visualizationCreate a Lens visualization (bar, line, metric, donut, etc.)
create_dashboardAssemble visualizations into a dashboard

Environment Variables

KIBANA_ENDPOINTrequiredThe URL of your Kibana instance
ELASTIC_API_KEYrequiredBase64 encoded Elastic API key
ELASTIC_CLOUD_ENDPOINTThe URL of your Elastic Cloud instance

Configuration

claude_desktop_config.json
{"mcpServers": {"kibana": {"command": "python", "args": ["main.py"], "env": {"KIBANA_ENDPOINT": "https://your-cluster.kb.us-east-2.aws.elastic-cloud.com", "ELASTIC_API_KEY": "your-base64-api-key"}}}}

Try it

List all existing dashboards in my Kibana instance.
Create a new Lens bar chart visualization showing the count of logs over the last 24 hours.
Create a new dashboard named 'System Health' and add the existing 'CPU Usage' visualization to it.
List all available data views to see which indices are currently configured.

Frequently Asked Questions

What are the key features of Kibana Dashboard Builder?

Programmatic creation of Kibana dashboards. Automated generation of Lens visualizations. Management of Kibana data views. Integration with Kibana Saved Objects API. Support for natural language dashboard assembly.

What can I use Kibana Dashboard Builder for?

Automating the creation of standard operational dashboards for new projects.. Rapidly generating visualizations from natural language requests during incident response.. Syncing dashboard definitions across multiple Kibana environments.. Enabling AI agents to perform data exploration tasks directly within Kibana..

How do I install Kibana Dashboard Builder?

Install Kibana Dashboard Builder by running: pip install -r requirements.txt && KIBANA_ENDPOINT=https://... ELASTIC_API_KEY=... python main.py

What MCP clients work with Kibana Dashboard Builder?

Kibana Dashboard Builder works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Kibana Dashboard Builder docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare