mcpField
A
asset-access-control

asset-access-control

github.com/imagekit-developerSecurity289 installsUpdated 3w ago
Repository

About asset-access-control

A skill for managing file, folder, and media collection access using DAM MCP tools. It guides users through resolving assets, reading current ACLs, and applying permission changes without inventing identifiers or mixing tool surfaces.

Key features

  1. 01Resolve assets by name or path
  2. 02Read file and folder ACLs
  3. 03Read media collection ACLs
  4. 04Add, modify, or remove permissions
  5. 05Distinguish collection membership from access

Use cases

  1. 01Granting a user access to a file
  2. 02Updating a group's folder permissions
  3. 03Changing access to a media collection
  4. 04Checking collections associated with an asset

MCP support

Uses DAM MCP tools to look up assets and read or update access lists for files, folders, and media collections. It specifies separate tools for asset ACLs, collection ACLs, and collection membership.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/imagekit-developer/skills --skill asset-access-control

After installing, type/asset-access-controlin Claude Code to confirm it loaded.

Details

From the project README

Asset access control

Use the DAM MCP tools. Two surfaces — do not mix their tools.

TargetRead ACLWrite ACL
File or folderget_asset_access_listupdate_asset_acl
Media collectionget_collection_access_listupdate_media_collection (acl)

list_associated_media_collections only answers "which collections contain this file/folder?". It does not change membership; use add_assets_to_media_collection / remove_assets_from_media_collection.

Restricted users can only change access on assets they can manage.

Workflow

  1. Resolve the asset with search_media_library if you only have a name or path.
  2. Read the current ACL. Use userId / groupId from that response — never invent ids.
  3. Write the change. Then re-read if you need to confirm.

get_asset_access_list also returns users and userGroups for the account. Match the person the user named against userName / userEmail / label.

update_asset_acl

  • Always send both acl.addOrModify and acl.remove. Use [] on the unused side.
  • entity.type is only USER or USER_GROUP. MEDIA_COLLECTION may appear on read (inherited membership); do not send it on write.
  • Do not change the asset owner's entry.
  • Do not grant less than a parent folder already grants that same entity.
{
  "assetId": "<file-or-folder-id>",
  "acl": {
    "addOrModify": [{ "entity": { "id": "<userId>", "type": "USER" }, "permission": "READ" }],
    "remove": []
  }
}

list_associated_media_collections

permission is a string, not an array. Send '["MANAGE"]' or '["READ","CONTRIBUTE"]'. Omit it unless you are filtering for a restricted user.

Comments

Markdown supported