Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MEDIAGRAPH_PATYesPersonal Access Token (headless auth)
MEDIAGRAPH_ORGANIZATION_IDYesOrganization id (required with PAT)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
whoamiA

Get information about the currently authenticated user and organization

get_organizationA

Get details about an organization by ID

find_organizationA

Find an organization by slug. Useful when you have a custom-domain URL or know the slug but not the id.

get_organization_abilitiesA

Get the current user's role-derived abilities (manage Asset, view_details Tag, etc.) in an organization. Pair with INSUFFICIENT_SCOPE errors so you can distinguish role denial from missing token scope.

list_my_organizationsA

List every organization the current user belongs to (across orgs). Useful for multi-tenant agents picking which org to operate in.

list_my_invitesA

List pending org invitations addressed to the current user.

accept_my_inviteB

Accept a pending org invitation by id.

get_my_otp_uriA

Get the otpauth:// URI for setting up TOTP 2FA on the current user account (encode in a QR code).

enable_my_otpA

Enable TOTP 2FA on the current user account by confirming a 6-digit code.

disable_my_otpA

Disable TOTP 2FA on the current user account.

list_membershipsC

List organization memberships

get_membershipB

Get membership details by ID

update_membershipD

Update a membership

reauthorizeA

Re-run the OAuth authorization flow. Use this to switch to a different Mediagraph organization or re-authenticate.

search_assetsA

Search for assets using filters and advanced query operators.

ADVANCED SEARCH QUERY SYNTAX (for the 'q' parameter):

  • Basic: Just type a term to search all fields (e.g., "dog")

  • Exclude: Use NOT or minus to exclude (e.g., "NOT dog" or "-dog")

  • Combine: Use AND, OR, NOT (e.g., "dog AND cat", "dog OR cat", "dog NOT cat")

  • Field search: Use field:value syntax (e.g., "tag_text:nature", "filename.keyword:IMG_1234.jpg")

  • Wildcards: Use * (zero or more chars) or ? (single char) (e.g., "tag_text:part*", "tag_text:?artial")

  • Existence: Use field:** to find assets with any value, NOT field:** for empty (e.g., "NOT tag_text:**" finds untagged assets)

  • Complex: Use parentheses for grouping (e.g., "(dog OR cat) AND ext:jpg")

NOTE on multi-word queries: the API uses Elasticsearch cross_fields, so a multi-word query like "red barn" can match if "red" appears in one field and "barn" appears in another. Quote phrases ("red barn") to require both terms in the same field.

Sort: pass either 'order' or its alias 'direction' (asc/desc). Results have an implicit id:asc tiebreaker (except when using a custom sort).

COMMON SEARCH FIELDS:

  • tag_text: Keywords/tags

  • filename.keyword: Exact filename

  • description: Asset description

  • title: Asset title

  • ext: File extension

  • creator_text: Creator/photographer name

  • copyright: Copyright text

  • city, state, country: Location fields

get_assetC

Get detailed information about a specific asset

update_assetC

Update asset metadata

delete_assetA

Delete (trash) an asset

add_tags_to_assetC

Add tags to an asset

get_asset_downloadB

Get a download URL for an asset

bulk_download_assetsA

Get a download URL for multiple assets (returns a ZIP file)

get_asset_auto_tagsB

Get AI-generated auto tags for an asset

get_asset_face_taggingsB

Get face taggings for an asset

tag_video_faceC

Manually tag a face track in a video; indexes the cropped frame into Rekognition.

detect_video_facesA

Trigger face detection for an existing video asset (for videos uploaded before video face tagging shipped).

tag_asset_faceA

Manually tag a detected face crop on an image asset and index it into Rekognition for org-wide face matching.

Workflow for "upload a headshot for a person tag":

  1. Upload the headshot via upload_file (optionally with the person tag attached).

  2. Call get_asset_face_taggings to get the face_id of the detected face crop.

  3. Call tag_asset_face with the person tag's id (or a new name) + that face_id.

