Private Preview - features may change without notice
GramSpec
Start free
Claude Dashboards · Claude Code · Claude Desktop

Connect Claude to your model

Claude Dashboards writes a SQL query for every chart. Pointed at raw tables, it decides the joins and the grain by itself, every time. Pointed at GramSpec, it reads the model your business confirmed first: what one row of each table is, which join cannot multiply rows, which column means what. When the model has no path to a question, Claude says so instead of guessing.

https://gramspec.com/mcp

What Claude gets from the connection

One connection, eight read-only tools, and nothing Claude has to infer from a column name:

  • The model. Every table and column, every relationship as a sentence the business signed off, and for each relationship whether a row must have a match and whether the join can multiply rows. That is what decides an INNER from a LEFT JOIN and keeps a sum from double counting.
  • Each table's dossier. Columns with their types, the key, sample values, and every relationship with the join it requires.
  • Verified SQL. Claude writes its own SQL and runs it through GramSpec, where it is checked against the model before it reaches your database, read-only, with the same guards Reason uses inside GramSpec.
  • What is missing, named. Ask for a number the model has no path to and the answer is what the model would need, never a plausible figure.

Claude Dashboards, step by step

  1. In claude.ai open Customize → Connectors, press Add, then Add custom connector. Name it GramSpec and enter https://gramspec.com/mcp. Claude reads the sign-in method and its own identity from GramSpec on its own; press Add.
  2. Press Connect. Sign in to GramSpec if you are not already, read what the connection may do as you, and press Approve.
  3. On the connector's page, under Tool permissions, set Read-only tools to Always allow. A dashboard cannot use a tool that asks before each call, and every GramSpec tool is read-only.
  4. Open Artifacts → Dashboard and say what you want to see. Name the connector and the graph in the request, for example "Use the GramSpec connector. The graph is When we place an order. Show ordered and cancelled quantity by promise month and the ten vendors with the most cancelled lines." Each chart shows the query that made it.
A Claude Dashboard on a GramSpec star: ordered and cancelled quantity by original promise month, with the headline sentence above the chart.
Claude Dashboards on a star GramSpec built from a buyer's own sentences. The first chart, with the sentence Claude wrote from the numbers.
The vendor chart with its Query toggle open, showing the SQL that ran through GramSpec, a LEFT JOIN from the order line to its order.
The query under a chart. The join to the order is a LEFT JOIN because the model declares that an order line need not have an order on record.
A dashboard card reading Not in this graph: the model declares order lines, deliveries, orders, items and dates, but no stock-on-hand fact, so there is no path from a vendor to stock.
The fourth chart asked for stock on hand by vendor. The model has no inventory table, so Claude drew no number and said what the model would need.

Sharing a dashboard

A shared dashboard runs its queries as each viewer, with that viewer's own GramSpec sign-in. The connector serves a person their own graphs, so a colleague can open the dashboard only when the graph is theirs as well. A dashboard that uses a connector cannot be shared by a public link; viewers need a Claude account in your organization.

Claude Code

One command, then sign in:

claude mcp add --transport http gramspec https://gramspec.com/mcp

Run /mcp inside Claude Code to sign in with your GramSpec account. A key from your profile works too, as a header:

claude mcp add --transport http gramspec https://gramspec.com/mcp \
    --header "X-Api-Key: gramspec_your_api_key_here"

Then ask. "Who are our top customers and what do they buy?" lists the graphs, loads the one you name, writes the SQL, checks it against the model and runs it. A page Claude Code publishes can read the connector at view time, so a live dashboard built in Claude Code works the same way as one built in claude.ai.

Claude Desktop and the mobile app

The same custom connector, added once under Connectors, serves claude.ai, Claude Desktop and the mobile app. Cursor and any other tool that speaks MCP connect with the URL above; the API reference has the settings for each.

The eight tools

ToolWhat Claude gets
list_projectsYour graphs, with whether each can be queried through the connection.
graph_overviewA compact index of every table, column and relationship: the cheap first look.
get_graphThe whole model as the canonical GRAM document.
describe_entityOne table's dossier: columns, key, sample values, every relationship and the join it requires.
search_graphFind a table, a column or a sentence inside a large model.
generate_sqlA question in plain English, answered as SQL verified against the model. This one spends your GramSpec AI allowance.
validate_sqlCheck any SQL against the model without running it. When the model has no path, the verdict names what is missing.
run_queryRun one read-only SELECT on the graph's connected database and get the rows. Free of AI allowance.

Every tool declares itself read-only, so Claude can run it without asking before each call once you have allowed it. The connection reaches only your own graphs and the databases they are connected to.

The plan it needs

The connector is part of the Enterprise plan, the same plan that issues API keys. See Pricing, or send us a message. On the Claude side, Dashboards is in beta on paid plans; on Claude Enterprise an owner turns on two switches under Organization settings, Dashboards under Artifacts and "Enable artifact connectors" under Capabilities.

More

The complete surface, the resource and prompt the connection also serves, and the recipe for a branded analyst of your own are in the API reference. What a model declares and why it is enough for a machine to join correctly is the specification.