Skip to main content
Glama
README.md
<p align="center">
  <img src="https://raw.githubusercontent.com/Browncabinet/tablecharts-mcp-server/main/assets/logo.png" alt="TableCharts logo" width="128" height="128" />
</p>
# @tablecharts/mcp-server

[![npm](https://img.shields.io/npm/v/@tablecharts/mcp-server.svg)](https://www.npmjs.com/package/@tablecharts/mcp-server)

MCP server for [TableCharts](https://tablecharts.co) — turn tables (CSV, JSON, Notion, Google Sheets, Salesforce) into shareable interactive dashboards, directly from Claude, Cursor, VS Code, or any other [MCP](https://modelcontextprotocol.io) client.

## Why

LLMs are great at producing structured data but terrible at producing real charts. This server gives any MCP-aware assistant a one-shot tool to convert tabular data into a hosted, embeddable dashboard with a public URL.

## Install

```bash
npm i -g @tablecharts/mcp-server
```

Or run on demand with `npx -y @tablecharts/mcp-server` — no install needed.

## Get an API key

1. Sign up at <https://tablecharts.co>
2. Open <https://tablecharts.co/api-keys>
3. Create a key starting with `tc_live_…`

## Configure your MCP client

### Claude Desktop

Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "tablecharts": {
      "command": "npx",
      "args": ["-y", "@tablecharts/mcp-server"],
      "env": {
        "TABLECHARTS_API_KEY": "tc_live_..."
      }
    }
  }
}
```

Restart Claude Desktop. The `generate_dashboard` tool will appear in the tools menu.

### Cursor

Add to `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "tablecharts": {
      "command": "npx",
      "args": ["-y", "@tablecharts/mcp-server"],
      "env": { "TABLECHARTS_API_KEY": "tc_live_..." }
    }
  }
}
```

### VS Code (with MCP extension)

```json
{
  "mcp.servers": {
    "tablecharts": {
      "command": "npx",
      "args": ["-y", "@tablecharts/mcp-server"],
      "env": { "TABLECHARTS_API_KEY": "tc_live_..." }
    }
  }
}
```

## Tools

| Tool | Description |
| --- | --- |
| `generate_dashboard` | Create a dashboard from `data` (JSON rows), `csv` (string), or `source_url` (Notion / Google Sheets / Salesforce). Returns `dashboard_url`, `embed_url`, `iframe_code`. |
| `list_chart_types` | Returns the 6 supported chart types: `bar`, `line`, `area`, `pie`, `scatter`, `radar`. |

### Example prompts

- *"Chart my monthly revenue: Jan 12k, Feb 15k, Mar 18k, Apr 22k. Use TableCharts."*
- *"Pull this Notion database and build a dashboard: https://notion.so/…"*
- *"Take this CSV and pick the best chart type automatically."*

## Environment variables

| Variable | Required | Description |
| --- | --- | --- |
| `TABLECHARTS_API_KEY` | yes | Your `tc_live_…` key from <https://tablecharts.co/api-keys> |
| `TABLECHARTS_API_BASE` | no | Override the API base (default `https://tablecharts.co`) |

## Limits

- Free tier: 3 saved charts, 30 requests/minute.
- Pro tier: unlimited charts, AI cleaning, AI chart recommendation, custom colors, no watermark.

## License

MIT

TDQS

A4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: generate_dashboard creates dashboards, while list_chart_types provides metadata about available chart types. No overlap or ambiguity.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern (generate_dashboard, list_chart_types), using snake_case and clear verbs.

Tool Count3/5

With only 2 tools, the server is minimal but functional for its stated purpose of creating dashboards. However, it feels thin compared to typical server scopes.

Completeness2/5

The tool set covers only dashboard creation and chart type listing, missing obvious lifecycle operations like updating, deleting, or retrieving existing dashboards, leading to significant gaps.

Maintenance

ActivityStale
ResponsivenessResponsive