Rollstack

com.rollstack由 rollstack.com 发布官方发布者v1.1.2更新于 Nov 5, 2026

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

已验证Streamable HTTP可网页运行效率与工作流沟通与协作数据与分析

概览

AI 生成的概览

Rollstack 的远程 MCP 服务器,让助手基于公司数据构建、刷新、导出、共享和邮件发送幻灯片报告。

可以做什么
  • 列出、查看、创建、重命名、移动和共享报告,并管理其计划与邮件设置
  • 向幻灯片智能体发送消息、跟踪回复,并批准或拒绝其提出的变更
  • 启动、跟踪和取消报告运行,刷新数据并修复幻灯片
  • 查看报告内容、幻灯片图片、数据表、数据表数据与参数
  • 将报告导出为 PDF 或 PowerPoint,并发送报告邮件或测试邮件
  • 管理 burst:创建、增删变体、设置变体收件人并运行全部变体
适用场景
适合团队把报表放在 Rollstack 中,希望助手根据 BI 仪表板生成或更新幻灯片、检查幻灯片外观,或在不打开应用的情况下处理共享、计划和邮件发送。
运行要求
需要 api.rollstack.com 上的远程 streamable HTTP 端点;未声明任何软件包、环境变量或请求头。它使用用户本人的 Rollstack 账号与组织,权限限于该用户可见和可编辑的内容,并依赖已有的数据源连接,如 Looker、Tableau、Power BI、Sigma、Metabase、Omni 或 Lightdash。
安装前请注意
许多工具会修改或删除数据:创建和更新报告、共享与取消共享、替换计划与邮件设置、发送邮件、删除数据集以及移除 burst 变体。批准提案会实际应用变更或发送邮件,因此只应在用户看过提案后执行。数据表数据可能包含幻灯片从未展示的行和列。工具结果可能含有组织成员撰写的文本,应视为数据而非指令。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Rollstack,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.rollstack%2Fmcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "rollstack": {
      "type": "http",
      "url": "https://api.rollstack.com/public/v1/mcp"
    }
  }
}

工具

46

listReports

List reports

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, email and ownership transfer take SlideDeck reports 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.

输入参数query

getReport

Get report

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.

输入参数params必填

createReport

Create report

Creates a report of type SlideDeck, in a folder the user can see when folderId is set. It starts empty, or with the look of templateDeckId: its theme, masters and layouts, without its slides. The template must be a SlideDeck report the user may duplicate.

输入参数body必填

updateReport

Update report

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.

输入参数body必填params必填

getReportMessage

Get slides agent message

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.

输入参数queryparams必填

sendReportMessage

Send message to slides agent

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 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.

输入参数body必填params必填

approveReportMessageProposal

Approve slides agent proposal

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.

输入参数params必填

cancelReportMessage

Cancel slides agent message

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.

输入参数params必填

rejectReportMessageProposal

Reject slides agent proposal

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.

输入参数params必填

getReportRun

Get report run

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.

输入参数queryparams必填

startReportRun

Start report run

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 visualization instead, as Update in the app does, updating its file when it has one (an Email report has none), and emails the report when its email trigger is all. 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.

输入参数bodyparams必填

cancelReportRun

Cancel report run

Cancels a run of a report, whoever started it. Only its editors may. A run that already ended stays as it is.

输入参数params必填

exportReport

Export report

Exports a report as PDF or PowerPoint and answers a download link valid for 15 minutes. At most 10 exports a minute per user.

输入参数body必填params必填

getReportContent

Get report content

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.

输入参数queryparams必填

getReportSlideImages

Get slide images

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.

输入参数query必填params必填

createDataset

Upload a file

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.

输入参数body必填

replaceDataset

Replace an uploaded file

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.

输入参数body必填params必填

deleteDataset

Delete an uploaded file

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.

输入参数params必填

listReportDatasheets

List report datasheets

The datasheets a report's charts and tables are built from, with their source and when each was last read.

输入参数params必填

getReportDatasheetData

Get datasheet data

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 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.

输入参数queryparams必填

addReportDatasheets

Add sources to report

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, except Tableau's and Power BI's, whose charts only the app lists. 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.

输入参数body必填params必填

getReportParameters

Get report parameters

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.

输入参数params必填

createReportParameter

Create report parameter

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.

输入参数body必填params必填

shareReport

Share report

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.

输入参数body必填params必填

unshareReport

Unshare report

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.

输入参数params必填

updateReportSchedules

Replace report schedules

Replaces the schedules of a report of any type, at most 10; an empty list removes them all. Only its editors may. Every scheduled run updates the whole report: an AI update on a SlideDeck report, and a refresh of every visualization on a report that updates a file. Schedules are checked every 15 minutes, so a cron that fires more often still runs at most once per 15 minutes.

输入参数body必填params必填

getReportEmailConfig

Get email settings

Who a report's email goes to and how it is sent. Answers 404 until its email is set up.

输入参数params必填

updateReportEmailConfig

Replace email settings

Sets who a report's email goes to and how it is sent, replacing the whole setup. Only its editors may. The sender must be the user's own or shared with the organization.

输入参数body必填params必填

sendReportEmail

Send email

Emails a report to its recipients now, as it is. Only its editors may. Answers 400 when it has no recipients. 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.

输入参数params必填

sendReportTestEmail

Send test email

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.

输入参数params必填

listBursts

List bursts

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.

输入参数query

listBurstVariants

List burst variants

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.

输入参数queryparams必填

addBurstVariants

Add burst variants

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 names the variants are added with; follow them in adding from listBurstVariants.

输入参数body必填params必填

createBurst

Create burst

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.

输入参数body必填

startBurstRun

Run burst variants

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 in listBurstVariants, whose running and lastRunStatus tell where each stands, or one by one with getReportRun. A variant already running answers that run and starts nothing.

输入参数bodyparams必填

updateBurstVariantRecipients

Set variant recipients

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.

输入参数body必填params必填

removeBurstVariants

Remove burst variants

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.

输入参数body必填params必填

listConnections

List connections

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.

无需输入参数。

searchDashboards

Search dashboards

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. 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.

输入参数queryparams必填

getDashboard

Get dashboard

A dashboard of a Looker, Metabase, Omni, Lightdash, Sigma, Tableau or Power BI connection, read with the user's access to the connection: 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, which only the app reads; 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.

输入参数queryparams必填

searchSpreadsheets

Search spreadsheets

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.

输入参数query

getSpreadsheet

Get spreadsheet

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.

输入参数params必填

listSmtpConnections

List SMTP connections

The user's SMTP connections and the ones shared with the organization, without their credentials.

无需输入参数。

listFolders

List folders

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.

无需输入参数。

submitFeedback

Send feedback

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 whenever you get stuck, before you answer the user. 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.

输入参数body必填

listMembers

List members

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.

输入参数query

版本历史

2
  1. v1.1.2最新Nov 5, 2026
  2. v1.0.70Nov 5, 2026

评分

已满足适用检查项的 83%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证不适用

    托管服务按其提供方的条款使用,因此这里不要求许可证。此检查项不计入百分比。