Connect Claude, Cursor, Windsurf, or Codex to your Dashfeed workspace using the Model Context Protocol.
{
"mcpServers": {
"dashfeed": {
"command": "npx",
"args": [
"-y",
"@dashfeed/mcp"
],
"env": {
"DASHFEED_API_BASE_URL": "https://api.dashfeed.ai/core/v1",
"DASHFEED_TOKEN": "<your-token>"
}
}
}
}Every workspace gets the core tools (at most 40); a new workspace also starts with Dashboards and Content. A workspace owner or admin turns groups on or off at Settings → Agents → MCP tool groups; the same groups apply to Dashy. Calling a tool whose group is off answers TOOL_GROUP_DISABLED naming the group. Changes (WRITE tools) also need "Allow AI agents to make changes" on that page, which is off by default; reads and previews always work. Agents can find tools in groups that are off with search_tools. On a sign-in that covers several workspaces, the tool list shows core only until you pick a workspace with set_workspace.
| Group | Tools | What it covers |
|---|---|---|
| Core (always on) | 40 | Always on: workspaces, the data graph, the semantic layer, raw SQL (for users allowed it), model and source iteration, job runs, metric annotations and search_tools. |
| Dashboards | 44 | Dashboards, canvas dashboards, widgets, filters and shares, plus the core datasets and catalog metrics widgets read. |
| Content | 50 | Posts, comments, publications, Drive, tasks, the company brief and marketing drafts. |
| Monitoring | 27 | Monitors and monitoring plans, alert events and history, personal metric alerts, data health events, reconciliation checks, insights and the attention feed. |
| Admin | 18 | Members, groups, invitations, workspace settings, billing and usage. |
| Finance | 5 | The Finance module: summary, transactions, budgets, recurring spend and review tasks. |
| Packages | 5 | Model packages: the catalog, installs, update proposals and semantic deviations. |
| Changesets | 11 | Reviewable model and semantic changes: open a changeset, add items, validate, submit for review, then approve, reject, promote or discard. Nothing reaches live until it is promoted. |
| Ingestion | 41 | Connection create/update/delete and testing, syncs, loads, graph assets, source removal, data exports (with their SFTP destinations and SSH keys) and scheduled reports. |
| Vertical insights | 4 | Module insight tools: churn risk, e-commerce revenue reconciliation, personal finance and pest-control retention. |
Clients with native tool search (the Anthropic API's defer_loading) can load the MCP server deferred and keep a handful of core tools always loaded — for example list_metrics, query_metrics, get_metric_details and search_tools.
| Scope | Description |
|---|---|
| workspaces:read | View workspace info |
| workspaces:write | Update workspace settings |
| posts:read | Read posts, comments, feed, search |
| posts:write | Create/update/delete posts and comments, reactions |
| dashboards:read | View dashboards and widgets |
| dashboards:write | Create/update/delete dashboards, widgets, share links |
| datasets:read | View datasets, run preview/query |
| datasets:write | Create/update/delete datasets |
| metrics:read | View metrics and series data |
| metrics:write | Author semantic metrics in the data hub (apply_semantic_definition), edit metric annotations (setting a metric's certification, owner, target or alert thresholds needs metrics:admin) |
| metrics:admin | Metric admin: certify, change owner, targets, delete and watchers on semantic metrics (access management stays with workspace owners and admins); not part of the Read / Read-and-write presets. |
| members:read | View members and groups |
| members:write | Invite/update/remove members, manage groups |
| monitoring:read | View alerts, monitors, monitoring plans |
| monitoring:write | Set alert rules, create/update monitors, approve plans |
| publications:read | View publications and guidelines |
| publications:write | Create/update/publish/delete publications |
| connections:read | View data source connections and metadata |
| connections:write | Create/update/delete data-hub connections and trigger dataset re-sync |
| warehouse:read | List the workspace's warehouses (list_warehouses), browse the default warehouse's schemas, and run read-only SQL against it via MCP execute_sql (also needs the Run raw SQL permission) |
| tasks:read | View tasks |
| tasks:write | Create/update tasks |
| insights:read | View insights |
| insights:write | Create/update insights |
| finance:read | View permitted personal-finance facts and summaries |
| drive:read | View Drive projects, artifacts, metadata, versions, and content |
| drive:write | Create/update/move/duplicate/restore/delete Drive projects and artifacts |
| data_exports:read | View data-export definitions and runs |
| data_exports:write | Create/update data exports |
| audiences:write | Create governed audience segment drafts (incl. generate_segment) |
| marketing:write | Create governed marketing draft suggestions (incl. draft_marketing_email) |
| data_health:read | View data-health alert settings and open breaches |
| data_health:write | Report data-health events (source freshness, dbt tests, stale dashboards) from external jobs |
| billing:read | View usage and cost, budgets and plan options (usage billing; available once enabled for tokens) |
Add drive:read to inspect Drive projects and artifacts. Add drive:write for project/artifact create, update, move, duplicate, restore, and delete actions.
list_drive_projects
list_drive_artifacts { "project_id": "PROJECT_UUID" }
get_drive_artifact_content {
"artifact_id": "ARTIFACT_UUID",
"encoding": "inline",
"max_bytes": 65536
}create_drive_artifact {
"title": "Sprint notes",
"kind": "TEXT",
"content": "Initial notes",
"confirm": true
}
move_drive_artifact {
"artifact_id": "ARTIFACT_UUID",
"project_id": null,
"confirm": true
}upload_drive_html is a purpose-built wrapper that stores HTML as a kind: HTML Drive artifact (text/html; charset=utf-8). Provide exactly one of html (inline) or html_base64 (base64-encoded UTF-8). Fragments are allowed. Uploaded HTML is previewed in a sandboxed iframe and never executes in the Dashfeed app shell.
upload_drive_html {
"title": "Quarterly recap",
"html": "<section><h1>Q2</h1><p>Revenue up 12%.</p></section>",
"status": "PUBLISHED",
"confirm": true
}
// or, for base64-encoded HTML:
upload_drive_html {
"title": "Quarterly recap",
"html_base64": "PHA+aGk8L3A+",
"confirm": true
}Add marketing:write to create governed EMAIL draft suggestions with draft_marketing_email. The tool requires confirmation (confirm: true) and only creates a PROPOSED suggestion — it never publishes, approves, or sends.
draft_marketing_email {
"goal": "Re-engage churned customers",
"tone": "friendly", // optional
"templateId": "TEMPLATE_UUID", // optional
"segmentId": "SEGMENT_UUID", // optional
"variantCount": 2, // optional: 1 | 2 | 3
"confirm": true // required
}{
"suggestionId": "SUGGESTION_UUID",
"status": "PROPOSED",
"drafts": [
{
"subject": "We miss you — here's 20% off",
"preheader": "Come back and save",
"html": "<section>...</section>",
"text": "Come back and save...",
"rationale": "Win-back incentive ..."
}
]
}Add billing:read to read a usage-billed workspace's spend, budgets and plan options. All three tools are read-only, owners and admins. They answer only for workspaces on usage pricing (or in shadow); a legacy or exempt workspace returns BILLING_MODE_LEGACY or BILLING_MODE_EXEMPT.
get_billing_usage {
"period": "current", // optional: "current" | "YYYY-MM"
"group_by": "resource" // optional: "meter" | "resource"
}
list_billing_budgets {}
get_billing_plan_options {}get_billing_usage: spend, forecast, budget and balance for the period, by meter; the top resources with group_by: "resource".list_billing_budgets: each budget with its amount, spend, forecast and state.get_billing_plan_options: the current plan, what each plan would cost at current usage, and the cheapest.