Skip to content

MCP in this app

MCP servers you add in the app are connected from the browser. So:

  • The server URL must be reachable by the user’s browser (e.g. a public HTTPS URL or http://localhost:PORT when running locally).
  • Cursor/IDE-only MCPs do not affect the app: the browser cannot talk to Cursor’s MCP. Use HTTP (or SSE) MCP servers that expose a URL.

Servers are configured in the MCP config modal (chat toolbar), stored in localStorage, and passed to TamboProvider via useMcpServers().

  • What: MCP server exposes prompts (templates). User types / and picks one; the prompt text is inserted or submitted.
  • In this app: The app merges MCP prompts with built-in ones (e.g. “Summarize dataset”, “I uploaded a file in Jupyter (work folder)”).
  • What: MCP server exposes resources (e.g. URIs to files, datasets, or docs). User types @ and attaches a resource; the model can use it in the turn.
  • In this app: Pairs with built-in tools like getDatasetByUrl and data tools.
  • What: MCP server exposes tools. The model can call them during the conversation (e.g. query a DB, call an API, or — with Jupyter MCP — edit and run notebook cells).
  • In this app: Built-in data tools (summarize, filter, SQL, charts, getUploadedDataset, getDatasetByUrl) are registered in src/lib/tambo.ts. Jupyter MCP adds tools like insert_execute_code_cell, read_cell, get_notebook_info so the AI can drive a real Jupyter notebook.
  • A tool can request an elicitation (e.g. “Which column should I plot?”). The app shows a small form; the user’s answer is sent back and the tool continues. The app already supports Tambo elicitations.
  1. In chat, open the MCP config (toolbar button in the message area).
  2. Enter the Server URL (must be reachable from the browser, e.g. http://localhost:3002/mcp).
  3. Optionally set Server Name and Transport (HTTP or SSE).
  4. Click Add Server. The list is saved to localStorage and used on the next message.
  • Cursor (IDE) config — The JSON in Cursor’s MCP settings is used only by Cursor. It does not affect the DataViz app in the browser.
  • DataViz app — MCP servers are configured in the app’s MCP config modal, stored in localStorage. Only HTTP (or SSE) server URLs work (e.g. http://localhost:3002/mcp for Jupyter MCP).

Keep the in-app notebook and Run button for users who don’t use Docker. Add Jupyter MCP Server as an optional MCP when you run it (e.g. npm run jupyter-mcp). The AI then gets tools to edit and run cells in a real Jupyter notebook (full kernel, any package, persistent state). See Jupyter & MCP for setup.