Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Build, refresh and send Rollstack reports and slide decks from your company's data.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://api.rollstack.com/public/v1/mcp在终端中运行这条命令
claude mcp add --transport http rollstack https://api.rollstack.com/public/v1/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"rollstack": {
"url": "https://api.rollstack.com/public/v1/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"rollstack": {
"type": "http",
"url": "https://api.rollstack.com/public/v1/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://api.rollstack.com/public/v1/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月6日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
listReportsThe 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 se
getReportA 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.
createReportCreates 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.
duplicateReportCopies 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
updateReportRenames 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.
listTemplatesThe 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.
applyReportTemplateSwitches 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 jus
getReportMessageA 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
sendReportMessageAsks 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
approveReportMessageProposalApproves 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 st
cancelReportMessageStops 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.
rejectReportMessageProposalRejects 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, whi
listReportRunsThe 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,
getReportRunA 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
listReportSyncsThe 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 updat
startReportRunRefreshes 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 d
cancelReportRunCancels a run of a report, whoever started it. Only its editors may. A run that already ended stays as it is.
exportReportExports a report as PDF or PowerPoint and answers a download link valid for 15 minutes. At most 10 exports a minute per user.
getReportContentWhat 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.
getReportSlideImagesRenders 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 agains
showReportShows 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
getReportViewerSlideImagesThe 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.
createDatasetStores 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 workbo
replaceDatasetReplaces 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 messag
deleteDatasetDeletes 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.
listReportDatasheetsThe datasheets a report's charts and tables are built from, with their source and when each was last read.
getReportDatasheetDataThe 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
addReportDatasheetsAdds 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 w
getReportParametersA 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.
createReportParameterCreates 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.
shareReportShares 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.
unshareReportRemoves a user's share of a report of any type, and their access to its file when it updates one, as the app does.
getReportSchedulesThe 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.
updateReportSchedulesReplaces 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 schedul
getReportEmailConfigWho 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.
listReportEmailsThe 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.
updateReportEmailConfigSets 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 share
sendReportEmailEmails 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
sendReportTestEmailSends 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.
listBurstsThe 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 c
listBurstVariantsA 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
addBurstVariantsAdds 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
createBurstMakes 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.
startBurstRunStarts 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 list
updateBurstVariantRecipientsSets 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 adm
removeBurstVariantsRemoves 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
listConnectionsThe 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.
searchDashboardsThe 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 f
getDashboardA 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 t
searchSpreadsheetsThe 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
getSpreadsheetA 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 on
listSmtpConnectionsThe user's SMTP connections and the ones shared with the organization, without their credentials.
listFoldersThe 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.
submitFeedbackTells 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
listMembersThe 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.
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册中心没有列出源代码仓库,因此无法将发布者(rollstack.com)与代码对应起来
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 1151 毫秒内响应(HTTP 200)
无需登录
已读取 55 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 2 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.1.2)于昨天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Recta
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cheaper cross-chain stablecoin routes for AI agents; 5 % of the verified saving, nothing if none.
仓库中没有找到 README