Skip to main content
Glama

Server Details

AI-native data layer: sheets, databases and apps for every agent, with exact answers and audit.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
datatomcp/datatomcp-mcp
GitHub Stars
0
Server Listing
datatomcp
ChatGPT
–
Claude
datatomcp

TDQS

A3.6/5.0

Scored across 11 tools

Disambiguation4/5

Most tools have clearly distinct roles: aggregate for metrics, query_rows for raw rows, chart for visual output, distinct_values for spellings, and separate list/describe tools for catalog metadata. There is mild overlap between chart (which runs an aggregate-like query) and aggregate itself, and between distinct_values and aggregate's count_distinct, but the descriptions make the intended use of each reasonably clear.

Naming Consistency4/5

Nine of eleven tools follow a verb_noun pattern (create_dashboard, describe_dataset, list_datasets, query_rows, refresh_dashboard, report_issue, workspace_overview, etc.). The two bare names (aggregate, chart) are minor deviations but remain readable and unambiguous.

Tool Count5/5

Eleven tools is a well-scoped set for an analytics/BI server: querying, aggregation, charting, dashboard lifecycle, and catalog discovery each earn their place without redundancy.

Completeness4/5

The surface covers discovery (workspace_overview, list_datasets, describe_dataset), querying (query_rows, aggregate, distinct_values), charting, and dashboard create/list/refresh, which handles the core workflows. There is no delete_dashboard or update_dashboard tool, but the description states users edit and manage dashboards in the app, so those gaps are workable.

Publisher details

Operator
datatomcp, built and run by Killian Helf (sole founder), The Hague, the Netherlands · Publisher source
Operator website
https://datatomcp.com
Vendor relationship
First-party
Restrictions
Requires a datatomcp account (sign in through OAuth when connecting). Free plan: 3 datasets, 100,000 rows each. Pro ($12 or €12 a month): 25 datasets, 2M rows each. Data is stored in the EU. No admin approval, regional limit or custom OAuth app needed. · Publisher source

Available Tools

11 tools
aggregateAggregateA
Read-onlyIdempotent
Inspect

Totals, counts, averages, min and max, optionally grouped. Metrics: count, count_distinct, sum, avg, min, max, or { metric: name } for one of the team's approved definitions (describe_dataset lists them). order_by may use group columns or metric names. where, group_by and metrics may use columns of linked datasets as alias.column (see describe_dataset links). sum, avg and count of a linked column count each linked row once per group (a customer's credit limit once, however many orders), so revenue and target by country can come from one call.

Inputs: dataset_id (required), grain, limit, where, +5 more.

chartChartA
Read-onlyIdempotent
Inspect

Draw a chart from a query on a dataset: the query runs like aggregate (or query_rows when it has select), then result columns map onto the chart. x is the group_by column for the axis or categories; y lists metric names (or columns); series splits line, area, columns and bar into one series per value. grain (day, week, month, quarter, year) groups a date column in group_by by that period. mode draws columns and bars stacked, grouped or as 100%. variance, bullet and scorecard take two y columns (actual, then plan or target); candlestick takes four (open, high, low, close). Measures defined as lower is better (costs) are coloured the right way round. Write the title as the takeaway ("Asia Pacific grew fastest in 2026"), not a label, and the subtitle as the measure and unit. Returns the SVG and the chart spec. Charts: line, area, columns, bar, donut, treemap, waffle, funnel, pareto, scatter, heatmap, histogram, kpi, table, variance, bullet, waterfall, scorecard, combo, radar, candlestick, gauge, box, dotPlot.

Inputs: chart (required), dataset_id (required), x, y, +19 more.

create_dashboardCreate dashboardAInspect

