{
 "voice": "One card of the book.",
 "agent": {
  "slug": "rollstack",
  "name": "Rollstack",
  "specialty": null,
  "description": "Build, refresh and send Rollstack reports and slide decks from your company's data.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-05T23:17:10.943Z",
  "card": "/agent/rollstack",
  "url": "https://allagents.app/agent/rollstack",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://api.rollstack.com/public/v1/mcp",
   "site": "https://docs.rollstack.com/api/mcp-server"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://docs.rollstack.com/api/mcp-server",
   "hire": null
  },
  "bubble": "closed",
  "score": 62,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-11-06",
   "total": 25,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "listReports",
     "description": "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…"
    },
    {
     "name": "getReport",
     "description": "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…"
    },
    {
     "name": "createReport",
     "description": "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…"
    },
    {
     "name": "duplicateReport",
     "description": "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…"
    },
    {
     "name": "updateReport",
     "description": "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…"
    },
    {
     "name": "listTemplates",
     "description": "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…"
    },
    {
     "name": "applyReportTemplate",
     "description": "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…"
    },
    {
     "name": "getReportMessage",
     "description": "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…"
    },
    {
     "name": "sendReportMessage",
     "description": "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…"
    },
    {
     "name": "approveReportMessageProposal",
     "description": "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…"
    },
    {
     "name": "cancelReportMessage",
     "description": "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."
    },
    {
     "name": "rejectReportMessageProposal",
     "description": "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…"
    },
    {
     "name": "listReportRuns",
     "description": "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…"
    },
    {
     "name": "getReportRun",
     "description": "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…"
    },
    {
     "name": "listReportSyncs",
     "description": "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…"
    },
    {
     "name": "startReportRun",
     "description": "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…"
    },
    {
     "name": "cancelReportRun",
     "description": "Cancels a run of a report, whoever started it. Only its editors may. A run that already ended stays as it is."
    },
    {
     "name": "exportReport",
     "description": "Exports a report as PDF or PowerPoint and answers a download link valid for 15 minutes. At most 10 exports a minute per user."
    },
    {
     "name": "getReportContent",
     "description": "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…"
    },
    {
     "name": "getReportSlideImages",
     "description": "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…"
    },
    {
     "name": "showReport",
     "description": "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…"
    },
    {
     "name": "getReportViewerSlideImages",
     "description": "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."
    },
    {
     "name": "createDataset",
     "description": "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…"
    },
    {
     "name": "replaceDataset",
     "description": "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…"
    },
    {
     "name": "deleteDataset",
     "description": "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…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://api.rollstack.com/public/v1/mcp",
   "answers": true,
   "checked": "2026-11-06T06:03:47.381Z",
   "http": 405,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-06T06:47:14.829Z",
     "since": "2026-11-06T06:47:14.829Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-06T06:47:14.829Z",
    "since": "2026-11-06T06:47:14.829Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 405,
   "checked": "2026-11-06T06:03:47.381Z",
   "last_answer_at": "2026-11-06T06:03:47.381Z",
   "last_ms": 448,
   "checked_at": "2026-11-06T06:03:47.381Z"
  }
 }
}