Model Context Protocol
Point your assistant
at your warehouse.
Dataki runs a remote MCP server. Claude, Cursor, ChatGPT and VS Code connect to one URL and can query the sources you have already connected — writing the SQL, saving dashboards and publishing embeds under your own key, and never seeing a database credential.
https://dataki.ai/api/mcp Nothing to install · your key's scopes, team restriction and spend ceiling all still apply · every query logged.
01 Connecting
One URL. Sign in, or paste a key.
Create an API key in Dataki, then paste one of these into your client's MCP config. The key is the whole auth story: the server holds no credential of its own and acts only as you, so anything your key cannot reach, it cannot reach either.
Create an API key{
"mcpServers": {
"dataki": {
"type": "http",
"url": "https://dataki.ai/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_DATAKI_API_KEY"
}
}
}
} {
"servers": {
"dataki": {
"type": "http",
"url": "https://dataki.ai/api/mcp",
"headers": {
"Authorization": "Bearer ${input:dataki_key}"
}
}
}
} Or don't paste anything. ChatGPT and claude.ai take the endpoint on its own and negotiate the rest: the server runs an OAuth 2.1 authorization server with PKCE and dynamic client registration, so a client discovers where to send you, you sign in and approve the scopes, and it gets its own revocable credential. No key ever passes through a config file.
02 Tools
Twelve tools, in the order you would use them.
An assistant finds the sources, reads what the columns actually mean, then queries. The rest exist because an answer nobody keeps is a message that scrolls away.
-
list_sourcesList data sourcesStart here — the ids every other tool expects.
-
get_data_contextRead what this data meansMetric definitions, join paths, column warnings.
-
record_data_contextWrite back what it learnedSo the next session starts where this one ended.
-
queryRun a querySQL against one or more sources, inside your spend boundary.
-
save_dashboardSave a dashboardTurn an answer into something that persists.
-
save_widgetSave a widgetAdd one chart to a board that already exists.
-
update_dashboardUpdate a dashboardChange what is on a board.
-
get_dashboardRead a dashboardWhat is on a board right now.
-
schedule_refreshSchedule a refreshKeep a board current without being asked.
-
watch_metricWatch a metricGet told when a number moves.
-
list_schedulesList schedulesWhat is already running.
-
publish_embedPublish an embedA public link, or a signed one for your own product.
03 Verifying
Check it from a terminal first.
Before wiring it into an assistant, list the tools yourself. A valid key returns the twelve above; no key returns a 401 that tells your client where to authenticate rather than just refusing it.
More on the assistantcurl -sX POST https://dataki.ai/api/mcp \
-H "Authorization: Bearer YOUR_DATAKI_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' SELECT plan, SUM(mrr) AS mrr
FROM billing.subscriptions
WHERE status = 'active'
GROUP BY plan
ORDER BY mrr DESC Free while we are in beta.
Connect a source, create a key, and point your assistant at it.