Make a dashboard in one of the user's workspaces from queries on its datasets. type story: slides, each with a title and blocks, for a narrative (a monthly review). type board: one page of charts and KPIs with little text. Blocks: { kind: "chart", dataset_id, query (as aggregate takes it: group_by, grain, metrics, where, order_by, limit), chart: { chart, x, y, series, title, subtitle, format, mode, … as the chart tool } }, { kind: "kpi", dataset_id, query: { metrics }, title }, { kind: "text", text }, { kind: "commentary", prompt } (written from the numbers on its slide or board, on the user's own AI key at each refresh), { kind: "shape", shape: "rect" | "ellipse" | "line" | "arrow" }. Optional layout: story { x, y, w, h } in percent of a 16:9 slide; board { x, w } in 12 columns, { y, h } in rows. Leave it out and blocks are laid out for you. Optional style: { fontSize, titleSize, subtitleSize, color, fill, stroke, align, weight }. Charts are drawn at once; write each chart title as the takeaway. Returns the dashboard and its link; the user edits, comments and refreshes it in the app. Only the workspace's own datasets can be used.

Inputs: type (required), title (required), mode, blocks, +3 more.

describe_datasetDescribe datasetB
Read-onlyIdempotent
Inspect

Columns (id, original name, type, what each means, unit, role, whether it can be summed, range and examples), the team's approved metric definitions with their tie-out checks and glossary, links to other datasets (columns usable as alias.column), data quality (warnings, duplicate rows, empty values), freshness, and the server's current date for resolving relative dates.

Inputs: dataset_id (required).

distinct_valuesDistinct valuesB
Read-onlyIdempotent
Inspect

Most frequent values of a column with counts. Use it to get exact spellings (e.g. "France" vs "FR") before filtering.

Inputs: column (required), dataset_id (required), limit, where, +1 more.

list_dashboardsList dashboardsC
Read-onlyIdempotent
Inspect

The dashboards in the user's workspaces: id, title, type (story or board), owner, when last refreshed, and the link.

Inputs: workspace_id.

list_datasetsList datasetsA
Read-onlyIdempotent
Inspect

Datasets this account can query, with row counts and when each was last refreshed.

Inputs: no named parameters.

query_rowsQuery rowsA
Read-onlyIdempotent
Inspect

Return matching rows. Filter with where, choose columns with select, sort with order_by. Columns of linked datasets work as alias.column. At most 1,000 rows; page with offset.

Inputs: dataset_id (required), limit, where, offset, +3 more.

refresh_dashboardRefresh dashboardA
Idempotent
Inspect

Re-run every query of a dashboard on the latest data, exactly as saved, and redraw its charts and numbers. Nothing is deleted: the data is untouched, and text blocks (commentary) keep exactly what they say; people rewrite commentary in the app. Returns what ran and the refreshed dashboard.

Inputs: dashboard_id (required).

report_issueReport an issueAInspect

Tell the datatomcp team about a real problem with this data or these tools: a column with the wrong type, values missing that the user says exist, an error message you could not act on, or a result the user says is wrong. Use it rarely, only for problems you could not work around, never for ordinary questions or empty results. Describe what you called and what went wrong; do not include personal data or result values.

Inputs: message (required), category (required), dataset_id.

workspace_overviewWorkspace overviewA
Read-onlyIdempotent
Inspect

What you can answer, in one call: per workspace, every dataset with a one-line description, its columns (role, unit, whether they can be summed, what they mean) and freshness; the team's approved definitions; the links between datasets (columns usable as alias.column); the glossary; and five example questions, each with the exact tool call that answers it. Call it first.

Inputs: workspace_id.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      A
      maintenance
      Agent-native semantic layer, letting AI agents query databases through specifying intent instead of writing SQL, then compiling structured queries into correct, dialect-aware SQL. Dynamic and expressive, supporting multi-stage queries, time-shifts, and complex join schemas.
      20
      5,526 PyPI
      340
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Turns your data model into a semantic layer for AI agents, automatically generating typed, discoverable tools with entity relationships and schema discovery.
      31 PyPI
      643
      Apache 2.0
    • A
      license
      Not graded
      quality
      B
      maintenance
      Turns Google Sheets, CSV, Excel, and Parquet files into durable, queryable data for AI agents. Lets clients securely discover datasets, inspect semantic models, run bounded analytics, and manage approved semantic overlays.
      Apache 2.0
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.