> ## Documentation Index
> Fetch the complete documentation index at: https://docs.datafold.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Tool Permissions

> Which permissions each MCP tool requires. Use this reference when scoping a service account's group for MCP use.

Each MCP tool requires one or more permissions. Service accounts inherit their group's permissions, so to use a tool the group must include all of its required permissions. Tools that require permissions the service account lacks are automatically hidden from the MCP client.

See [Custom groups](https://docs.datafold.com/security/user-roles-and-permissions.md#custom-groups) for how to set up a group, and [Service accounts](https://docs.datafold.com/security/service-accounts.md) for how to issue an API key.

> [!NOTE]
>
> This page lists the MCP tools available in the current Datafold app (us.datafold.com, eub.datafold.com, and dedicated or customer-hosted deployments). For Datafold Classic, see the [Classic MCP tool permissions](https://docs.datafold.com/classic/security/mcp-tool-permissions.md).

## Minimum permissions to enable every MCP tool

To give a service account access to every MCP tool except those that require **Admin**, create a custom group with the permissions below and assign your service account to it.

* **Cancel diffs** (`cancel_datadiff`)
* **Create diffs** (`create_datadiff`)
* **Edit monitors** (`edit_monitor`)
* **List data sources** (`list_data_sources`)
* **List users** (`list_users`)
* **Run monitors** (`run_monitor`)
* **View diffs** (`view_datadiff`)
* **View monitors** (`view_monitor`)

Custom groups cannot hold the **Admin** permission. Tools that require **Admin** are available only to accounts in the built-in `admin` group. Add the service account to `admin` only if it needs those tools.

## Tools by category

### Organization

| Tool | What it does | Required permissions |
| - | - | - |
| `list_org_members` | Retrieves all active members of the authenticated user's organization. | List users (`list_users`) |

### Data Sources

| Tool | What it does | Required permissions |
| - | - | - |
| `get_dataset_schema` | Get the column schema for a table on a data source. | List data sources (`list_data_sources`) |
| `list_data_sources` | Retrieves all data sources accessible to the authenticated user. | List data sources (`list_data_sources`) |
| `run_query` | Executes a SQL query against the specified data source and returns the results. | List data sources (`list_data_sources`), Create diffs (`create_datadiff`) |

### Source Repos

| Tool | What it does | Required permissions |
| - | - | - |
| `list_source_repos` | List git source repositories configured on the org. | Admin (`admin`) |

### Data Diffs

| Tool | What it does | Required permissions |
| - | - | - |
| `cancel_datadiff` | Cancel a running or queued data diff. | Cancel diffs (`cancel_datadiff`), View diffs (`view_datadiff`) |
| `create_datadiff` | Launches a new data diff to compare two datasets (tables or queries). | Create diffs (`create_datadiff`), View diffs (`view_datadiff`) |
| `get_datadiff_overview` | Retrieves a structured overview of a data diff, mirroring the UI's Overview tab. | View diffs (`view_datadiff`) |
| `get_datadiff_result_section` | Retrieves detailed results for a specific section of a data diff, corresponding to UI tabs. | View diffs (`view_datadiff`) |
| `list_datadiffs` | Lists existing data diffs for the organization, ordered by creation date (newest first). | View diffs (`view_datadiff`) |

### Monitors

Monitors in the current Datafold app are data diff monitors.

| Tool | What it does | Required permissions |
| - | - | - |
| `list_monitors` | Lists the diff monitors you can see, newest first. | View monitors (`view_monitor`) |
| `get_monitor` | Get one diff monitor, including its schedule and data diff definition. | View monitors (`view_monitor`) |
| `get_monitor_as_code` | Export one monitor as a monitors-as-code YAML fragment. | View monitors (`view_monitor`) |
| `get_monitor_run_results` | Get a monitor's runs, newest first, with each run's state (ok, alert, error, or cancelled). | View monitors (`view_monitor`) |
| `get_monitors_schema` | Returns the JSON Schema of the monitors-as-code YAML format (`.datafold/monitors.yml`). | View monitors (`view_monitor`) |
| `provision_monitors` | Create, update, or adopt diff monitors from a monitors-as-code YAML config. | Edit monitors (`edit_monitor`) |
| `trigger_monitor_run` | Start a check of one monitor now, outside its schedule. | Run monitors (`run_monitor`) |
| `trigger_monitors_run` | Start checks for many monitors at once, selected by monitor IDs, tags, or both. | Run monitors (`run_monitor`) |

### Help and feedback

| Tool | What it does | Required permissions |
| - | - | - |
| `get_datafold_guide` | How-to guides for the tools on this server: workflows, parameters, limits, and results. | — |
| `submit_feedback` | Submit feedback to the Datafold team — report bugs, request features, or share general thoughts. | — |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.