mcpbeat Sign in

Rollstack MCP Server

by rollstack Your server? Claim it
answering

Rollstack is answering right now. Last checked 8 min ago. It exposes 59 tools.

Build, refresh and send Rollstack reports and slide decks from your company's data.

Uptime history 4 days of history
4 days agonow
100.0%
Uptime 24h
91 of 91 checks
59
Tools
read from the server
572 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 71

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 5 November 2026. No other catalogue keeps this.

7 Nov 3 tool descriptions were rewritten addReportDatasheets, getDashboard, getReportDatasheetData
6 Nov 30 tools changed the parameters they ask for addBurstVariants, addReportDatasheets, applyReportTemplate and 27 more
6 Nov 4 tools appeared getBurstRun, getBurstVariantBatch, getTemplatePickerCovers and 1 more
6 Nov 3 tool descriptions were rewritten addBurstVariants, listReports, startBurstRun
5 Nov 11 tool descriptions were rewritten addReportDatasheets, createReport, getDashboard and 8 more
5 Nov 10 tools changed the parameters they ask for addReportDatasheets, createReport, getReportEmailConfig and 7 more
5 Nov 9 tools appeared applyReportTemplate, duplicateReport, getReportSchedules and 6 more
5 Nov a tool changed version

Nothing serious here today

Today is the operative word: we check Rollstack every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 8 min ago.

run in your terminal
claude mcp add mcp --transport http https://api.rollstack.com/public/v1/mcp
Settings → Connectors → Add custom connector, then paste this address
https://api.rollstack.com/public/v1/mcp
~/.codex/config.toml
[mcp_servers.mcp]
url = "https://api.rollstack.com/public/v1/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://api.rollstack.com/public/v1/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp": {
      "type": "http",
      "url": "https://api.rollstack.com/public/v1/mcp"
    }
  }
}

Available tools 59

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

