A side-by-side look at the Blueprint Chart and Dgmo MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Blueprint Chart for data visualization work as a local process; choose Dgmo MCP for data visualization as a local process. You can also run both side by side in one mcpServers block.
validate_dsl, inspect_dsl, recommend_chart_type.render_diagram, validate_diagram, suggest_chart_type.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Data Visualization | Data Visualization |
| Quality signal | 59/100 · Good | 57/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 3 |
| Directory activity | 1 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 11 | 14 |
| Full listing | View Blueprint Chart | View Dgmo MCP |
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.render_diagramRender DGMO markup to **SVG or PNGvalidate_diagramCheck markup and report parse errors, without renderingsuggest_chart_typeSuggest the chart types that fit a descriptionlist_chart_typesList all supported chart types, marking the beta onesget_language_referenceGet DGMO syntax documentation for accurate generationget_examplesFetch worked examples for a chart typeshare_diagramGet a shareable **diagrammo.app** URL — hand your diagram to the web editoropen_in_appOpen the diagram **straight into the Diagrammo desktop app** for editingcheck_app_installedReport whether the desktop app is installedpreview_diagramRender one or more diagrams and open an **HTML preview** in the browsergenerate_reportBuild a polished **multi-section HTML report** with ToC and optional sourceput_space_diagramWrite a diagram into a **Diagrammo Cloud space**, by folder and titlePaste 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.
{
"mcpServers": {
"blueprint-chart": {
"command": "npx",
"args": [
"-y",
"@blueprint-chart/mcp"
]
}
}
}
{
"mcpServers": {
"dgmo-mcp": {
"command": "npx",
"args": [
"-y",
"@diagrammo/dgmo-cli"
]
}
}
}