Update from code changes: MCP permission-gated write tools#1025
Merged
Conversation
…scheduled deliveries
Contributor
🤖 Documentation Bot✅ All checks passed! No issues found. |
Contributor
Author
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
Contributor
Author
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
notgiorgi
reviewed
Jul 20, 2026
| </Info> | ||
|
|
||
| <Info> | ||
| **Per-user permission gate.** `create_content` and `edit_content` are also gated on the caller's role having the `create:ContentAsCode` scope. The check runs when tools are registered, so users whose role doesn't grant that scope simply won't see these tools in `tools/list`. Built-in **Editors**, **Developers**, and **Admins** hold this scope by default; **Interactive Viewers** and **Viewers** do not. Custom roles need `create:ContentAsCode` added explicitly — see [custom roles](/references/workspace/custom-roles). Project, space, and content-level checks continue to be enforced at invocation time on top of registration gating. |
Contributor
There was a problem hiding this comment.
create:ContentAsCode is a minimum, manage also works
Contributor
There was a problem hiding this comment.
do not mention tool names like create_content mention them by product-facing name: e.g. Creating and editing content tools
|
|
||
| #### Scheduled deliveries | ||
|
|
||
| - **Create scheduled delivery** (`create_scheduled_delivery`) - Schedule an existing chart or dashboard to be delivered on a cron schedule to Slack, email, or another supported destination. Point the tool at the content by slug and pass the schedule and recipients — the delivery is created against the active project using the caller's permissions. |
Contributor
There was a problem hiding this comment.
same about snake case names here.
|
|
||
| - **Create scheduled delivery** (`create_scheduled_delivery`) - Schedule an existing chart or dashboard to be delivered on a cron schedule to Slack, email, or another supported destination. Point the tool at the content by slug and pass the schedule and recipients — the delivery is created against the active project using the caller's permissions. | ||
|
|
||
| `create_scheduled_delivery` is registered independently from the content-write tools, so an organization can enable scheduled delivery MCP without enabling broader chart/dashboard writes for the same user (or vice versa). Two conditions must both be true for the tool to appear: |
Contributor
There was a problem hiding this comment.
same here. also no need to
| `create_scheduled_delivery` is registered independently from the content-write tools, so an organization can enable scheduled delivery MCP without enabling broader chart/dashboard writes for the same user (or vice versa). Two conditions must both be true for the tool to appear: | ||
|
|
||
| 1. The **Allow content changes via MCP** organization setting is on (**Settings → Ask AI → General**). This is the same kill-switch that controls `create_content` and `edit_content`. | ||
| 2. The caller's role grants the `create:ScheduledDeliveries` scope. Built-in **Interactive Viewers**, **Editors**, **Developers**, and **Admins** hold this scope by default; **Viewers** do not. Custom roles need `create:ScheduledDeliveries` added explicitly. |
Contributor
There was a problem hiding this comment.
no need to mention content tools in this section
Contributor
🤖 Documentation Bot✅ All checks passed! No issues found. |
Contributor
🤖 Documentation Bot✅ All checks passed! No issues found. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Update the Lightdash MCP reference to document the new per-user permission gating that decides which write tools appear in an MCP session.
Changes
create_contentandedit_contentare now only registered for callers whose role grantscreate:ContentAsCode, on top of the existing organization "Allow content changes via MCP" setting.create_scheduled_deliveryMCP tool, its dual gate (org setting +create:ScheduledDeliveriesscope), and how it can be enabled independently of broader content writes.create:ContentAsCode; Interactive Viewers/Editors/Developers/Admins havecreate:ScheduledDeliveries; Viewers have neither. Custom roles need the scopes added explicitly.Context
Follows lightdash/lightdash#25648 and lightdash/lightdash#25650, which move the MCP content-write and scheduled-delivery tools from invocation-time to registration-time permission checks.