Skip to content
MCP server

The Basedash MCP server gives Claude Code, Cursor, ChatGPT, and any MCP client the same AI analyst as the app, with your models and permissions. Ask questions and build dashboards without leaving your tools.

14-day trial. No credit card required.

Paid conversions by channel

basedash connected

Which signup channels drove paid conversions this quarter? Then put the chart on our Growth dashboard.

question "Paid conversions by signup channel, weekly, this quarter"

returned response_message · 1 chart · paid_conversions.csv

Referral is the fastest riser: weekly paid conversions climbed from 18 to 46 this quarter, while paid search slipped from 31 to 24. Basedash used your paid_conversions model.

Powering analytics for 5000+ teams worldwide

Exa logoTiger Data logoPurpose logoGumloop logoComposio logoFullscript logoShiftrx logoDrata logoExa logoTiger Data logoPurpose logoGumloop logoComposio logoFullscript logoShiftrx logoDrata logo

Headless analytics

Your client hands each question to the same AI analyst that runs Basedash chat. It reads your models and context, writes and runs the SQL, and returns the answer with charts and CSV files, so your agent gets a checked result instead of a guess at your schema.

From your MCP client

ask_question

"What was net revenue by region last fiscal quarter?"

Basedash analyst

Answered
  1. Read the net_revenue model · Models

  2. Applied your fiscal calendar · AI context

  3. Ran SQL on Snowflake · 1.4s

  4. Queried only what Finance can see · Access

  • ↳response_message
  • ↳chart · screenshot
  • ↳net_revenue_by_region.csv

Build from your client

Ask your agent for a dashboard and it builds one in your workspace from plain-language instructions, or adds a chart to one you already have. Every result links back into Basedash, and your agent can look up and edit existing work you have access to.

basedash

10 tools

Ask

Build

Look up

ask_question

Ask a question in plain English and get the Basedash analyst's answer. Pass a chat_id to keep going in the same chat.

Scope

  • mcp:chat:ask

Inputs

  • question required
  • chat_id optional

Returns

chat_id, the answer, charts with screenshots, CSV files

get_data_sources

List the databases, warehouses, and apps connected to the workspace, so the client knows what it can ask about.

Scope

  • mcp:chat:ask

Returns

Connected data sources

create_dashboard

Build a dashboard in your workspace from plain-language instructions.

Scopes

  • mcp:chat:ask
  • mcp:dashboards:write

Inputs

  • instructions required

Returns

A link to the new dashboard

edit_dashboarddestructive

Change an existing dashboard from plain-language instructions. Clients see it marked destructive.

Scopes

  • mcp:chat:ask
  • mcp:dashboards:write

Inputs

  • dashboard_id required
  • instructions required

Returns

A link to the updated dashboard

create_chart

Build one chart from instructions, on a dashboard you name or in your drafts.

Scopes

  • mcp:chat:ask
  • mcp:dashboards:write

Inputs

  • instructions required
  • dashboard_id optional

Returns

A link to the chart and a screenshot

edit_chart

Change an existing chart from plain-language instructions.

Scopes

  • mcp:chat:ask
  • mcp:dashboards:write

Inputs

  • chart_id required
  • instructions required

Returns

A link to the chart and a screenshot

list_dashboards

List the dashboards the signed-in person can open.

Scope

  • mcp:dashboards:read

Returns

Dashboards you can access

get_dashboard

Read one dashboard the signed-in person can open.

Scope

  • mcp:dashboards:read

Returns

The dashboard and its charts

list_charts

List the charts the signed-in person can open.

Scope

  • mcp:dashboards:read

Returns

Charts you can access

get_chart

Read one chart the signed-in person can open.

Scope

  • mcp:dashboards:read

Returns

The chart

Governed by default

The first connection opens an OAuth sign-in in your browser, with no API key to paste into a config file. From then on, every call runs as you: the same source access, row-level security, and hidden data as the app, with separate scopes for asking, reading, and building.

charts.basedash.com

Claude Code wants to connect to Acme

Signed in as [email protected] · Finance

  • mcp:chat:ask

    Ask questions and list connected data sources

  • mcp:dashboards:read

    Read the dashboards and charts you can open

  • mcp:dashboards:write

    Create and edit dashboards and charts

Every call runs with your access

Data sources
4 of 6, by group
Row-level security
Region = EMEA

Claude Code is connected

You can close this tab. Questions from Claude Code now run as [email protected], with Finance's access.

Connection cancelled

Claude Code can't reach your workspace until you allow it.

API and Slack

