A side-by-side look at the Microcharts and Tableau Graphql MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Microcharts for data visualization work as a local process; choose Tableau Graphql MCP for data visualization as a local process. You can also run both side by side in one mcpServers block.
find_microchart, get_microchart, render_microchart.TABLEAU_SERVER, TABLEAU_SITE_CONTENT_URL, TABLEAU_PAT_NAME, TABLEAU_PAT_SECRET, TABLEAU_AUTH_TOKEN, TABLEAU_COOKIE, TABLEAU_TIMEOUT, TABLEAU_API_VERSION.graphql_query, introspect_schema, lineage_examples.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Data Visualization | Data Visualization |
| Quality signal | 68/100 · Great | 51/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | TABLEAU_SERVERTABLEAU_SITE_CONTENT_URLTABLEAU_PAT_NAMETABLEAU_PAT_SECRETTABLEAU_AUTH_TOKENTABLEAU_COOKIETABLEAU_TIMEOUTTABLEAU_API_VERSION |
| Verified owner | Community listing | Community listing |
| GitHub stars | 199 | 1 |
| Directory activity | 3 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 3 | 7 |
| Full listing | View Microcharts | View Tableau Graphql MCP |
find_microchartRank microcharts chart types against a plain-language question about data ("is it trending?", "error budget", "part to whole"). Returns candidates with the reason each matched. Start here when you know the question, not the chart.get_microchartFull wiring detail for one chart by slug: import paths, its props plus the shared props, data shape, best/avoid guidance, a copy-runnable example, and `sample` — the example as JSON props you can pass straight to render_microchart.render_microchartRender a chart to a finished, self-contained SVG (styles embedded) plus its generated alt text — for surfaces that can't run React. Pass the series as `data`; put other props (value, target, curve, color, width) in `props`. Each chart takes its own data shape — get_microchart returns a valid `sample` to adapt.graphql_queryRun **any** read-only Metadata API GraphQL query. The general tool for any lineage question.introspect_schemaLive schema introspection: list entry points, or a type's exact fields.lineage_examplesA schema cheat-sheet plus 28 curated question-to-GraphQL templates (8 categories).where_usedWhich workbooks/datasources use given column / field / table names (robust one-hop core-lineage resolution).impact_analysisFull transitive **multi-hop** blast radius of a column/field/table: every dependent field, plus affected sheets, dashboards, workbooks, and **owners to notify**.search_contentFind content whose **name contains** a term (case-insensitive substring), across workbooks, datasources, tables (and optionally fields/columns), with coverage numbers.server_infoConnected server, site, versions, endpoint, auth, and whether Catalog lineage is available.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.
{
"mcpServers": {
"ganapativs-microcharts": {
"command": "npx",
"args": [
"-y",
"@microcharts/mcp"
]
}
}
}
{
"mcpServers": {
"tableau-graphql-mcp": {
"command": "uvx",
"args": [
"tableau-graphql-mcp"
],
"env": {
"TABLEAU_SERVER": "YOUR_TABLEAU_SERVER_HERE",
"TABLEAU_SITE_CONTENT_URL": "YOUR_TABLEAU_SITE_CONTENT_URL_HERE",
"TABLEAU_PAT_NAME": "YOUR_TABLEAU_PAT_NAME_HERE",
"TABLEAU_PAT_SECRET": "YOUR_TABLEAU_PAT_SECRET_HERE",
"TABLEAU_AUTH_TOKEN": "YOUR_TABLEAU_AUTH_TOKEN_HERE",
"TABLEAU_COOKIE": "YOUR_TABLEAU_COOKIE_HERE",
"TABLEAU_TIMEOUT": "YOUR_TABLEAU_TIMEOUT_HERE",
"TABLEAU_API_VERSION": "YOUR_TABLEAU_API_VERSION_HERE"
}
}
}
}