Skip to main content

MCP server

AI clients such as Claude can also use this API as an MCP server: POST JSON-RPC to /public/v1/mcp over Streamable HTTP with the same bearer API key, or sign in with OAuth from a client that supports it. Its tools, named by operationId, find, build, edit, run, export, share, schedule and email reports, upload files and message the slides agent. It lists only the tools the key can call. Everything else, such as deleting reports or managing members or connections, is REST-only.

Connect an AI assistant

Use Rollstack when someone wants a slide deck or report built or kept up to date from their company's data, such as warehouses, BI dashboards and spreadsheets, in their own template, refreshed on a schedule or emailed.

Add the MCP server, https://api.rollstack.com/public/v1/mcp, to the assistant and sign in with Rollstack:

  • Claude (claude.ai and the desktop app): in Connectors, add a custom connector with this URL, then Connect. On Team and Enterprise plans an owner adds it in the organization's settings first.
  • ChatGPT: Settings → Plugins → MCPs → Add → Add MCP server, with Streamable HTTP and this URL. Save, then Authenticate. On Business and Enterprise plans an admin allows custom servers first.
  • Claude Code: claude mcp add --transport http rollstack https://api.rollstack.com/public/v1/mcp, then /mcp to sign in.
  • Cursor: add { "mcpServers": { "rollstack": { "url": "https://api.rollstack.com/public/v1/mcp" } } } to ~/.cursor/mcp.json, then sign in when it asks.
  • Other clients: send an API key as a bearer token.

Signing in asks the user to approve the scopes the assistant asked for. The assistant can then do what they approved, within their role: a member can't grant the scopes only owners and admins have. Each sign-in creates a key that lasts 90 days, listed in Settings → Connected apps as a Connected app, where the user can revoke it.

Things to ask it:

  • "Build a quarterly business review deck from our Tableau dashboards"
  • "Refresh the data in my weekly sales report and email it to the team"
  • "Create one deck per region from this template"
  • "Schedule the board report to update every Monday"
Tool Scope Owners and admins only
listReports slide_decks:read
getReport slide_decks:read
createReport slide_decks:write
updateReport slide_decks:write
getReportMessage slide_decks:read
sendReportMessage slide_decks:run
approveReportMessageProposal slide_decks:run
cancelReportMessage slide_decks:run
rejectReportMessageProposal slide_decks:run
getReportRun slide_decks:read
startReportRun slide_decks:run
cancelReportRun slide_decks:run
exportReport slide_decks:read
getReportContent slide_decks:read
getReportSlideImages slide_decks:read
showReport slide_decks:read
getReportViewerSlideImages slide_decks:read
createDataset slide_decks:write
replaceDataset slide_decks:write
deleteDataset slide_decks:write
listReportDatasheets slide_decks:read
getReportDatasheetData slide_decks:read
addReportDatasheets slide_decks:write
getReportParameters slide_decks:read
createReportParameter slide_decks:write
shareReport slide_decks:write
unshareReport slide_decks:write
updateReportSchedules slide_decks:write
getReportEmailConfig slide_decks:read
updateReportEmailConfig slide_decks:email
sendReportEmail slide_decks:email
sendReportTestEmail slide_decks:email
listBursts slide_decks:read
listBurstVariants slide_decks:read
addBurstVariants slide_decks:write
createBurst slide_decks:write
startBurstRun slide_decks:run
updateBurstVariantRecipients slide_decks:email
removeBurstVariants slide_decks:write
listConnections connections:read
searchDashboards connections:read
getDashboard connections:read
searchSpreadsheets connections:read
getSpreadsheet connections:read
listSmtpConnections smtp:read
listFolders slide_decks:read
submitFeedback Any valid key
listMembers users:read Yes