addburstvariants
addBurstVariants
Adds variants to a burst by their values of its report parameters: each is a copy of the template report that reads its datasheets with its own values, then runs once to fetch its data. Values are checked first, so a request with one the template's filters can't take adds nothing. Answers at once with the batch's batchId and the names the variants are added with: follow the batch with getBurstVariantBatch until it ends.
addreportdatasheets
addReportDatasheets
Adds sources to a report as datasheets, and answers their ids in the order of the sources. A source is a CSV file uploaded with createDataset, or a dashboard of a Looker, Metabase, Omni, Lightdash, Sigma, Tableau or Power BI connection: find it with searchDashboards, confirm it with the user, optionally check its tabs and charts with getDashboard, and add it by its connection, id and tabId from getDashboard's tabs, or from searchDashboards for a Sigma workbook found by a link (else the tab it opens on, a Power BI report's or Sigma workbook's first page). A dashboard comes in as one picture of the tab, read with the user's access to the connection, from which the slides agent can add its charts; a Tableau or Power BI dashboard's charts are listed when its picture is first taken. A source can also be a tabular or summary report of a Salesforce connection, found with searchDashboards and added by its connection and reportId: it comes in as a table of its rows, read with the user's access to the connection; a matrix or joined report is rejected. A source can also be a range of a Google Sheets or Excel file the user added in the app: find the file with searchSpreadsheets, take the sheet's id from getSpreadsheet, and pass the range inside the sheet in A1 notation, like A1:F20. A range comes in as a table, read with the user's own Google or Microsoft account on every run. Pass the ids as datasheetIds on sendReportMessage for the slides agent to build slides from them. Only the report's editors may.
applyreporttemplate
applyReportTemplate
Switches a report of type SlideDeck to a template's theme, slide masters, layouts and slide size, as the Templates drawer in the app does. Its slides keep their content and move to the template's matching layouts; the answer names the slides that had no match. A version saved just before, in the report's Version history, undoes it. Only its editors may, and not while the report is running or the slides agent is working on it.
approvereportmessageproposal
approveReportMessageProposal
Approves the proposal of a settings_proposal or email_send_proposal reply, as its Approve button in the app's chat does: Rollstack makes the change, or sends the email. Only approve what the user approved after seeing the reply's proposal. Answers the reply with the proposal's status: applied once the change is made, and queued for a send, which getReportMessage then follows through sending to sent, partially_sent, failed or unconfirmed, with its counts. Needs also slide_decks:email for an email change or send, and slide_decks:write for the rest. Approving a send answers 409 while the report is updating, such as after a filter change the same message asked for, and counts against the 5 email sends a minute, as sendReportEmail does. Only the user who sent the message may, while they can edit the report. A proposal already decided answers 409.
cancelreportmessage
cancelReportMessage
Stops a message to the slides agent: a queued one leaves the queue, and a running one stops. A finished one stays as it is. Only the user who sent it may.
cancelreportrun
cancelReportRun
Cancels a run of a report, whoever started it. Only its editors may. A run that already ended stays as it is.
createburst
createBurst
Makes a report the template of a new burst whose variants differ by the report parameters given, and answers the burst, named after the report and with no variants yet. Add them with addBurstVariants. Only the report's editors may.
createdataset
createDataset
Stores a CSV for the slides agent to build slides from: a header row, then at least one data row, at most 10 MB. Add it to a report with addReportDatasheets. Over MCP the CSV is written into the tool call, so send large files to this REST endpoint instead. Or send an Excel workbook (.xlsx, at most 10 MB) as multipart/form-data in the file field: it is stored as it is, with all its sheets, formatting and charts, and the user picks its sheets and ranges for a report in the app's editor. Legacy .xls, macro-enabled and password-protected workbooks are rejected. A workbook is read as saved: formulas show their saved results, and nothing is recalculated.
createreport
createReport
Creates a report of type SlideDeck, in a folder the user can see when folderId is set. It starts empty, in the look of a saved template from listTemplates when templateId is set, or of another report when templateDeckId is set: its theme, masters and layouts, without its slides. Ask the user which template to use when the organization has company templates.
createreportparameter
createReportParameter
Creates a parameter of a report, linked to the dashboard filters given, as the app's report parameters editor does. With a value, writes it into those filters and reads their datasheets again. Answers the parameter. Only the report's editors may.
deletedataset
deleteDataset
Deletes an uploaded CSV file or workbook. Reports built on it keep what they last showed, and their datasheets fail on the next read. Only the user who created it may.
duplicatereport
duplicateReport
Copies a report of type SlideDeck with its slides, datasheets and email setup, as Duplicate in the app does, and answers the copy, which you own. Its schedules and direct shares are copied only when asked. Only members who may duplicate the report may: view access is enough. Each call makes another copy.
exportreport
exportReport
Exports a report as PDF or PowerPoint and answers a download link valid for 15 minutes. At most 10 exports a minute per user.
getburstrun
getBurstRun
Where the runs of a burst's variants stand, such as those startBurstRun started, with how each variant's latest run ended. Waits up to waitSeconds for none of them to be running and answers as soon as that happens, so call it again while the status is running. A run started in the app or by a schedule counts too.
getburstvariantbatch
getBurstVariantBatch
A batch of variants being added to a burst, with where each variant stands: copied from the template report, then run once to fetch its data. Waits up to waitSeconds for the batch to end and answers as soon as it does, so call it again while the status is running. Your later batch on the burst reuses the id, so this describes the latest one.
getdashboard
getDashboard
A dashboard of a Looker, Metabase, Omni, Lightdash, Sigma, Tableau or Power BI connection, read with the user's access to the connection (a Salesforce report has no tabs or charts to read, so add it with addReportDatasheets directly): its tabs, and the charts and filters of the tab tabId names, one of the ids in tabs (else the one the dashboard opens on, a Power BI report's or Sigma workbook's first page). Tableau and Power BI list no charts or filters here: once the tab is added to a report, its charts are listed from its picture for the slides agent to add; a Sigma page lists its charts and tables, and the workbook's controls as its filters. Find the dashboard's id with searchDashboards. Confirm the dashboard and tab with the user, then add it to a report with addReportDatasheets; for another tab, call it again with that tab's id from tabs.
getreport
getReport
A report of any type with its schedules, who it is shared with and who is emailed when a run fails. lastRunStatus and running tell how its latest run went and whether one is going, and appUrl opens it in Rollstack. type tells which other endpoints work on it.
getreportcontent
getReportContent
What a viewer sees on a report's visible slides: titles, text, and each chart's and table's values. On a long report, pass slideIds for only the slides you need, such as a reply's changedSlideIds.
getreportdatasheetdata
getReportDatasheetData
The table a report's chart is drawn from: the datasheet's steps run over the copies stored at its sources' last reads; the source is never queried. Only the report's editors may: the table was read with an editor's credentials, can hold columns and rows the slides never show, and skips the source's row-level security. Fails for a `picture` datasheet (its `kind` in `listReportDatasheets`), which has no table. Also fails until every source it reads has been read, after a source's latest read failed, and once a stored copy expires, 30 days after its read. At most 30 reads a minute per user.
getreportemailconfig
getReportEmailConfig
Who a report's email goes to and how it is sent, for a report of any type. Answers 404 until its email is set up. On an older report that sends to several recipient groups, `to`, `cc`, `bcc` and `replyTo` list every group's addresses together.
getreportmessage
getReportMessage
A message to the slides agent and its replies. Waits up to waitSeconds for the message to finish and answers as soon as it does, so call it again while the status is queued or running. A clarification reply asks questions: ask the user, then send the options they pick as answers in a new message on the same chat. A proposal reply changes nothing until it is approved: show the user what its proposal changes, then approve or reject it as they decide. Only the user who sent the message may read it, while they can edit the report.
getreportparameters
getReportParameters
A report's parameters, with which ones a burst can vary by, and the dashboard filters a parameter can link, with the parameter that already links each.
getreportrun
getReportRun
A run's status and the datasheets, or visualizations on a report of another type than SlideDeck, it could not refresh. Waits up to waitSeconds for the run to end and answers as soon as it does, so call it again while the status is running. A user's later run of the report reuses the id, so this describes the latest one.
getreportschedules
getReportSchedules
The schedules of a report of any type, with the syncs each updates and when each runs next, or null for one that never runs again. Read them before `updateReportSchedules`, which replaces them all.
getreportslideimages
getReportSlideImages
Renders slides of a report as images, as viewers see them, so you can check how they look: text that overflows or overlaps, or a chart too small to read. After a message's turn, pass its replies' changedSlideIds. At most 10 slides a call; hidden slides are left out. Counts against the 10 exports a minute per user.
getreportviewerslideimages
getReportViewerSlideImages
The slide images the report viewer shows, called by the viewer itself. Use getReportSlideImages instead. At most 10 slides a call; hidden slides are left out.
getspreadsheet
getSpreadsheet
A Google Sheets or Excel file the user added in the app, with its sheets, read with the user's own Google or Microsoft account. Fails with user-missing-oauth when the user hasn't connected that account in the app. Find the file's id with searchSpreadsheets, then add a range of one of its sheets to a report with addReportDatasheets by the sheet's id.
gettemplatepickercovers
getTemplatePickerCovers
The template covers the template picker shows, called by the picker itself. Use showTemplates instead. At most 10 templates a call.
listbursts
listBursts
The bursts of reports the user can see, newest first, with the report parameters their variants differ by and the template report they are copied from. You can filter by name, ignoring case. Answers up to limit bursts, 50 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null. listReports leaves out the reports of a burst, its template and variants.
listburstvariants
listBurstVariants
A burst's variants the user can open, oldest first, each with its values of the burst's parameters, how its latest run went, whether one is going, and who its email goes to. adding lists the variants the user is still adding. Answers up to limit variants, 50 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null.
listconnections
listConnections
The data source connections the user can see, without their credentials: each one's type, name, settings such as its URL, owner, admins, default user and whether any user's access works.
listfolders
listFolders
The folders the user can see, each with its parent, null at the top level, and the user's permission on it: null, view, edit or manage. Pass a folder's id as folderId to listReports or createReport.
listmembers
listMembers
The members of the organization, with their role, authentication role, insights access and whether they are active. Optionally only those with a status, active or deactivated, or with an email.
listreportdatasheets
listReportDatasheets
The datasheets a report's charts and tables are built from, with their source and when each was last read.
listreportemails
listReportEmails
The emails a report of any type sent, newest first: when, how, to whom, and whether each was delivered, failed or opened. Answers up to limit emails, 20 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null.
listreportruns
listReportRuns
The runs of a report of any type that ended, newest first, with how each ended, what started it and why it failed, for questions such as why last night's update failed. Answers up to limit runs, 20 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null.
listreports
listReports
The reports the user can see, of every type, newest first. Each report's type tells which endpoints work on it: the slides agent, exports, content, datasheets, parameters, templates, duplicating and ownership transfer take SlideDeck reports only, and syncs take the other types only. You can filter by folderId, name and type; when several are set, all must match, and name matching ignores case. Answers up to limit reports, 50 by default and 200 at most, and a nextCursor: pass it as cursor for the next page, until it is null.
listreportsyncs
listReportSyncs
The syncs of a report other than a SlideDeck, such as a Google Slides presentation or an email report: each chart, table or text it pulls from a source, with how it did the last time it updated and why it failed. Pass the failed ones' ids as `syncIds` to `startReportRun` to update only those. A SlideDeck report has datasheets instead and returns `400`.
listsmtpconnections
listSmtpConnections
The user's SMTP connections and the ones shared with the organization, without their credentials.
listtemplates
listTemplates
The templates the user can build a slide deck in: their company's, with who imported each and whether it is shared with the organization, then Rollstack's own. Pass a template's id as templateId to createReport or applyReportTemplate.
rejectreportmessageproposal
rejectReportMessageProposal
Rejects the proposal of a settings_proposal or email_send_proposal reply, as its Reject button in the app's chat does: nothing changes. Answers the reply with the proposal's status, rejected for a change and cancelled for an email send. Only the user who sent the message may, while they can edit the report. A proposal already decided answers 409.
removeburstvariants
removeBurstVariants
Removes variants of a burst by their ids, and deletes their reports. Find the ids with listBurstVariants, which shows each variant's parameter values, and confirm them with the user. The user must be able to edit every variant passed, or nothing is removed: the burst's owner and admins can edit them all, other members only their own.
replacedataset
replaceDataset
Replaces an uploaded CSV file's rows, or a workbook's content with a new .xlsx sent as multipart/form-data in the file field. It keeps its id, and a CSV is never replaced by a workbook or the other way round. Reports built on it show the new content after their next run or message to the slides agent. An invalid file leaves the current one in place, and a sheet or range the new workbook no longer has fails its datasheets' reads. Only the user who created it may.
searchdashboards
searchDashboards
The dashboards of a Looker, Metabase, Omni, Lightdash, Sigma, Tableau or Power BI connection whose name holds any word of query or its singular, in any case, at most 50: those the most of the organization's reports read first, copies, old and personal ones last, then most words first, read with the user's access to the connection. A Tableau dashboard is a workbook, its views its tabs; a Power BI one a report, its pages its tabs; a Sigma one a workbook, its pages its tabs. On a Sigma connection, query can be a link to a workbook the user pasted: it finds only that workbook, with the page the link opens on as tabId, but not the link's control values, saved view or tag, and a link to another Sigma organization is rejected. On a Salesforce connection it finds reports the same way, the most recently run first among equals, each with its format: a report has no tabs, so add a tabular or summary one to a report with addReportDatasheets by its reportId, without getDashboard, and tell the user a matrix or joined one can't be added yet. Search by the name the user gives, confirm the dashboard with the user, then check its tabs and charts with getDashboard or add it to a report with addReportDatasheets. listConnections gives the connection's type and id.
searchspreadsheets
searchSpreadsheets
The Google Sheets and Excel files the user added in the app whose name holds any word of query, in any case, most words first, at most 50. Rollstack can't search the user's whole Google Drive or OneDrive: for another file, ask the user to add it in the app. Confirm the file with the user, then list its sheets with getSpreadsheet.
sendreportemail
sendReportEmail
Emails a report to its recipients now, as it is. Only its editors may. Answers 400 when it has no recipients. An email report needs its email template set up in the app first. Sends in the background; while the user's send of the report is going, starts nothing. At most 5 sends a minute per user, test sends included.
sendreportmessage
sendReportMessage
Asks the slides agent to build or change a report, or to answer a question about it, as the app's chat does. Answers the message's id at once: follow it with getReportMessage. Without chatId the message starts a new chat, which shows in the user's chat history in the app. With it, the message continues that chat and waits its turn while a reply is still generating. Several chats on a report can generate at once; an agent working on a part of the report another chat is editing works on something else or says so. For slides built from your own data, a connected dashboard or a spreadsheet, upload the data with createDataset, find the dashboard or Salesforce report with searchDashboards or the spreadsheet with searchSpreadsheets, add any of them with addReportDatasheets and pass the datasheet ids as datasheetIds. Only its editors may. At most 6 messages a minute per user.
sendreporttestemail
sendReportTestEmail
Sends a report's email to the user only, and waits until it is sent. Only its editors may. Counts against the 5 sends a minute.
sharereport
shareReport
Shares a report of any type with a member of the organization to view or edit it, or changes their permission. They get an email. A report that updates a file, such as a Google Slides presentation, also shares the file with them, as the app does.
showreport
showReport
Shows a report to the user in a viewer with every visible slide, when the client can show one, to browse it or review the slides the slides agent changed: pass the replies' changedSlideIds to open on the first of them and mark them all. Answers the slides' ids and titles. Clients that can't show the viewer can look at the slides with getReportSlideImages instead.
showtemplates
showTemplates
Shows the user the templates they can build a slide deck in, each with a preview of its look, when the client can show a picker. Pass reportId when they pick one for an existing report: each template then warns about the report's slides it has no layout for. Picking one sends you a message naming the template: then apply it with applyReportTemplate, or start a report in it with createReport's templateId, as the user asked. Answers the templates as listTemplates does, for clients that can't show the picker.
startburstrun
startBurstRun
Starts a run of every variant of a burst, or of the variants passed, as startReportRun does for each: it refreshes the variant's data and repairs its slides with AI. The template report isn't run; run it with startReportRun. Answers each variant's run at once: follow them all with getBurstRun until none is running, or one with getReportRun, passing the variant's id and runId. A variant already running answers that run and starts nothing.
startreportrun
startReportRun
Refreshes a report's data, or only some of its datasheets, then repairs failed calculations and the slides with AI. On a report of another type than SlideDeck, such as a Google Slides presentation, refreshes every sync, or only the `syncIds` given, instead, as Update in the app does, updating its file when it has one (an Email report has none). A run of the whole report then emails it when its email trigger is `all`; a run of only some `syncIds` never does. Answers the run's id at once; while a run of the report is already going, from the API, the app or its schedule, it answers that run's id with started false and starts nothing.
submitfeedback
submitFeedback
Tells the Rollstack team about something the user asked for that you couldn't do: a tool or endpoint that is missing, a call that was refused or failed, or a task nothing covers. Send it only after the user agrees: tell them what you couldn't do, offer to report it, and show what you'd send. The team reads every message to decide what to build next; it doesn't answer, and it doesn't fix the problem for the user.
unsharereport
unshareReport
Removes a user's share of a report of any type, and their access to its file when it updates one, as the app does.
updateburstvariantrecipients
updateBurstVariantRecipients
Sets who each variant's email goes to, replacing its to, cc and bcc. Its other email settings, such as its sender and which runs send it, stay as copied from the template; a variant without email settings gets the defaults. Sends no email. As in the app, the burst's owner and admins can set any variant's recipients, other members only those of variants they own or can edit; the others are skipped, as is a variant with several recipient groups, which the app asks to reconcile first.
updatereport
updateReport
Renames a report of any type, moves it, or changes its timezone or failure notifications. Renaming a report that updates a file, such as a Google Slides presentation, also renames the file, as the app does. Only its editors may.
updatereportemailconfig
updateReportEmailConfig
Sets who a report's email goes to and how it is sent, for a report of any type, replacing the settings this endpoint covers; Drive sharing, attachment folders and the email's subject and body stay as set in the app. Only its editors may. The sender must be the user's own or shared with the organization. A report that sends to several recipient groups returns 400: change those in the app.
updatereportschedules
updateReportSchedules
Replaces the schedules of a report of any type, at most 10; an empty list removes them all. Only its editors may. A scheduled run updates the whole report: an AI update on a SlideDeck report, and a refresh of every sync on a report of another type, or only the `syncIds` a schedule names. Schedules are checked every 15 minutes, so a cron that fires more often still runs at most once per 15 minutes.

