Blueprint Chart vs Kibana

A side-by-side look at the Blueprint Chart and Kibana MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Blueprint Chart logoBlueprint ChartData Visualization · Local subprocess (stdio)The open chart format an LLM writes and the browser renders — to interactive, accessible SVG.59GoodAuth: not declaredKibana logoKibanaData Visualization · Local subprocess (stdio)Kibana MCP Server with dynamic API discovery and comprehensive Elastic Stack integration69GreatAuth: api key required

Verdict: choose Blueprint Chart for data visualization work as a local process; choose Kibana for data visualization as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Blueprint Chart logoChoose Blueprint Chart when

  • You need dedicated capabilities in the Data Visualization domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like validate_dsl, inspect_dsl, recommend_chart_type.
Explore Blueprint Chart

Kibana logoChoose Kibana when

  • You need dedicated capabilities in the Data Visualization domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: KIBANA_URL, KIBANA_API_KEY, KIBANA_USERNAME, KIBANA_PASSWORD, KIBANA_COOKIES.
  • You want tools like get_status, execute_kb_api, search_kibana_api_paths.
Explore Kibana

Feature & specification comparison

Rows where the two servers differ are marked.

SpecBlueprint Chart logoBlueprint ChartKibana logoKibana
CategoryData VisualizationData Visualization
Quality signal59/100 · Good69/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredAPI key required
PricingNot declaredFree
Required env varsNone listedKIBANA_URLKIBANA_API_KEYKIBANA_USERNAMEKIBANA_PASSWORDKIBANA_COOKIES
Verified ownerCommunity listingCommunity listing
GitHub stars084
Directory activity 1 views 0 installs 0 upvotes 4 views 0 installs 0 upvotes
Tools1116

Tools & capabilities

Blueprint Chart tools 11

  • validate_dslParse and semantically validate a .bpc source. Returns { valid, errors[], warnings[] }. Errors include unknown chart types, unknown properties, and empty data blocks with nearest-neighbour suggestions.
  • inspect_dslParse a .bpc source and return a structured summary: chartType, scenes, data (rowCount, entryCount, labels, seriesNames, multiSeries), annotation/colorize/highlight/area-fill presence flags, series count.
  • recommend_chart_typeStart here before writing any .bpc. Takes column types, row count, and the user's goal (a prose sentence — it determines the chart family: comparison/ranking/part-to-whole/composition-over-time/trend/range). Returns ranked chart-type recommendations plus guidance.
  • renderRender a .bpc source to SVG (default), PNG, or HTML. With format:"png" the chart comes back as an inline IMAGE you and the user can both see — render, look at the result, fix issues, re-render. Always returns structured frame metadata. When MCP_PUBLIC_URL is set the response includes stateless `urls` ({png,svg,bpc}). Set modelVisible:false to drop the inline image from the response entirely, spending no image tokens (reach the image via `urls.png` or `save`). Pass `save:<path>` to write the output into MCP_FS_WRITE_DIR instead of returning it inline. Width/height are capped at 1600; PNGs are rasterized at 2× for retina sharpness.
  • list_chart_typesReference list of every chart type the renderer supports, with aliases and one-line summaries. To choose a type for a dataset, call recommend_chart_type instead.
  • describe_chart_typeReturn everything an LLM needs to write a .bpc for a given chart type — typically your second call, after recommend_chart_type. Input: { chartType: "bar-horizontal" } (or any canonical/alias name). Returns summary, when-to-use, when-NOT-to-use, full property list with enum choices, data-shape example, and a pointer to a canonical sample.
  • get_exampleReturn a canonical .bpc example. Pass { name } for a specific sample id, { chartType } for the first sample of that type, or no args for a starter sample.
  • search_examplesFind canonical .bpc examples by topic keywords and/or chart type. Returns ranked pointers { id, title, description, chartType } — call get_example with an id to fetch the full DSL.
  • list_palettesList every named colour palette with its label and hex colours, for use in `colorPalette = "<name>"`.
  • get_grammarReturn the .bpc DSL grammar as markdown. Pass { section: "chart" | "data" | "properties" | "scenes" | "annotations" } for a focused subset, or no args for the full grammar.
  • export_chartTurn a validated .bpc source into shareable URLs plus an inline visual preview of what was published. Returns { copyUrl, embedUrl, urls?, frame } and a PNG preview image block so you can confirm the chart looks right before sharing. copyUrl opens an editable copy in the editor; embedUrl is a read-only iframe target; urls.{png,svg,bpc} (when MCP_PUBLIC_URL is set) are stateless rendered-image/source links. Set modelVisible:false to drop the inline preview from the response entirely, spending no image tokens. Requires BLUEPRINT_CHART_EDITOR_URL; preview failures never block the export.