After indexing, future uploads automatically run face matching against this person.

search_asset_facesB

Run face search on an asset using the org-wide face index; matches detected faces to indexed person tags. Reindexes the asset on success.

block_asset_faceA

Block a detected face crop on an asset (creates a "Blocked Face" tag and excludes from future matching).

ignore_asset_face_toggleA

Toggle the per-asset "ignore" state on a detected face id. Useful for hiding low-confidence detections without blocking the face globally.

ignore_asset_unidentified_facesA

Hide all unidentified (unmatched) face crops on an asset.

set_asset_custom_metaA

Write to a custom meta field on an asset. The field's shape determines which value param to pass:

  • free (free-text): pass value (or text)

  • select (single-pick): pass custom_meta_value_id

  • multi (multi-pick): pass custom_meta_value_ids (array)

Pass none of value/text/*_id to clear the field. The asset is reindexed on success.

explain_asset_searchA

Super-admin diagnostic: show which Elasticsearch fields/terms matched a query for a given asset.

delete_published_imageA

Delete a single PublishedImage row. Auto-cleans the parent PublishedAsset when the last image is removed.

get_asset_versionsB

Get version history for an asset

revert_assetB

Revert an asset to a previous version

get_asset_countsC

Get asset counts with optional filters

get_trashed_assetsC

Get trashed assets

get_popular_assetsD

Get popular assets

bulk_edit_assetsA

Update fields on many assets in a single call. Pass an updates object with the same field names as update_asset (title, description, alt_text, caption, credit, copyright, etc.).

bulk_add_tags_to_assetsB

Add the same tag names to many assets at once.

bulk_remove_tags_from_assetsA

Remove the same tag names from many assets at once.

bulk_set_asset_rights_packageA

Set (or clear with null) the rights package on many assets in one call.

bulk_set_asset_creator_tagA

Set (or clear with null) the creator tag on many assets in one call.

remove_assets_from_groupA

Remove many assets from a collection / lightbox / storage folder at once.

auto_tag_assetA

Run Rekognition / Vision auto-tagging on a single asset. Existing auto-tags are preserved; new ones are appended.

remove_asset_auto_tagB

Dismiss a specific auto-tag from this asset (does not delete the auto-tag globally).

generate_asset_alt_textA

Generate accessibility alt text for an asset using AI; saves to the alt_text field.

run_asset_aiA

Invoke an AI-enabled custom meta field action on an asset (e.g., LLM-driven extraction, classification, or description).

clear_asset_nsfwA

Mark an NSFW detection as a false positive on an asset; clears the moderation flag and re-indexes.

restore_assetA

Restore a trashed asset (undo delete_asset).

get_asset_metaA

Get extracted EXIF / IPTC / XMP / file metadata for an asset.

get_asset_contentB

Get extracted text content for a document asset (PDF/DOCX/etc.).

get_asset_ocr_contentB

Get OCR-extracted text from an image asset.

update_asset_descriptionA

Patch only the description field on an asset (lighter than update_asset; does not touch other fields).

get_selected_assetsA

Fetch full asset records for an explicit ID list in one call. Use after search_assets returned a set of IDs and you want full attributes without N round-trips.

get_assets_updated_since_last_syncA

Sync helper: returns asset ids that changed since last_sync_at (or since the server-tracked last_external_sync_at if omitted). Useful for export/mirror jobs.

get_asset_event_logB

Audit trail for an asset: every version + who did what, paginated.

get_asset_added_byA

Find which user added a given asset to a given asset_group (collection / lightbox / folder).

add_asset_versionA

Initiate an upload of a NEW version of an existing asset. Returns a signed S3 URL; PUT the file there to complete. For end-to-end uploads from disk, prefer upload_file with the asset id.

slice_new_asset_versionA

Slice a video asset between start and end (seconds) and queue the result as a NEW VERSION of the same asset. Async — poll the asset.

slice_new_assetA

Slice a video asset between start and end (seconds) and queue the result as a brand-NEW asset (optionally added to a lightbox).

set_asset_preview_image_from_timeA

For a video asset: set the poster/preview image from the frame at seconds into the video.

upload_asset_transcriptB

Upload a closed-caption / transcript text for a video asset (e.g. WebVTT or plain text).

list_collectionsC

List collections in the organization

get_collectionC

Get collection details

create_collectionC

Create a new collection

update_collectionD

Update a collection

delete_collectionC

Delete a collection

add_asset_to_collectionC

Add an asset to a collection

get_collections_treeA

Get collections hierarchy as a tree

add_assets_to_groupA

Add multiple assets to a Collection or Lightbox at once

list_lightboxesB

List lightboxes in the organization

get_lightboxB

Get lightbox details

create_lightboxC

Create a new lightbox

update_lightboxC

Update a lightbox

delete_lightboxB

Delete a lightbox

add_asset_to_lightboxB

Add an asset to a lightbox

get_lightboxes_treeB

Get lightboxes hierarchy as a tree

list_storage_foldersC

List storage folders

get_storage_folderB

Get storage folder details

create_storage_folderD

Create a new storage folder

get_storage_folders_treeA

Get storage folders hierarchy as a tree

transfer_lightbox_ownershipA

Transfer ownership of a lightbox to another user (by user id).

apply_lightbox_membership_assetsA

Push a lightbox membership's pinned assets out to all members (creates per-member copies). Used to broadcast curated picks to a shared lightbox.

remove_lightbox_membership_assetsB

Remove pinned-assets from a lightbox membership (counterpart to apply).

list_asset_group_invitesB

List pending and accepted invitations to collections, lightboxes, and storage folders.

get_asset_group_inviteB

Get an asset group invite by id.

create_asset_group_inviteA

Invite a user (by email) or existing membership to a collection / lightbox / storage folder.

update_asset_group_inviteB

Update an asset group invite (e.g. change role).

delete_asset_group_inviteB

Cancel/revoke an asset group invite.

list_tagsC

List tags in the organization

check_tag_nameA

Async uniqueness check for a tag name (e.g., for artwork inventory numbers). Returns { exists: boolean }.

get_tagC

Get tag details

create_tagA

Create a new tag. Supports the full enrichment surface (description, sub_type, link, event fields, artwork fields, external-system identifiers).

update_tagB

Update a tag — accepts every enrichment field (description, sub_type, link, event fields, artwork fields, external-system links, synonym graph).

delete_tagB

Delete a tag

merge_tagsA

Merge one tag into another. With set_synonym=true, the source tag is preserved as a synonym of the target instead of being deleted.

reset_tag_faceA

Clear face-tagging state on a person tag and re-enqueue Rekognition indexing.

add_tag_to_taxonomyB

Add an existing tag to a taxonomy as a taxonomy_tag.

remove_tag_taxonomiesA

Detach a tag from all taxonomies it belongs to.

bulk_find_tagsA

Find or stub many tags by name in a single call. Returns existing tags where matched, otherwise unsaved Tag-shaped records the agent can persist.

bulk_update_tagsC

Apply a single change to many tags (set list, attach/detach taxonomy).

bulk_delete_tagsA

Delete many tags by id in a single call.

get_tag_eventsB

List recent tag activity events for the org. Optionally filter by year/month.

get_recent_tag_eventsA

Top 10 most recent tag activity events (no pagination).

get_tag_associated_facesA

List the face crops currently associated with a person tag (across the org).

set_tag_face_membershipA

Associate a person tag with a user (by email). The user becomes the canonical "face" for the tag — useful for faceless tags that need to point to a real person.

remove_tag_face_membershipC

Remove the user-membership association from a person tag.

set_tag_face_creator_tagA

Link a person tag to a creator tag by name. Photos created by that creator gain the linked person tag automatically.

remove_tag_face_creator_tagB

Unlink the creator-tag association from a person tag.

set_main_face_for_taggingA

Promote a tagging to the canonical face for its tag. Used after tag_asset_face to pick which crop represents the person.

associate_tagging_with_faceA

Associate an existing tagging with a Rekognition face id (link tagging → detected face crop).

disassociate_tagging_with_faceA

Remove the face-crop association from a tagging.

get_taggingB

Get details of a specific tagging (tag-to-asset relationship)

delete_taggingA

Remove a tagging (untag an asset)

list_auto_tagsB

List AI-generated auto tags

get_auto_tagC

Get auto tag details

bulk_find_auto_tagsA

Find multiple auto tags by their names at once

delete_auto_tagC

Delete/dismiss an auto tag

list_taxonomiesB

List taxonomies (controlled vocabularies)

get_taxonomyC

Get taxonomy details

create_taxonomyC

Create a new taxonomy

update_taxonomyC

Update a taxonomy (name, description, etc.).

delete_taxonomyA

Delete a taxonomy. Tags inside it are detached, not deleted.

list_taxonomy_tagsB

List tags within a taxonomy

get_taxonomy_tags_treeA

Hierarchical tree view of all taxonomy_tags within a taxonomy (parent → children).

get_taxonomy_tags_visible_asset_countsA

Count assets visible-to-current-user under each taxonomy_tag id (for displaying counts in a tree view).

bulk_find_taxonomy_tagsA

Find or stub many taxonomy_tags by name in a single call (top-level — searches across taxonomies).

create_taxonomy_tagC

Create a tag within a taxonomy

update_taxonomy_tagC

Update a tag inside a taxonomy.

delete_taxonomy_tagC

Delete a tag from a taxonomy.

list_creator_tagsC

List creator/photographer tags

create_creator_tagC

Create a new creator tag

list_rights_packagesB

List rights packages for managing asset usage rights

get_rights_packageC

Get rights package details

create_rights_packageC

Create a new rights package

list_share_linksC

List share links

get_share_linkC

Get share link details

create_share_linkB

Create a share link for a Collection, Lightbox, or Storage Folder

delete_share_linkC

Delete a share link

list_access_requestsC

List access requests and grants

get_access_requestC

Get access request details

submit_access_requestD

Submit an access request

get_share_statusA

Lightweight status poll for a share (aasm_state, progress, code, url, direct_link)

list_sharesA

List shares (one-off transfers of an asset/group to a user, distinct from public share_links).

get_shareB

Get a share by id.

create_shareC

Create a share (transfer assets / a group to a user). See Mediagraph share docs for the body fields supported by your org.

delete_shareB

Revoke / delete a share by id.

get_share_htmlA

Render the HTML email body that would be sent for this share (preview).

get_share_assetsA

List the assets included in a share.

create_access_requestA

Create a draft access request (pre-submit). Use submit_access_request to send it.

update_access_requestC

Update an in-progress access request.

delete_access_requestB

Delete an access request.

finalize_access_requestA

Admin: finalize a submitted access request — approves and grants access.

revoke_access_requestB

Admin: revoke a previously granted access request.

agree_to_access_requestB

Guest: record agreement to terms / NDA on an access request.

set_access_request_custom_metaB

Set a custom meta field value on an access request (mirrors set_asset_custom_meta).

find_access_requestA

Find an access request by guid (used in guest-link resolution).

get_access_requests_treeA

Hierarchical tree view of access requests by asset group.

list_access_grantsA

List access grants (the records produced when an access request is finalized).

delete_access_grantC

Delete (revoke) an access grant.

list_bulk_jobsC

List bulk jobs

get_bulk_jobB

Get bulk job details and status

create_bulk_jobA

Create a bulk job for batch operations on assets. Supports multiple operation types:

  • Tag management: use tag_names + tag_mode (add/remove/replace)

  • Metadata updates: use description + description_mode (set/append/prepend), rating, rights_package_id

  • Organization: use add_asset_group_id + add_asset_group_type (Collection/Lightbox/StorageFolder)

  • AI processing: use run_custom_meta_field_ids + cmf_overwrite_mode (skip/overwrite)

  • Bulk actions: use destroy_all, restore_all, or generate_alt_text

preview_rename_bulk_jobA

Preview the filenames a rename bulk job will produce, before submitting it.

cancel_bulk_jobB

Cancel a running bulk job

get_bulk_job_queue_positionB

Get queue position for a bulk job

list_meta_importsC

List metadata import jobs

get_meta_importC

Get metadata import job details

list_ingestionsC

List ingestion jobs

list_custom_meta_fieldsC

List custom metadata fields

get_custom_meta_fieldB

Get custom meta field details

create_custom_meta_fieldC

Create a custom metadata field

list_workflowsC

List workflows

get_workflowC

Get workflow details

create_workflowC

Create a new workflow.

update_workflowD

Update a workflow.

delete_workflowA

Delete a workflow. In-flight workflow_steps may need to be cancelled separately.

list_workflow_stepsA

List workflow steps (the user-facing approval queue).

get_workflow_stepA

Get a workflow step by id.

create_workflow_stepB

Create a workflow step (typically attached to a workflow + asset_group).

update_workflow_stepC

Update a workflow step.

delete_workflow_stepB

Delete a workflow step.

approve_workflow_stepB

Approve all selected assets in a workflow step, moving them to the next step.

approve_workflow_step_picksA

Approve a curated subset (picks) within a workflow step. Same shape as approve_workflow_step but only the chosen assets advance.

list_commentsA

List comments on a Lightbox or Collection

create_commentA

Create a new comment on a Lightbox or Collection. Supports markdown and @mentions.

update_commentA

Update a comment. Only the comment author can update their own comments.

delete_commentA

Delete a comment. Only the comment author can delete their own comments.

list_notificationsC

List notifications

get_notification_countA

Get unread notification count

create_downloadC

Create a batch download for multiple assets

get_downloadC

Get download status and URL

upload_fileA

Upload a file to Mediagraph. Two body modes (file_path or file_data) and three session modes:

Body modes:

  1. Local file: Provide file_path for files on the user's local filesystem

  2. Direct upload: Provide file_data (base64-encoded) with filename for files from other sources

Session modes (mutually exclusive):

  • Default: a fresh one-shot upload session is created and finalized for this single file.

  • upload_guid: append to an existing session created via create_upload_session. The session is NOT finalized; call set_upload_done when your batch is complete.

  • contribution_id: upload via a contribution's configured destination (storage folder / lightbox).

Files >16 MiB automatically use S3 multipart upload (parallel parts, retry per part); smaller files go through a single signed PUT.

upload_filesA

Upload multiple files from the local filesystem in one operation.

Session behavior:

  • Default: creates one fresh session, uploads all files into it, finalizes it.

  • upload_guid: appends to an existing session; does NOT finalize (caller's job).

  • contribution_id: routes the new session through a contribution.

Files >16 MiB use S3 multipart automatically.

create_upload_sessionA

Create a long-lived upload session that you can append files to over multiple upload_file / upload_files calls.

Use this when batch-uploading many files from a script or agent loop, when you want them grouped under one upload in the Mediagraph UI, or when you need to resume after a crash.

Returns the session guid plus aws_key/bucket (used internally for direct-to-S3 multipart). Call set_upload_done with the returned id when the batch is complete.

set_upload_doneA

Finalize an upload session, marking it as complete. Triggers any post-upload hooks (notifications, contribution acceptance, etc.). Call this after the last upload_file/upload_files in a batch you opened with create_upload_session.

list_webhooksB

List webhooks

get_webhookB

Get webhook details

create_webhookB

Create a webhook to receive event notifications

delete_webhookB

Delete a webhook

get_webhook_logsC

Get webhook delivery logs

list_user_groupsC

List user groups

get_user_groupA

Get a user group by id (members + permissions).

create_user_groupC

Create a user group

update_user_groupC

Update a user group (name, description, etc.).

delete_user_groupA

Delete a user group. Members are not deleted.

list_invitesC

List pending invites

create_inviteB

Invite a user to the organization

update_inviteB

Update an invite (change role or note)

resend_inviteB

Resend an invite email

find_inviteA

Look up an invite by token (for the public invite-acceptance flow).

check_invite_emailA

Check whether a given email is a valid recipient for a new invite (already has account, already in org, etc.).

get_available_invite_role_levelsA

Return the list of role_level values that the current user is allowed to grant in an invite. Helps prevent BAD_ARGS at create time.

accept_inviteA

Accept an invite using its email-link token (public flow — distinct from accept_my_invite which uses the profile-scoped invite list for an authenticated user).

find_membershipB

Find a single membership in the current org by username OR user_id.

search_membershipsA

Search memberships within a comment context (collection / lightbox) — used for assignee pickers and @-mention lookups in commenting flows.

update_membership_statusA

Update the AASM status of a membership (e.g. activate, suspend). Different from update_membership which patches role_level / preferences.

list_membership_requestsA

List pending requests from users asking to join the current org.

get_pending_membership_requests_countA

Count of pending membership requests (for badging admin dashboards).

list_filter_groupsC

List saved filter groups

get_filter_groupC

Get filter group details

create_filter_groupC

Create a new filter group with saved filter configurations

update_filter_groupC

Update a filter group

update_filter_group_visibilityB

Update the visibility of a specific filter within a filter group

delete_filter_groupB

Delete a filter group

list_search_queriesB

List saved search queries

get_search_queryC

Get search query details

create_search_queryA

Save a new search query. The sql field should contain an Elasticsearch SQL WHERE clause.

update_search_queryA

Update a saved search query name or description. Note: The SQL query cannot be changed after creation.

delete_search_queryB

Delete a saved search query

list_crop_presetsC

List crop presets

create_crop_presetC

Create a crop preset

can_uploadA

Check if uploads are allowed (storage quota)

list_uploadsC

List upload sessions

add_assets_to_uploadB

Add assets to an upload session

list_contributionsA

List contribution portals (upload links). Use contribution_id with upload_file/upload_files to upload to a specific storage folder or lightbox.

get_contributionC

Get contribution details

create_contributionB

Create a new contribution portal (named upload link tied to a collection / lightbox / folder).

update_contributionC

Update a contribution portal.

delete_contributionC

Delete a contribution portal.

find_contributionC

Find a contribution by slug.

list_featured_contributionsA

List featured contribution portals (those highlighted in the org UI).

list_group_contributionsB

List contributions tied to a collection / lightbox / folder.

list_lightbox_contributionsB

List contributions tied to lightboxes.

list_link_contributionsA

List standalone (link-only) contributions.

list_personal_access_tokensA

List personal access tokens

create_personal_access_tokenC

Create a personal access token

delete_personal_access_tokenB

Delete a personal access token

disable_personal_access_tokenA

Super-admin: disable a PAT (requests respond with X-PAT-Disabled header)

enable_personal_access_tokenA

Super-admin: re-enable a previously disabled PAT

add_organization_cai_budgetB

Super-admin: send a Stripe invoice for a CAI budget top-up

grant_organization_cai_budgetC

Super-admin: grant free CAI budget to an organization

mark_organization_cai_invoice_paidB

Super-admin: mark an open CAI invoice as paid out-of-band

extend_organization_trialA

Admin: extend a trialing/past_due/canceled subscription

export_custom_meta_fieldsC

Bulk export custom meta fields by ID

search_assets_visualA

Search for assets and display results in an interactive visual gallery.

This tool provides a rich visual interface for browsing search results with:

  • Thumbnail grid with hover previews

  • Click to view full asset details

  • Inline editing of metadata

  • Rating, tagging, and download options

  • Pagination controls

Use this when the user wants to visually browse or explore assets.

list_tag_importsB

List tag-import jobs

get_tag_importC

Get a tag-import job

create_tag_importB

Create a tag-import job. file is the uploaded CSV/XLS file reference (S3 key or upload id).

update_tag_importC

Update a tag-import job

delete_tag_importB

Delete a tag-import job

update_tag_import_mappingC

Set the column mapping for a tag-import job

start_tag_importA

Start processing a tag-import job once it is in the analyzed state

get_tag_import_tagsA

List tags created/updated by a tag-import job

list_rename_presetsB

List rename presets

get_rename_presetA

Get a rename preset

create_rename_presetC

Create a rename preset

update_rename_presetC

Update a rename preset

delete_rename_presetB

Delete a rename preset

reorder_rename_presetsB

Reorder rename presets by moving one from oldIndex to newIndex

list_meta_downloadsB

List background metadata-export jobs

get_meta_download_columnsA

Get the column catalog for metadata exports (grouped + IPTC + custom meta fields), plus the default basic set

create_meta_downloadA

Kick off a background metadata CSV export. Returns { guid } to poll status.

update_meta_downloadA

Toggle the send_email flag on an in-progress metadata export

generate_urlA

Generate a direct deep-link URL to a Mediagraph entity (asset, collection, lightbox, storage folder, tag, creator tag, share link, or the explore root).

Two host modes:

Path patterns: asset → /explore#/assets/{guid} (hash route) collection → /explore/collections/{slug} lightbox → /explore/projects/{id}-{slug} storage_folder → /explore/folders/{slug} tag, creator_tag → /explore/tags/{id}-{name} share_link → /share-links/{share_code}

Identifier rules:

  • Pass whichever identifier you already have (guid, slug, id+name, etc.); the tool fetches the entity if needed to derive the rest.

  • For assets, only guid is needed.

  • For collections / storage folders, slug works directly.

  • For lightboxes, the API returns a composite "slug" of the form "{id}-{name}" — pass it as slug.

  • For tags, pass id (and optionally name for a prettier URL).

Override host with --host (e.g., point at staging) or --base_host (just the fallback).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.6/5.0

Scored across 276 tools

Disambiguation2/5

Many tools have overlapping or near-identical purposes: search_assets vs search_assets_visual, update_asset vs bulk_edit_assets vs set_asset_custom_meta vs update_asset_description, and a dense cluster of face/tagging tools (tag_asset_face, associate_tagging_with_face, set_main_face_for_tagging, set_tag_face_creator_tag, set_tag_face_membership) that are hard to distinguish without deep domain knowledge. Invite/share/access-request/contribution concepts also fragment into dozens of similarly named tools (create_share vs create_share_link vs create_invite vs create_contribution), making misselection likely.

Naming Consistency4/5

Nearly everything is snake_case verb_noun (list_tags, create_collection, delete_webhook), with consistent bulk_/get_/list_/create_/update_/delete_ prefixes. Minor deviations exist: whoami, reauthorize, and the mix of find_* vs get_* for lookups, but the convention remains readable and predictable.

Tool Count1/5

276 tools is an extreme surface far beyond what an agent can navigate reliably; many are super-admin, diagnostic, or one-off maintenance operations (mark_organization_cai_invoice_paid, explain_asset_search, get_pending_membership_requests_count). The set should be split into narrower servers or consolidated.

Completeness4/5

The DAM domain is covered comprehensively: asset CRUD/versioning/restore, tags, taxonomies, collections, lightboxes, storage folders, shares, access requests, workflows, webhooks, uploads, contributions, bulk jobs, and meta import/export. Minor gaps exist (no update/delete for rights packages, some lifecycle actions only partially covered), but core workflows have no dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues