Mediagraph MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEDIAGRAPH_PAT | Yes | Personal Access Token (headless auth) | |
| MEDIAGRAPH_ORGANIZATION_ID | Yes | Organization 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
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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):
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:
|
| 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":
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:
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 |
| 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 |
| get_assets_updated_since_last_syncA | Sync helper: returns asset ids that changed since |
| 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 |
| slice_new_asset_versionA | Slice a video asset between |
| slice_new_assetA | Slice a video asset between |
| set_asset_preview_image_from_timeA | For a video asset: set the poster/preview image from the frame at |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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