datatomcp MCP server
Commit Nov 11, 2026Provides an AI-native data layer that connects agents to Google Sheets, databases, and apps with exact answers and an audit trail.
Also known as datatomcp/datatomcp-mcp, datatomcp-mcp
- Stars
- 0
- Tools
- 17
- Downloads, 30 days
- —
- Latest version
- 1.3.0
- Last commit
- Nov 11, 2026
- License
- MIT
What is datatomcp MCP?
datatomcp provides an AI-native data layer that connects agents to Google Sheets, databases, and apps with exact answers and an audit trail. It exposes 17 tools, such as workspace_overview, list_datasets, describe_dataset.
Summary generated from the project's README
About datatomcp MCP server
datatomcp serves as a governed data layer designed for teams that need to connect AI agents to various information sources without a dedicated data team. It integrates with Google Sheets, CSV and Excel files, PostgreSQL, MySQL, Stripe, HubSpot, and Airtable. Instead of manual setup, agents propose definitions for metrics and links between datasets, which human users then approve within the application. This ensures that business logic remains consistent across different AI interactions.
The service is hosted and requires no local installation, functioning via a single URL for any client supporting remote MCP servers. It uses OAuth 2.1 for authentication, removing the need to manage API keys manually. Users can connect popular clients like Claude, ChatGPT, Cursor, and Windsurf. For data processing, it utilizes DuckDB to provide exact sums, counts, and averages. The platform also includes an audit trail that records every question asked by an agent, including the specific data version used for the answer.
What you can do with it
- 1Calculate exact business metricsAsk an agent to calculate specific revenue or order totals using approved business definitions.
- 2Visualize data in chatRequest the agent to generate a visual representation of query results directly within the conversation.
- 3Monitor agent activityTrack which agents are asking questions and what specific queries they are running against your datasets.
Written from the project's README. Every use case is checked against a quote from it.
How to install datatomcp MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall datatomcp MCP in Claude Code
$ claude mcp add --transport http datatomcp-mcp https://app.datatomcp.com/mcpInstall datatomcp MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"datatomcp-mcp": {
"url": "https://app.datatomcp.com/mcp"
}
}
}Install datatomcp MCP in VS Code
.vscode/mcp.json
{
"servers": {
"datatomcp-mcp": {
"type": "http",
"url": "https://app.datatomcp.com/mcp"
}
}
}Install datatomcp MCP in VS Code CLI
$ code --add-mcp '{"name":"datatomcp-mcp","type":"http","url":"https://app.datatomcp.com/mcp"}'Install datatomcp MCP in Codex
$ codex mcp add datatomcp-mcp --url https://app.datatomcp.com/mcpInstall datatomcp MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.datatomcp-mcp] url = "https://app.datatomcp.com/mcp"
Install datatomcp MCP in Gemini CLI
$ gemini mcp add -s user --transport http datatomcp-mcp https://app.datatomcp.com/mcpInstall datatomcp MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"datatomcp-mcp": {
"url": "https://app.datatomcp.com/mcp",
"type": "http"
}
}
}datatomcp MCP tools 17
Detected from the READMEworkspace_overviewlist_datasetsdescribe_datasetquery_rowsaggregatedistinct_valueschartcreate_dashboardlist_dashboardsrefresh_dashboardreport_issuepropose_definition
| workspace_overview | — | |
| list_datasets | — | |
| describe_dataset | — | |
| query_rows | — | |
| aggregate | — | |
| distinct_values | — | |
| chart | — | |
| create_dashboard | — | |
| list_dashboards | — | |
| refresh_dashboard | — | |
| report_issue | — | |
| propose_definition | — |
Show all 17 toolsShow fewer tools
propose_linkpropose_termpropose_briefconnect_sourceactivity
| propose_link | — | |
| propose_term | — | |
| propose_brief | — | |
| connect_source | — | |
| activity | — |
Automated checks
Ran Nov 14, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work · What to fix for more points
- Source repository linked and reachabledatatomcp/datatomcp-mcp is public and reachablegithub.com/datatomcp/datatomcp-mcp ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-11github.com/datatomcp/datatomcp-mcp ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model17 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNo tool named like delete, drop or execPass
- Remote endpoint answers the MCP handshakeHTTPS endpoint answered 401 (sign-in required)Pass
README
View on GitHubdatatomcp is one governed place for a team's data, that every AI agent can ask: Google Sheets, CSV and Excel files, PostgreSQL and MySQL, Stripe, HubSpot and Airtable. Connect your data once. Agents do the setup work: they propose the definitions of what each number means, the links between datasets and the business brief, and a person approves them in the app. Every question an agent asks is recorded. Agents (Claude, ChatGPT, Cursor, n8n and others) query it over MCP or REST, and a database computes the answer, so totals are exact. News: datatomcp is now an AI-native data layer (4 Nov 2026).
- Hosted. Nothing to install or run. One URL works in every client that supports remote MCP servers.
- OAuth sign-in. No API key to paste into your agent. You can revoke access at any time.
- Exact, versioned results. Counts, sums and averages come from DuckDB. Every result names the dataset version it came from and links to the rows behind it.
- Shared definitions. Approved definitions like
paid_revenueand a glossary of your team's words. For a business number, an agent first uses the approved definition and checks that it ties; when none exists, it proposes one and a person approves it. The answer says who approved the definition. - Agents propose, people approve. Definitions, links, glossary terms and the business brief that agents propose wait under To approve in the app. Only approved ones reach agents. Each agent connection is set to Build (can propose) or Analyze (reads only).
- Audit trail. Every agent question is kept: who asked, from which agent, the query, the data version. Repeated questions are compared. Export as CSV.
- Linked datasets. Orders, customers and regions in one question, with unmatched rows counted.
- Charts and dashboards. The
charttool draws the answer in the chat (52 chart types, as an MCP Apps view). Agents make dashboards from your questions and refresh them later; dashboards never change your data. - Workspaces. Owners, editors and viewers; each agent connection can be limited to some workspaces.
- Private Google Sheets. You pick the sheet in Google's file picker, and datatomcp can read that file only. Pro syncs within 5 minutes of an edit.
- Import report. Bad lines, numbers stored as text and mixed date formats are reported before any agent sees the data.
- Read-only data. Agents can query your data, but they can't change it or run raw SQL. The only tools that write create dashboards, send your team a note, or propose something a person must approve.
- Hosted in the EU. Your data is never used for training. AI features inside datatomcp (cleaning suggestions, an assistant on your own key) are off until you turn them on.
This repository holds the public documentation and client configuration. The service itself runs at app.datatomcp.com.
Server
| URL | https://app.datatomcp.com/mcp |
| Transport | Streamable HTTP |
| Auth | OAuth 2.1 (dynamic client registration and client ID metadata documents) |
| Registry name | com.datatomcp/datatomcp |
Quick start
- Sign up at app.datatomcp.com (free, no card).
- Add a dataset: upload a CSV or Excel file, choose a Google Sheet, or connect PostgreSQL, MySQL, Stripe, HubSpot or Airtable. New accounts start with an example dataset.
- Add the server to your client (below), sign in when asked, and ask a question about your data.
Tools
| Tool | What it does |
|---|---|
workspace_overview |
Every dataset with what its columns mean, the approved definitions, the links between datasets and example questions, in one call |
list_datasets |
Your datasets, with row counts and freshness |
describe_dataset |
Columns, types, example values, approved definitions, glossary, links to other datasets, data warnings and today's date |
query_rows |
Filter, sort, select columns and paginate (up to 1,000 rows per call) |
aggregate |
Group by columns; count, distinct count, sum, average, min and max, or a saved definition by name |
distinct_values |
The real values in a column, so filters match exactly |
chart |
Draws a query's answer as a chart in the conversation, with the takeaway as the title |
create_dashboard |
Makes a dashboard (a one-page board or a short story of slides) in your workspace |
list_dashboards |
The workspace's dashboards |
refresh_dashboard |
Re-runs a dashboard on the current data |
report_issue |
Sends your team a note about a data problem |
propose_definition |
Proposes a metric definition (e.g. revenue); it waits until an owner or editor approves it |
propose_link |
Proposes a link between two datasets, checked against the data first |
propose_term |
Proposes a glossary term for the team's words |
propose_brief |
Proposes the workspace's business brief (what the company sells, to whom, currency, fiscal year) |
connect_source |
Starts a connection to a database, app or file (imports a public link at once) |
activity |
What agents asked and changed in the workspace recently |
Filters support eq, neq, gt, gte, lt, lte, in, not_in, contains, starts_with, between, is_null and not_null.
Client setup
Claude (Claude.ai and Claude Desktop)
Settings → Connectors → Add custom connector. Paste https://app.datatomcp.com/mcp, name it datatomcp, connect, and allow access.
Claude Code
claude mcp add --transport http datatomcp https://app.datatomcp.com/mcp
Then run /mcp, choose datatomcp and sign in.
ChatGPT
Settings → Apps & Connectors → Advanced, and turn on developer mode. Create a connector with the URL above and OAuth authentication, then sign in.
Cursor
Settings → MCP → Add new server. Choose type HTTP and use the URL above. Cursor asks you to log in the first time.
VS Code
.vscode/mcp.json:
{
"servers": {
"datatomcp": { "type": "http", "url": "https://app.datatomcp.com/mcp" }
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"datatomcp": { "serverUrl": "https://app.datatomcp.com/mcp" }
}
}
Cline
Open the MCP Servers panel → Remote Servers, name it datatomcp, and use the URL above. Or add it to cline_mcp_settings.json:
{
"mcpServers": {
"datatomcp": { "type": "streamableHttp", "url": "https://app.datatomcp.com/mcp" }
}
}
Antigravity
Customizations → MCP servers → View raw config (mcp_config.json):
{
"mcpServers": {
"datatomcp": { "serverUrl": "https://app.datatomcp.com/mcp" }
}
}
Click Refresh, then Authenticate.
OpenCode
opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"datatomcp": { "type": "remote", "url": "https://app.datatomcp.com/mcp" }
}
}
Codex
codex mcp add datatomcp --url https://app.datatomcp.com/mcp
codex mcp login datatomcp
Gemini CLI
gemini mcp add --transport http datatomcp https://app.datatomcp.com/mcp
Then run /mcp auth datatomcp.
Clients with local (stdio) servers only
Use mcp-remote as a bridge. It handles the sign-in:
{
"mcpServers": {
"datatomcp": { "command": "npx", "args": ["-y", "mcp-remote", "https://app.datatomcp.com/mcp"] }
}
}
Example
How many orders came from France in September, and what was the revenue?
The agent calls describe_dataset to learn the columns, then one aggregate call:
{
"dataset_id": "ds_orders",
"where": [
{ "column": "country", "op": "eq", "value": "France" },
{ "column": "order_date", "op": "between", "value": ["2026-09-01", "2026-09-30"] }
],
"metrics": [
{ "fn": "count", "as": "orders" },
{ "fn": "sum", "column": "total", "as": "revenue" }
]
}
On our 50,000-row test sheet, it answers with 277 orders and €50,279.50 in revenue. The tool result is 32 bytes, not the whole sheet.
REST API
The same datasets, definitions and query engine are available over REST with an API key, for apps and automations such as n8n, Make or Zapier. Reference: datatomcp.com/docs/api. OpenAPI 3.1: datatomcp.com/openapi.json.
Plans
| Free | Pro ($12 or €12 a month) | |
|---|---|---|
| Datasets | 3 | 25 |
| Rows per dataset | 100,000 | 2,000,000 |
| Queries per day | 1,000 | 50,000 |
| Workspaces | 1, 2 people | 3, 5 people each |
| Audit history | 30 days | 90 days |
| Google Sheets sync | On demand | Within 5 minutes |
Guides
- Connect Google Sheets to Claude
- Google Sheets MCP server
- CSV MCP server
- Analyze large CSVs with AI
- Shared definitions for AI agents
- Audit what your AI agents asked
Support
Questions, bugs or a file that doesn't import the way you expect: hello@datatomcp.com, or open an issue in this repository.
License
The documentation and configuration in this repository are MIT licensed. The datatomcp service is proprietary.
datatomcp MCP questions
How do I add datatomcp MCP to Claude Code?
Run claude mcp add --transport http datatomcp-mcp https://app.datatomcp.com/mcp in your terminal. Add --scope user to make it available in every project.
How do I add datatomcp MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does datatomcp MCP provide?
It exposes 17 tools, including workspace_overview, list_datasets, describe_dataset, query_rows, aggregate.
How is data security handled?
Your data is hosted in the EU and is never used for training. AI features are off by default unless you turn them on.
Can agents change my data?
No, agents can query your data but cannot change it or run raw SQL. They can only use tools that create dashboards or propose changes for human approval.
What kind of data sources can I connect?
You can connect Google Sheets, CSV and Excel files, PostgreSQL, MySQL, Stripe, HubSpot, and Airtable.
How do I authenticate with the server?
The server uses OAuth 2.1 for authentication, meaning you can sign in without needing to paste an API key into your agent.