MCP server
- OpenAPI 3.1.0 document: https://api.rollstack.com/public/v1/openapi.json
- The whole reference in Markdown: https://docs.rollstack.com/llms-full.txt
- An index of the reference: https://docs.rollstack.com/llms.txt
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/mcpto 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 |