# saveDatabaseDashboard

Make a dashboard for a database, or change one, in one call that saves everything or nothing. Leave dashboard out to make a new one (give name). Each page lists its visuals: a candidate ref from getDatabase's profile, used as it is, or a spec (copy a candidate's spec and change it, or write one from getDashboardVisualGuide). To change a dashboard pass dashboard and the version you read. Name a page by its id or its name (with its id, name renames it); position moves it (1 is the first); filters replaces its own filters; background gives it its own (null: the dashboard's); detailFor makes it a detail page; remove takes it out. A visual with an id is changed (a new spec, or just a title) or taken out with remove; one without an id is added. Every spec is checked before anything is saved and each new visual's numbers are worked out once: one with nothing to show, or only one group, is left out and reported. New tiles go below the others unless the page's layout is tidy: the page is then laid out again in the order its visuals are listed (list them all, existing ones by id alone), so use it to improve or add to a page. size sets a tile's width. place puts a tile exactly where it says, the others flowing round it. A dashboard holds at most 20 pages (fewer on smaller plans) and 30 visuals (8 on Free), 24 on one page; one call takes 20 pages, so make a bigger change over several calls. check: true checks without saving. The answer says what was saved, what was left out, and how to undo it. After every save, look at each page you changed with getDashboardImage and keep changing it until the layout and the visuals look right. Needs write access to the database; a dashboard just for you (personal) needs only read access.

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

## Facts

- Tool: `saveDatabaseDashboard`
- 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: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: https://app.stablebaseline.io
- Server rate-limited: no
- Parameters: 10 (1 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | no | The dashboard's name. Needed for a new one; renames an existing one. |
| `check` | boolean | no | Check without saving. |
| `pages` | array | no |  |
| `filters` | array | no | Filters for the whole dashboard. Replaces the ones it has. |
| `restore` | integer | no | A version id from an earlier answer's undo: put the dashboard back as it was then. Pass only databaseId and dashboard with it. |
| `version` | integer | no | The version you read, when changing a dashboard. |
| `personal` | boolean | no | A new dashboard just for you, not shared with everyone who can open the database. |
| `dashboard` | string | no | The dashboard's id or name. Leave out to make a new dashboard. |
| `background` | object | no | canvas (behind the tiles) and wallpaper (around them): each { image: a picture id, fit: actual, fit or fill, transparency: 0 to 100 }, or null. |
| `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": "saveDatabaseDashboard",
    "arguments": {
      "databaseId": "<databaseId>"
    }
  }
}
```

## Why saveDatabaseDashboard is rated Medium

An AI agent can call saveDatabaseDashboard faster than any human can review: one bad instruction and it creates or modifies resources in Stable Baseline by the hundred, each call as confident as the last.

Risk signals: High parameter count (44 properties)

## Use case

AI agents use saveDatabaseDashboard to create or update resources in Stable Baseline, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Stable Baseline environment.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "saveDatabaseDashboard": {
      "limits": [
        {
          "counter": "savedatabasedashboard_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

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