Connect an AI assistant
- 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
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 |