Skip to main content
Glama

Delta Sharing: shares, recipients, providers

manage_uc_sharing
Destructive

Manage Unity Catalog Delta Sharing shares, recipients, and providers, including permissions, objects, tokens, and provider shares with confirmation for sensitive changes.

Instructions

Manage Delta Sharing shares, recipients and providers.

  • share: list | get(name) | create(name, spec{comment, storage_root}) | update(name, spec{comment, new_name, owner, storage_root, updates}) | delete | add_objects / remove_objects(name, objects) | get_permissions(name) | update_permissions(name, changes=[{principal, add, remove}]).

  • recipient: list | get | create(name, spec{authentication_type: TOKEN|DATABRICKS|OIDC_FEDERATION|..., data_recipient_global_metastore_id, comment, ip_access_list, expiration_time, owner, properties_kvpairs}) | update | delete | get_permissions (shares it can read) | rotate_token(existing_token_expire_in_seconds).

  • provider: list | get | create(name, spec{authentication_type, recipient_profile_str, comment}) | update | delete | list_shares. All changes are security-sensitive and need confirm=true after reviewing the plan (adding objects or granting recipients is external data exposure). Activation links, tokens and provider credentials are never returned.

Safety classification: depends on input (DESTRUCTIVE, READ_ONLY, SECURITY_SENSITIVE, WRITE).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoShare / recipient / provider name.
specNoRequest body fields for create/update, using the Databricks REST API field names (snake_case). Unknown fields are rejected.
actionYesAll: list, get, create, update, delete. share: add_objects, remove_objects, get_permissions (recipients with access), update_permissions. recipient: get_permissions (shares it can access), rotate_token. provider: list_shares.
changesNoupdate_permissions: [{principal: <recipient>, add: ['SELECT'], remove: [...]}].
confirmNoSet to true ONLY after the user has reviewed the plan returned by a previous call with status 'confirmation_required'. Required for destructive/security-sensitive actions.
dry_runNoIf true, validate and return the planned change without executing it.
objectsNoadd_objects/remove_objects: data objects, e.g. {name: 'cat.sch.tbl', data_object_type: 'TABLE', shared_as?, cdf_enabled?, history_data_sharing_status?, partitions?, comment?}; remove_objects also accepts plain names.
resourceYesDelta Sharing object type.
page_sizeNoMax items to return (server caps this).
page_tokenNonext_page_token from a previous response.
include_shared_dataNoshare get: include the shared objects.
existing_token_expire_in_secondsNorotate_token: seconds until the current token expires (0 = immediately).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
pageNo
planNo
toolYes
actionNo
safetyNo
statusNosuccess
summaryYes
warningsNo
next_stepsNoSuggested follow-up calls.
request_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true, yet the description goes further: it explains the two-step confirm workflow keyed off a 'confirmation_required' status, warns that adding objects/granting recipients is external data exposure, and states that activation links, tokens, and provider credentials are never returned. This is substantial behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is front-loaded and the per-resource bullets are scannable, but the action enumeration partially duplicates the action enum description in the schema, adding length without new information. Still well-organized and each remaining sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the description covers the mutation/confirmation flow, the redaction policy, and the resource-action matrix. An agent has everything needed to select an action and invoke it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter including confirm, dry_run, objects, and changes is already documented in the schema. The description's field listings (spec fields, permission changes) largely restate what the enum and property descriptions provide, so it adds only marginal meaning. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (manage) and resource set (Delta Sharing shares, recipients, providers), then enumerates the exact sub-actions per resource type. This clearly separates it from adjacent siblings like manage_uc_connections, manage_uc_grants, or manage_uc_objects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The per-resource action breakdown effectively routes the agent to the correct action, and it flags that modifications are security-sensitive requiring confirm=true after reviewing the plan. It stops short of naming alternative tools or explicit when-not-to-use conditions, but for a multiplexed tool the action mapping is unusually clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.