Content

Revenue Influence and Performance Tools (May 2026)

These tools are now available for revenue attribution and performance storytelling directly through MCP.

Tool What It Answers Typical Output
content_get_revenue_influence How much pipeline/revenue is influenced by one or more content assets? Linked deal room counts, revenue by currency, external link/open summary, and per-content influence rows.
content_get_top_performing What are the top performing assets in a time window? Ranked content with views/engagement/downloads/revenue indicators and optional linked deal room context.

content_get_revenue_influence Example

{
  "jsonrpc": "2.0",
  "id": "content_get_revenue_influence-1",
  "method": "tools/call",
  "params": {
    "name": "content_get_revenue_influence",
    "arguments": {
      "content_ids": ["KBD0215806635290000000000", "KBD5567454989590000000000"],
      "include_deal_rooms": true,
      "deal_room_limit": 50
    }
  }
}

Success response shape (example):

{
  "success": true,
  "data": {
    "summary": {
      "linked_deal_rooms_count": 8,
      "revenue": {
        "by_currency": [{"currency_iso": "USD", "total_amount": 1240000}]
      },
      "external_links": {
        "total_links_generated": 22,
        "total_external_opens": 184
      }
    },
    "contents": [{"content_id": "KBD0215806635290000000000", "linked_deal_rooms_count": 5}]
  },
  "error": null
}

content_get_top_performing Example

{
  "jsonrpc": "2.0",
  "id": "content_get_top_performing-1",
  "method": "tools/call",
  "params": {
    "name": "content_get_top_performing",
    "arguments": {
      "time_range": "this_week",
      "sort_by": "views",
      "sort_order": "desc",
      "top_limit": 10,
      "include_deal_rooms": true
    }
  }
}

Failure response shape (example):

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing parameters: content_ids.",
    "status": 400,
    "retryable": false,
    "details": {
      "missing_parameters": ["content_ids"]
    }
  }
}

Content tools include field-level argument descriptions and runnable examples for MCP clients.

Pagination: list responses return items with a pagination object. Default page size is 50 (max 200).

Tools Covered

Tool Mutation Backend Routes
content_get_thumbnails No /batch-open-thumbnails
content_get_access_info No /batch-open-thumbnails
content_list_dashboard No /view-content-and-folders-sorted, /tags/get-folder-content-tags
content_check_visibility No /content-visibility/check-entities
content_move_items Yes /move-folder
content_copy_items Yes /duplicate-content
content_archive_items Yes /archive-items
content_unarchive_items Yes /unarchive-items
content_delete_items Yes /delete-record-impact, /flag-for-deletion, /unflag-for-deletion
content_update_visibility Yes /content-visibility/update-item-settings
content_share_link_create Yes
content_share_link_expire Yes /expire-all-content-share-links, /expire-content-share-link

content_get_thumbnails

Fetch thumbnails for content IDs.

Backend routes: /batch-open-thumbnails

Arguments

Field Type Required Description Example
content_ids array Yes List of content IDs to operate on. ["KBD0215806635290000000000","KBD5567454989590000000000"]
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000

Example Request

Fetch thumbnails for selected content

