MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

DAM MCP Server — digital asset management platform: assets, metadata & tagging, versions & renditions, collections, rights/licensing with clearance gating, brand review, shares, and usage tracking

Created 6/9/2026
Updated about 18 hours ago
Repository documentation and setup instructions

DAM MCP Server

Crates.io License ADK-Rust Enterprise Registry Ready

A full Digital Asset Management platform for ADK-Rust Enterprise agents. 23 MCP tools covering the complete asset lifecycle — ingest, rich metadata & tagging, versions & renditions, collections, rights/licensing with clearance gating, brand review, shares, and usage tracking.

A platform, not a point solution

This is modeled as a general DAM (à la Bynder / Brandfolder / AEM Assets), so a wide range of media-content agents are simply clients of it: Asset Tagging, Brand Compliance Review, Rights Clearance, Social Post Production, Podcast Show Notes, Video Production Planning — and anything else that needs to find, govern, and distribute assets.

Architecture

DAM MCP Architecture

Capabilities

  • Assets — any media type, rich custom metadata (arbitrary JSON), lifecycle status (draft → in_review → approved → published → archived → expired), and a full provenance audit trail
  • Tagging — faceted tags (keyword/color/subject/campaign), human or auto_tag (heuristic keyword + type derivation, a stand-in for an ML tagger)
  • Versions & renditions — master-file versioning plus derivatives (thumbnails, web/print variants, transcodes)
  • Collections — albums and smart collections, nestable
  • Rights & licensing — license terms, channels, territories, expiry; clearance gating and a check_usage_rights decision
  • Review — brand/legal/editorial reviews with outcomes feeding the approval gate
  • Distribution — share links/portals and usage tracking (where each asset was published), gated by rights
  • Search — faceted across text, type, status, tag, collection, and rights status

Governance gates

  • Publish requires rights = Cleared, and if any review exists it must be approved (no open rejections/changes).
  • Recording usage is refused unless the asset is usable on that channel right now (status, expiry, channel & territory).
  • Rights, publish, and share writes are gated for approval in production; create_share is classed external_write.

Tools (23)

Assets (6)

create_asset · get_asset · update_asset · search_assets · set_status (publish gated) · get_audit_trail

Metadata & Tags (4)

set_metadata · add_tags · remove_tag · auto_tag

Rights (3)

set_rights · clear_rights (gated) · check_usage_rights

Review, Renditions & Versions (3)

add_review · add_rendition · add_version

Collections (3)

create_collection · list_collections · add_to_collection

Distribution & Usage (4)

create_share (gated) · revoke_share (gated) · record_usage (rights-gated) · get_usage

Example

> create_asset(filename: "beach_sunset.jpg", title: "Beach Sunset", description: "Golden hour over the ocean",
               asset_type: "image", mime_type: "image/jpeg", uri: "store://a.jpg")   → AST-1004
> auto_tag(id: "AST-1004")        → ["beach","sunset","golden","hour","ocean","image"]

> record_usage(asset_id: "AST-1004", channel: "instagram")   → Error: blocked by rights (not_cleared)
> clear_rights(id: "AST-1004", license: "royalty_free", channels: ["social","instagram"])
> check_usage_rights(id: "AST-1004", channel: "instagram")   → allowed: true
> record_usage(asset_id: "AST-1004", channel: "instagram", reference: "post/1")   → USE-1005

> add_review(id: "AST-1004", kind: "brand_compliance", reviewer: "brand", outcome: "approved")
> set_status(id: "AST-1004", status: "published")            → published
> search_assets(query: "sunset")                             → 1 asset

Installation

1. Build

git clone https://github.com/zavora-ai/mcp-dam
cd mcp-dam
cargo build --release

2. Add to your MCP client

Claude Desktop / Kiro / Cursor / Windsurf:

{
  "mcpServers": {
    "dam": {
      "command": "/path/to/mcp-dam"
    }
  }
}

3. Use it

> search_assets(asset_type: "video", status: "approved")
> check_usage_rights(id: "AST-1001", channel: "print", territory: "US")

Data Handling

  • References, not bytes — assets, renditions, and versions are stored by URI (content lives in your object store); this server manages the metadata, rights, and governance layer.
  • Provenance — every mutation appends to the asset's audit trail.
  • Integration scaffold — the in-memory store is for development; back it with your real DAM/object store and bind actors to authenticated identities in production.

MCP Server Manifest

server_id = "mcp_dam"
display_name = "Digital Asset Management"
version = "1.0.0"
domain = "media_content"
risk_level = "medium"
writes_allowed = "gated"
transports = ["stdio"]

Contributors

| jkmaina - MCP Dam by zavora-ai
James Karanja Maina
| |:---:|

License

Apache-2.0 — see LICENSE for details.


Part of the ADK-Rust Enterprise MCP server ecosystem.

Registry Compliance

This server implements the ADK MCP SDK contract:

  • HealthCheck — async health probe for registry monitoring
  • mcp-server.toml — manifest declaring tools, risk classes, and approval gates
  • Structured tracingRUST_LOG env-filter for observability
Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/zavora-ai/mcp-dam
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "zavora-ai-mcp-dam": { "command": "git", "args": [ "clone", "https://github.com/zavora-ai/mcp-dam" ] } } }