Start a chat over the REST API and get the finished answer back in one request, or stream it as it's written. In Slack, mention @Basedash in a channel and the answer lands in the thread with its charts, under the permissions of whoever asked.

REST API · Start a chat

$ curl -X POST \
  ".../chats?wait=120" \
  -H "Authorization: Bearer bd_key_…" \
  -d '{"message": "Active teams by plan?"}'

201 "status": "finished"
#customer-successThread

Dana @Basedash how many teams were active last week, by plan?

Basedash 235 active teams. Scale leads with 82.

Starter38
Growth64
Scale82
Enterprise51

What's included

One URL, a browser sign-in, and the controls you already set up in Basedash.

  • Remote server

    Streamable HTTP at one URL, nothing to install.

  • OAuth sign-in

    Connect in the browser, with no API key to manage.

  • Scoped access

    Separate scopes to ask, to read, and to build.

  • Your permissions

    Every call follows the app's access controls.

  • Charts and files

    Answers come back with chart images and CSVs.

  • Links back to the app

    New dashboards and charts open in Basedash.

  • No half-built work

    Basedash removes a dashboard that fails to build.

  • Included in every plan

    Startup and Enterprise, billed as AI usage.

Which clients connect, how sign-in and permissions work, and what your agent can do once it's in.

Which AI clients can connect to the Basedash MCP server?

Any MCP client that supports remote servers over streamable HTTP, including Claude Code, Cursor, ChatGPT, and Windsurf, plus agent frameworks and internal tools that speak MCP. Add https://charts.basedash.com/api/public/mcp as a remote server. In Claude Code, run claude mcp add basedash --transport http followed by the URL. In Cursor, add a streamable-http server under Settings, then MCP. In ChatGPT, add it under Settings, then Connections. Clients limited to stdio or SSE transports won't connect.

Do I need an API key to use the MCP server?

No. The first time your client connects, Basedash opens an OAuth sign-in in your browser, and you approve the connection with your normal Basedash account. The client keeps the token it receives, so there's no key to paste into a config file or rotate by hand. If the sign-in window never appears, check that pop-ups aren't blocked, then remove the server from your client and add it again, since some clients only open it on the first attempt.

Which permissions apply to requests from an MCP client?

Every tool call runs as the person who signed in. Basedash applies the same data source access, row-level security, and AI data visibility settings as the app, so an agent can only query what that person can query and only sees dashboards and charts they can open. OAuth scopes add a second layer: asking questions uses mcp:chat:ask, reading dashboards and charts uses mcp:dashboards:read, and creating or editing them needs mcp:dashboards:write as well as mcp:chat:ask.

What can my agent do through the MCP server?

ask_question sends a question to Basedash's AI analyst and returns the answer, any charts, and CSV files, and it can continue an earlier chat for follow-ups. get_data_sources lists what's connected. create_dashboard, edit_dashboard, create_chart, and edit_chart build from plain-language instructions and return links into Basedash. list_dashboards, get_dashboard, list_charts, and get_chart find existing work the signed-in person can access.

Should I use the MCP server or the REST API?

Use the MCP server when someone works in an AI client and wants Basedash as one of its tools: sign-in is OAuth, and the client decides when to call it. Use the REST API when your own code needs answers, like a backend job, an internal app, or a scheduled script. It authenticates with an API key from Settings, can wait for the finished answer or stream it over server-sent events, and also covers charts, dashboards, models, automations, and workspace administration.

Is the MCP server included in my plan?

Yes. The MCP server is included in both the Startup and Enterprise plans, with nothing extra to turn on. Questions asked through it run on the same AI analyst as the app, so they count toward your workspace's AI usage like any other chat. If the workspace runs out of AI usage, questions from MCP clients stop being answered until usage is available again, while lookups of existing dashboards and charts keep working.

Where do dashboards and chats created over MCP end up?

Dashboards and charts your agent creates are saved to your Basedash workspace like any other. A new dashboard appears with the rest, and a chart created without a dashboard lands in your drafts, with a link back in the tool result either way. The conversation itself stays in your client: chats started over MCP are kept out of the chat list in Basedash, so agent traffic doesn't crowd the app's history.

Can the Basedash agent call other MCP servers too?

Yes, in the other direction. The MCP server lets outside agents use Basedash, and MCP connectors let the Basedash agent use outside tools. Add a remote MCP server, such as Linear, HubSpot, or one your team built, and the agent can pull context from it and take actions there while it analyzes your data. You set each tool to run on its own, wait for approval, or stay blocked.

Add one URL to your MCP client, sign in, and your data comes with you.