{
  "jsonrpc": "2.0",
  "id": "content_get_thumbnails-1",
  "method": "tools/call",
  "params": {
    "name": "content_get_thumbnails",
    "arguments": {
      "content_ids": [
        "KBD0215806635290000000000",
        "KBD5567454989590000000000"
      ]
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_get_thumbnails",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_get_thumbnails.",
    "status": 400,
    "retryable": false
  }
}

content_get_access_info

Get safe access metadata for content IDs (internal portal links, thumbnails, and optional external links).

Backend routes: /batch-open-thumbnails

Arguments

Field Type Required Description Example
content_ids array Yes List of content IDs to operate on. ["KBD0215806635290000000000","KBD5567454989590000000000"]
include_thumbnails boolean No When true, fetch thumbnail payloads for provided/returned content IDs. true
include_external_link boolean No When true, includes or creates external share links in the response. true
reuse_active boolean No When true, reuses an existing active external link before creating a new one. true
expiry_date string No Link expiry date/time expected by backend date parsing (ISO datetime recommended). 2026-06-30T23:59:59Z
max_downloads number No Maximum allowed downloads for generated external links. 50
comment string No Optional audit/comment text saved with the external link action. Shared for customer security review
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000

Example Request

Get internal links and reusable external links

{
  "jsonrpc": "2.0",
  "id": "content_get_access_info-1",
  "method": "tools/call",
  "params": {
    "name": "content_get_access_info",
    "arguments": {
      "content_ids": [
        "KBD0215806635290000000000"
      ],
      "include_thumbnails": true,
      "include_external_link": true,
      "reuse_active": true,
      "expiry_date": "2026-06-30T23:59:59Z",
      "max_downloads": 20
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_get_access_info",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_get_access_info.",
    "status": 400,
    "retryable": false
  }
}

content_list_dashboard

List dashboard content/folders and optionally associated tags.

Backend routes: /view-content-and-folders-sorted, /tags/get-folder-content-tags

Arguments

Field Type Required Description Example
folder_id string No Folder identifier used as scope for listing/tag fetch. WRS1777477248002807551754
content_state string (active | archived) No Controls whether active or archived records are listed. active
include_tags boolean No When true, returns tag metadata alongside dashboard listing. true
training_assets_only boolean No When true, limits dashboard listing to training-tagged assets. false
force_refresh_contents boolean No When true, bypasses cached sorted payload and rebuilds listing. false
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000

Example Request

List active folder dashboard payload and tags

{
  "jsonrpc": "2.0",
  "id": "content_list_dashboard-1",
  "method": "tools/call",
  "params": {
    "name": "content_list_dashboard",
    "arguments": {
      "folder_id": "WRS1777477248002807551754",
      "content_state": "active",
      "include_tags": true,
      "page": 1,
      "page_size": 50
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_list_dashboard",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_list_dashboard.",
    "status": 400,
    "retryable": false
  }
}

content_check_visibility

Check entity visibility for content and folders.

Backend routes: /content-visibility/check-entities

Arguments

Field Type Required Description Example
content_ids array No List of content IDs to operate on. ["KBD0215806635290000000000","KBD5567454989590000000000"]
folder_ids array No List of folder IDs used for visibility checks. ["WRS1777477248002807551754"]
content_items array No Detailed content rows for visibility checks. Each item typically includes `id` and `folder`. [{"id":"KBD0215806635290000000000","folder":"WRS1777477248002807551754"}]
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000

Example Request

Check visibility for content and folders

{
  "jsonrpc": "2.0",
  "id": "content_check_visibility-1",
  "method": "tools/call",
  "params": {
    "name": "content_check_visibility",
    "arguments": {
      "content_ids": [
        "KBD0215806635290000000000"
      ],
      "folder_ids": [
        "WRS1777477248002807551754"
      ],
      "content_items": [
        {
          "id": "KBD0215806635290000000000",
          "folder": "WRS1777477248002807551754"
        }
      ]
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_check_visibility",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_check_visibility.",
    "status": 400,
    "retryable": false
  }
}

content_move_items

Move folders/content into another folder.

Backend routes: /move-folder

Arguments

Field Type Required Description Example
ids array Yes Generic list of IDs for bulk folder/content operations. ["KBD0215806635290000000000","WRS1777477248002807551754"]
move_folder_id string Yes Destination folder ID for move operation. WRS1777477248002807551754
set_direct_pitch_content boolean No When true, marks moved content as direct pitch content in destination. false
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000
idempotency_key string No Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. mcp-mutation-2026-05-13-001

Example Request

Move records into destination folder

{
  "jsonrpc": "2.0",
  "id": "content_move_items-1",
  "method": "tools/call",
  "params": {
    "name": "content_move_items",
    "arguments": {
      "ids": [
        "KBD0215806635290000000000"
      ],
      "move_folder_id": "WRS1777477248002807551754",
      "set_direct_pitch_content": false
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_move_items",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_move_items.",
    "status": 400,
    "retryable": false
  }
}

content_copy_items

Duplicate selected content records into a destination folder.

Backend routes: /duplicate-content

Arguments

Field Type Required Description Example
content_ids array Yes List of content IDs to operate on. ["KBD0215806635290000000000","KBD5567454989590000000000"]
target_folder_id string No Optional destination folder for archive/copy/unarchive flows. WRS1777477248002807551754
direct_pitch_content boolean No When true, copied content is flagged for direct pitch visibility. false
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000
idempotency_key string No Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. mcp-mutation-2026-05-13-001

Example Request

Copy records to another folder

{
  "jsonrpc": "2.0",
  "id": "content_copy_items-1",
  "method": "tools/call",
  "params": {
    "name": "content_copy_items",
    "arguments": {
      "content_ids": [
        "KBD0215806635290000000000"
      ],
      "target_folder_id": "WRS1777477248002807551754",
      "direct_pitch_content": false
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_copy_items",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_copy_items.",
    "status": 400,
    "retryable": false
  }
}

content_archive_items

Archive content/folders.

Backend routes: /archive-items

Arguments

Field Type Required Description Example
ids array Yes Generic list of IDs for bulk folder/content operations. ["KBD0215806635290000000000","WRS1777477248002807551754"]
target_folder_id string No Optional destination folder for archive/copy/unarchive flows. WRS1777477248002807551754
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000
idempotency_key string No Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. mcp-mutation-2026-05-13-001

Example Request

Archive selected items

{
  "jsonrpc": "2.0",
  "id": "content_archive_items-1",
  "method": "tools/call",
  "params": {
    "name": "content_archive_items",
    "arguments": {
      "ids": [
        "KBD0215806635290000000000"
      ],
      "target_folder_id": "WRS1777477248002807551754"
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_archive_items",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_archive_items.",
    "status": 400,
    "retryable": false
  }
}

content_unarchive_items

Unarchive content/folders.

Backend routes: /unarchive-items

Arguments

Field Type Required Description Example
ids array Yes Generic list of IDs for bulk folder/content operations. ["KBD0215806635290000000000","WRS1777477248002807551754"]
target_folder_id string No Optional destination folder for archive/copy/unarchive flows. WRS1777477248002807551754
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000
idempotency_key string No Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. mcp-mutation-2026-05-13-001

Example Request

Unarchive selected items

{
  "jsonrpc": "2.0",
  "id": "content_unarchive_items-1",
  "method": "tools/call",
  "params": {
    "name": "content_unarchive_items",
    "arguments": {
      "ids": [
        "KBD0215806635290000000000"
      ]
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_unarchive_items",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_unarchive_items.",
    "status": 400,
    "retryable": false
  }
}

content_delete_items

Preview, execute, or restore delete lifecycle for content/folders.

Backend routes: /delete-record-impact, /flag-for-deletion, /unflag-for-deletion

Arguments

Field Type Required Description Example
ids array Yes Generic list of IDs for bulk folder/content operations. ["KBD0215806635290000000000","WRS1777477248002807551754"]
action string (preview | execute | restore) Yes Delete flow mode: `preview` (impact only), `execute` (mark/delete), or `restore` (undo delete flag). preview
dry_run boolean No Safety gate for preview actions. Must be true when action is preview. true
confirm boolean No Safety confirmation for destructive execution actions. true
permanent_delete boolean No If true during delete execute, backend can perform permanent deletion where allowed. false
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000
idempotency_key string No Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. mcp-mutation-2026-05-13-001

Example Request

Preview delete impact before execute

{
  "jsonrpc": "2.0",
  "id": "content_delete_items-1",
  "method": "tools/call",
  "params": {
    "name": "content_delete_items",
    "arguments": {
      "ids": [
        "KBD0215806635290000000000"
      ],
      "action": "preview",
      "dry_run": true
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_delete_items",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_delete_items.",
    "status": 400,
    "retryable": false
  }
}

content_update_visibility

Update content/folder visibility settings in bulk.

Backend routes: /content-visibility/update-item-settings

Arguments

Field Type Required Description Example
ids array Yes Generic list of IDs for bulk folder/content operations. ["KBD0215806635290000000000","WRS1777477248002807551754"]
visibility_mode string (INTERNAL_AND_EXTERNAL | INTERNAL_ONLY | SCOPED) Yes Visibility strategy to apply to selected records. SCOPED
scope_assignees object No Scope assignment payload for SCOPED visibility updates. {"users":["IGH6969811447860000000000"],"teams":[]}
apply_to_descendants_for_folders boolean No When true, folder visibility changes cascade to descendants. true
inherit_from_parent boolean No When true, children inherit parent visibility where supported. true
preserve_external_links_when_scoped boolean No When true, existing external links are preserved during scope updates where possible. true
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000
idempotency_key string No Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. mcp-mutation-2026-05-13-001

Example Request

Scope content to selected users

{
  "jsonrpc": "2.0",
  "id": "content_update_visibility-1",
  "method": "tools/call",
  "params": {
    "name": "content_update_visibility",
    "arguments": {
      "ids": [
        "KBD0215806635290000000000"
      ],
      "visibility_mode": "SCOPED",
      "scope_assignees": {
        "users": [
          "IGH6969811447860000000000"
        ],
        "teams": []
      },
      "apply_to_descendants_for_folders": true,
      "inherit_from_parent": true,
      "preserve_external_links_when_scoped": true
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_update_visibility",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_update_visibility.",
    "status": 400,
    "retryable": false
  }
}

content_share_link_create

Create external share link for content.

Backend routes: Derived/indirect handler route.

Arguments

Field Type Required Description Example
content_id string Yes Primary content ID targeted by this operation. KBD0215806635290000000000
reuse_active boolean No When true, reuses an existing active external link before creating a new one. true
expiry_date string No Link expiry date/time expected by backend date parsing (ISO datetime recommended). 2026-06-30T23:59:59Z
max_downloads number No Maximum allowed downloads for generated external links. 50
comment string No Optional audit/comment text saved with the external link action. Shared for customer security review
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000
idempotency_key string No Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. mcp-mutation-2026-05-13-001

Example Request

Create/reuse external share link

{
  "jsonrpc": "2.0",
  "id": "content_share_link_create-1",
  "method": "tools/call",
  "params": {
    "name": "content_share_link_create",
    "arguments": {
      "content_id": "KBD0215806635290000000000",
      "reuse_active": true,
      "expiry_date": "2026-06-30T23:59:59Z",
      "max_downloads": 25,
      "comment": "Shared for procurement review"
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_share_link_create",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_share_link_create.",
    "status": 400,
    "retryable": false
  }
}

content_share_link_expire

Expire one link or all links for content.

Backend routes: /expire-all-content-share-links, /expire-content-share-link

Arguments

Field Type Required Description Example
link_id number No Numeric ID of an external share link record. 1042
content_id string No Primary content ID targeted by this operation. KBD0215806635290000000000
expire_all boolean No When true, expires all links for `content_id` instead of a single `link_id`. false
viewer_id string No Optional explicit user context override. If omitted, MCP resolves this from the authenticated token/session. IGH6969811447860000000000
organisation_id string No Optional explicit organisation context override. If omitted, MCP resolves this from the authenticated token/session. PDX7478889578460000000000
idempotency_key string No Client supplied unique key for mutation safety. Re-using the same key returns the cached mutation result instead of executing again. mcp-mutation-2026-05-13-001

Example Request

Expire one specific link

{
  "jsonrpc": "2.0",
  "id": "content_share_link_expire-1",
  "method": "tools/call",
  "params": {
    "name": "content_share_link_expire",
    "arguments": {
      "link_id": 1042
    }
  }
}

Example Success

{
  "success": true,
  "data": {
    "tool": "content_share_link_expire",
    "note": "Payload shape depends on tenant data and backend route output."
  },
  "error": null
}

Example Failure

{
  "success": false,
  "data": null,
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "Missing or invalid parameters for content_share_link_expire.",
    "status": 400,
    "retryable": false
  }
}