Kibana tools 16

  • get_statusGet Kibana server status with multi-space support
  • execute_kb_apiExecute a custom API request for Kibana with multi-space support. RETRY SAFETY: this tool can reach any write endpoint. A POST retried after a timeout or dropped response can create a duplicate — prefer a caller-chosen stable id (or the vl_* tool for that object type, which documents the safe pattern) over letting the server auto-generate one.
  • search_kibana_api_pathsSearch Kibana API endpoints by keyword
  • list_all_kibana_api_pathsList all Kibana API endpoints as a resource list
  • get_kibana_api_detailGet details for a specific Kibana API endpoint
  • get_available_spacesGet all available Kibana spaces with current context
  • vl_search_saved_objectsSearch for Kibana saved objects using Elasticsearch query syntax. This is a universal tool that can search across all saved object types (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.). IMPORTANT: You must specify the 'types' parameter - it is required by the Kibana API. PERFORMANCE TIPS: Always use 'fields' parameter to specify only needed fields (e.g., ['title', 'description']) for faster responses. Use 'perPage' 5-20 for optimal speed. PAGINATION: To get all results, make multiple requests with incrementing 'page' numbers (page=1, page=2, etc.) until you receive fewer results than 'perPage'. Don't stop at the first page - iterate through all pages for complete data. Returns formatted saved object information including type, title, description, and timestamps.
  • vl_get_saved_objectGet a single Kibana saved object by type and ID. This is a universal tool that can retrieve any type of saved object (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.) by its exact type and ID. Use this when you know the specific object you want to retrieve. PERFORMANCE: This is much faster than searching when you have the exact type and ID.
  • vl_bulk_delete_saved_objectsBulk delete multiple Kibana saved objects by type and ID. This is a destructive operation that permanently removes saved objects (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.). WARNING: Deleted objects cannot be recovered. Use with caution. IMPORTANT: Objects that exist in multiple namespaces require the 'force' parameter to be deleted.
  • vl_create_saved_objectCreate a new Kibana saved object (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.). This is a universal tool that can create any type of saved object by specifying the type and attributes. Each object type has specific attribute requirements. IMPORTANT: The 'title' field is required for most object types. Complex fields like panelsJSON, visState should be JSON strings.
  • vl_update_saved_objectUpdate a single Kibana saved object by type and ID. This performs a partial update - only the specified attributes will be changed, other attributes remain unchanged. Supports all saved object types (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.). IMPORTANT: Use version parameter for optimistic concurrency control to prevent conflicts.
  • vl_bulk_update_saved_objectsUpdate multiple Kibana saved objects in a single operation. Each object can be of different types and will be partially updated (only specified attributes changed). Supports all saved object types (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.). PERFORMANCE: More efficient than multiple single updates. Each object can have individual version control.
  • +4 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Blueprint Chart

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "blueprint-chart": {
      "command": "npx",
      "args": [
        "-y",
        "@blueprint-chart/mcp"
      ]
    }
  }
}

Kibana

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "kibana": {
      "command": "npx",
      "args": [
        "-y",
        "@tocharianou/mcp-server-kibana"
      ],
      "env": {
        "KIBANA_URL": "YOUR_KIBANA_URL_HERE",
        "KIBANA_API_KEY": "YOUR_KIBANA_API_KEY_HERE",
        "KIBANA_USERNAME": "YOUR_KIBANA_USERNAME_HERE",
        "KIBANA_PASSWORD": "YOUR_KIBANA_PASSWORD_HERE",
        "KIBANA_COOKIES": "YOUR_KIBANA_COOKIES_HERE"
      }
    }
  }
}

Frequently asked questions

Blueprint Chart is categorized under Data Visualization and uses a local stdio subprocess. Kibana belongs to Data Visualization and uses a local stdio subprocess. Pick Blueprint Chart for data visualization work and Kibana for data visualization.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Blueprint Chart has no declared pricing — check the project's own site. Kibana is listed as free. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add blueprint-chart and kibana as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Blueprint Chart has a quality signal of 59/100 (Good) with 1 views, 0 installs and 0 GitHub stars. Kibana has 69/100 (Great) with 4 views, 0 installs and 84 GitHub stars.