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_logA

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mediagraph-io/mediagraph-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server