# getDashboardImage

Draw one page of a database dashboard as a picture so you can SEE it, as getDiagramImage does for a diagram: every visual at its place on the whole page, however tall, with the numbers as you would see them when the page opens. Call it after every saveDatabaseDashboard and keep changing and looking until the layout and the visuals look right. page is the page's index (1 is the first, as getDatabase lists them), its name or its id; the first page when left out. The answer names the page (its index, of how many) and lists its visuals with their place and state: one with no numbers to draw (nothing matches, not set up, no access) is drawn as the page draws it and named. The page is drawn as a desktop shows it, 1280 pixels wide; one too tall for one picture is drawn smaller, never cut. Returns the picture, and a link to it that works for one hour. format pdf makes a file to give someone instead: a download link, or in an agent's job a file of the job.

Agent View of the PolicyLayer registry record for `getDashboardImage`. HTML page: https://policylayer.com/tools/io-stablebaseline-sb/getdashboardimage

## Facts

- Tool: `getDashboardImage`
- Server: Stable Baseline (`https://api.stablebaseline.io/functions/v1/cloud-serve/mcp`) — https://policylayer.com/tools/io-stablebaseline-sb.md
- Homepage: https://github.com/stablebaseline/mcp
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: https://app.stablebaseline.io
- Server rate-limited: no
- Parameters: 6 (2 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `page` | integer | string | no | The page's index (1 is the first), name or id. |
| `pages` | string | no | For pdf: one (the page, the default) or all, in order. |
| `theme` | string | no | light (the default) or dark. |
| `format` | string | no | png (the default), jpeg or pdf. |
| `dashboard` | string | yes | The dashboard's id or name. |
| `databaseId` | string | yes | The database's id, friendly id (DB-12) or exact name. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "getDashboardImage",
    "arguments": {
      "dashboard": "<dashboard>",
      "databaseId": "<databaseId>"
    }
  }
}
```

## Why getDashboardImage is rated Low

Even though getDashboardImage only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.

Risk signals: Bulk/mass operation — affects multiple targets

## Use case

AI agents call getDashboardImage to retrieve information from Stable Baseline without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Stable Baseline:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "getDashboardImage": {}
  }
}
```

## Other tools on Stable Baseline (221)

- `autoDesignWhiteboard` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/autodesignwhiteboard.md
- `cancelAllKgInScope` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/cancelallkginscope.md
- `cancelKgBuildBatch` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/cancelkgbuildbatch.md
- `delegateToAgent` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/delegatetoagent.md
- `deleteDatabase` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deletedatabase.md
- `deleteDatabaseRows` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deletedatabaserows.md
- `deleteDiagramInDocument` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deletediagramindocument.md
- `deleteDocument` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deletedocument.md
- `deleteFolder` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deletefolder.md
- `deleteImageInDocument` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deleteimageindocument.md
- `deleteImprovement` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deleteimprovement.md
- `deleteImprovementCategory` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deleteimprovementcategory.md
- `deleteImprovementComment` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deleteimprovementcomment.md
- `deletePlan` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deleteplan.md
- `deletePlanComment` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deleteplancomment.md
- `deletePlanPhase` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deleteplanphase.md
- `deleteResourcePermission` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deleteresourcepermission.md
- `deleteTaskDependency` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deletetaskdependency.md
- `deleteTeam` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deleteteam.md
- `deleteVegaDataFile` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deletevegadatafile.md
- `deleteWhiteboard` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/deletewhiteboard.md
- `getAgentRun` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/getagentrun.md
- `previewKgScopeChange` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/previewkgscopechange.md
- `previewSubscriptionChange` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/previewsubscriptionchange.md
- `removeMember` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/removemember.md
- `removeTeamMember` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/removeteammember.md
- `removeWorkspaceMember` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/removeworkspacemember.md
- `reorderDocuments` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/reorderdocuments.md
- `resetDocumentInBrain` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/resetdocumentinbrain.md
- `revokeTeamWorkspaceAccess` — Destructive — https://policylayer.com/tools/io-stablebaseline-sb/revoketeamworkspaceaccess.md
- …and 191 more: https://policylayer.com/tools/io-stablebaseline-sb.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-stablebaseline-sb · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-stablebaseline-sb
