Cursor

Ask Cursor which page converts

Add DataBull to Cursor and the agent can read your traffic, sales and buyer journeys while you work on the product. One entry in mcp.json, a read-only key, nothing to host.

All sales are final · License terms · Rather not self-host? Hosted from $9/mo (beta)

Claude Codedatabull · 14 tools connected
MCP
Terminal

      
Works withClaude CodeCursorCodexCopilotWindsurf

Short answer

Add DataBull to ~/.cursor/mcp.json (or .cursor/mcp.json in one project) as a remote server: the URL is your DataBull address plus /mcp, with the header Authorization: Bearer dbk_…. npx databull@latest mcp --client cursor creates the read-only key and prints the block, filled in.

Get the config, filled in

npx databull@latest mcp --client cursor

It creates a read-only key, checks it works and prints the block below with your URL and key. On DataBull Hosted, or without the CLI, create a key under Settings → API keys & AI agents: the dashboard shows the same block.

The config

Put it in ~/.cursor/mcp.json to have DataBull in every project, or in .cursor/mcp.json in one project only:

{
  "mcpServers": {
    "databull": {
      "url": "https://YOUR-DATABULL-URL/mcp",
      "headers": { "Authorization": "Bearer dbk_YOUR_KEY" }
    }
  }
}

If the file already has other servers, add databull inside the existing mcpServers object. A project file holds your key, so add .cursor/mcp.json to .gitignore.

Turn it on

Open Cursor's MCP settings (under Customize in the sidebar in current versions) and check that databull is listed and switched on. By default Cursor asks before it runs a tool; every DataBull tool only reads, so allowing them is low-risk.

What the agent can read

DataBull gives Cursor 14 read-only tools. The ones you'll use most while building:

ToolGood for
get_breakdownPages, landing pages, referrers or campaigns ranked by revenue or conversion.
get_engagementReading time and scroll depth per page, buyers against everyone else.
get_funnelsYour saved funnels, step by step, with drop-off and the revenue of visitors who reached each step.
compare_periodsBefore and after a change, with the sources that moved most.
list_sales / get_visitorRecent sales with their source, and one buyer's full path to paying.

The full list is on the MCP server page. Every tool takes a site by its domain and a period, and the answers use the same attribution model as your dashboard.

Prompts to try

Watch revenue while you ship

Cursor is where you change the product, so ask before and after you change it:

  1. Before you edit a page

    "How does /pricing convert over the last 30 days, and what do buyers read before they pay?" gives you a baseline from get_breakdown and get_engagement.

  2. On launch day

    "Who's on the site right now, and where from?" (get_realtime), and "which source sent today's sales?" (list_sales).

  3. A week later

    "Compare the 7 days since the change with the 7 days before" (compare_periods). You see whether the new page made more money, not just more visits.

Leave a note on the dashboard chart when you ship, so the change shows up next to the numbers.

If it doesn't connect

Questions

Does it work in Cursor's free plan?

MCP is a Cursor feature, not a DataBull one. If your Cursor can use MCP servers, it can use DataBull: it's a standard Streamable HTTP server with a header.

Global or project config?

Global (~/.cursor/mcp.json) if you want your numbers in every project. Project (.cursor/mcp.json) if only one repo should see them; keep that file out of git.

What about VS Code, Codex and Windsurf?

npx databull@latest mcp prints the config for each. VS Code uses servers with "type": "http", Windsurf uses serverUrl, Codex uses [mcp_servers.databull] in ~/.codex/config.toml. See the docs.

Find out which of your posts pay the bills.

One script, one payment connection, and you'll know by tomorrow.

All sales are final · License terms · Rather not self-host? Hosted from $9/mo (beta)