Endpoints

URLTransportStateLatencyChecked
https://api.rollstack.com/public/v1/mcp streamable-http answering 544 ms 8 min ago

Alternatives to Rollstack

same job, measured the same way
Maven
by metricmaven

Ask questions of your marketing data and build live reports.

answering
Fartlek
by matisdsp

A coach's morning report from your Garmin data, for any LLM via MCP.

96 installs/wk local only
Oviond
by oviond

Build branded agency client reports from 100+ marketing datasources.

answering
Time Tracking
by theluckystrike

Track billable time from your AI chat: timers, entries, reports, CSV export. All data stays local.

20 tools answering
Timesheets
by theluckystrike

Track billable time from your AI chat: timers, entries, reports, CSV export. All data stays local.

20 tools answering
Replyhand
by replyhand

Run your Replyhand inbox, contacts, AI agent and reports from your own AI assistant.

answering
Sesame
by qiwei66

Search and open dashboards, reports, decks and PRs that Claude Code and Codex made on your Mac.

local only
AI Usage
by mohitbansal321

Reports real token usage and cost from Claude Code and OpenCode data. Nothing leaves your machine.

229 installs/wk local only

Rollstack — questions

Answers built from our own checks of this server.

What can Rollstack do?
It exposes 59 tools, read directly from the server on our last check. Among them: addBurstVariants, addReportDatasheets, applyReportTemplate, approveReportMessageProposal, cancelReportMessage, cancelReportRun and 53 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Rollstack working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 572 ms. The bar chart above shows every period we have measured.
How do I connect Rollstack?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Rollstack need an API key?
No. Rollstack completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 59 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Rollstack?
It answers our handshake in 572 ms on average, which is faster than 19% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.