Bynder MCP

What is an MCP?

Model Context Protocol (MCP) is an open standard that lets AI assistants connect directly to the systems you already use. Instead of copying information into a chat window, you connect the assistant to Bynder once, and from then on it can look things up for itself. The Bynder MCP server is that connection point: your AI client (Claude, GitHub Copilot, or a command line tool) talks to the server, and the server talks to Bynder on your behalf.

What the Bynder MCP can do

The Bynder MCP gives an assistant two kinds of access to your Bynder environment.

Asset Search & Retrieval

Teams search and retrieve Bynder-governed, on-brand assets straight from the AI tool they are already working in.

  • Conversational, natural-language search against asset metadata: title, file attributes, and your portal metaproperties.
  • Refine by campaign, product or attribute until the right asset surfaces, without leaving the AI tool.
  • Enterprise grade governance ensures users only retrieve what they are cleared to see, covering collection access, approval status, brand, rights, geography, and expiry.

CX User Community Content

On-brand content produced right the first time, because users get reliable answers about their CX User Community content inside the AI tool.

  • Ask about tone of voice, colors, fonts, logos, or key phrases and get an answer grounded in published CX User Community content, from brand guidelines to campaigns, how-tos and training material.
  • Follow up in conversation to dig into a specific chapter or rule until the guidance is clear.
  • Answers come only from guides the user is cleared to see, always the current published version, with no manual re-sync.

What you will see depends on your access

The MCP does not create new access. You authenticate with your own portal credentials, and the server applies the same permissions you have when you log in to Bynder yourself, so an assistant only ever sees what you could see. The same applies at a product level: the CX User Community tools are only available if your organization has CX User Community. If it does not, you will simply see the asset tools and no guideline tools.

Connecting to the MCP

  1. Have a Bynder DAM Portal.
  2. Create an OAuth2 App with the required scopes (asset and/or CXUC guidelines).
  3. Connect your client (Claude, Copilot, ChatGPT, etc.) using the MCP endpoint ({your-dam-portal-domain}/mcp/1) and OAuth details from that app.

Creating the OAuth App

An OAuth2 App is required to allow you to authenticate securely and safely to the Bynder platform. This is created in your portal with at least the asset or CXUC (guidelines) scopes given.

See How To Create And Manage OAuth 2.0 Apps to Provide Access to Bynder API on how to create and manage OAuth2 Apps.

Scopes

When selecting the scopes for the OAuth App, the ones required for the current MCP offerings are:

  • Accessing CXUC

    • Scope: guidelines.guide:read
      • Gives access to the following tools:
        • cxuc_get_guideline
        • cxuc_get_page_widgets
        • cxuc_list_groups
        • cxuc_list_guidelines
        • cxuc_list_page_sections
        • cxuc_search
  • Accessing Assets

    • Scope: asset:read
      • Gives access to the following tools:
        • asset_search
        • asset_list_tags
        • asset_download
        • asset_search_using_natural_language (this also requires the feature to be enabled on your account)
    • Scopes:
      • meta.assetbank:read
      • meta.assetbank:write
      • Give access to the following tools:
        • asset_list_metaproperties
        • asset_list_metaproperty_options
        • asset_search_metaproperties

Authorization redirect URIs

When creating make sure to add the below to the "Authorization redirect URIs" if you are going to be connected to a CLI tool (Example configurations are below):

  • http://127.0.0.1:8080/oauth/callback
  • http://127.0.0.1:8080/callback

However if you are looking to connect to one of the existing AI clients, like Claude, Copilot then please use the below URLs in the "Authorization redirect URIs":

These are subject to change and will be available in the documentation provided by the client providers.

Claude

https://claude.ai/api/mcp/auth_callback

Reference: Building custom connectors - Claude.ai Documentation

ChatGPT

https://chat.openai.com/aip/{g-YOUR-GPT-ID-HERE}/oauth/callback

Reference: GPT Action authentication | OpenAI API

Gemini

https://vertexaisearch.cloud.google.com/oauth-redirect

Reference: Set up your custom MCP server data store | Gemini Enterprise | Google Cloud Documentation

Copilot

https://teams.microsoft.com/api/platform/v1.0/oAuthRedirect

Reference: Configure OAuth 2.0 authentication | Microsoft Documentation


Connecting to the MCP Server via Clients (like Claude, Copilot, ChatGPT)

Different clients will ask for different information, below you can find the common information that is requested:

  • MCP endpoint - {your-dam-portal-domain}/mcp/1
  • Authentication - OAuth 2.0
  • PKCE - Enabled
  • Authorization endpoint - https://{your-dam-portal-domain}/v6/authentication/oauth2/auth
  • Token endpoint - https://{your-dam-portal-domain}/v6/authentication/oauth2/token
  • Refresh endpoint - https://{your-dam-portal-domain}/v6/authentication/oauth2/refresh
  • Client ID - This will come from creating the OAuth app
  • Client Secret - This will come from creating the OAuth app
  • Scopes - The scopes you selected when creating the OAuth app

Some clients will not request all of the above information, and instead will automatically retrieve it.

Below you can find instructions from common providers on how to add MCPs:


Connecting to the MCP Server via CLI

In your client of choice, find where to configure MCP servers. Add the Bynder MCP url (https://{client-dam-portal}/mcp/1) and confirm you would like to add the server. Many CLI clients can trigger an interface for this with a command like /mcp add.


Authentication

On first connection, the user will be directed to the Bynder OAuth / OIDC flow to log in via the browser using the same credentials they would use on the DAM Portal. Most CLI and desktop clients (Gemini / Claude / OpenAI) support this out of the box.

For custom implementations, connecting clients should include an Authorization: Bearer {bynder-user-jwt} header.


Functionality and tools

Bynder MCP enables the connecting client to search for assets using the custom taxonomy defined for that portal with natural language, and to search for text from guidelines.

A well structured DAM with metaproperties and metaproperty options / tagged assets will enable smarter searches.

Current tools

ToolDisplay titleDescription
asset_list_tagsDiscover TagsList all the tags this account uses to categorise assets.
asset_list_metapropertiesDiscover MetapropertiesList all the metaproperties the current account uses to categorise assets. The options for the metaproperties can be discovered by using the asset_list_metaproperty_options tool.
asset_list_metaproperty_optionsDiscover Metaproperty OptionsList all of the available options for a given metaproperty. A metaproperty_id can be found in the results from the asset_list_metaproperties tool.
asset_searchSearch for AssetsFind assets using tags and/or metaproperties. Returns ONE PAGE of matches per call - never a total count or library statistics. Find assets using tags and/or metaproperties. Returns ONE PAGE of matches per call - never a total count or library statistics.
asset_search_metapropertiesSearch MetapropertiesSearch metaproperties using a search term. This is an exact name search, for example, if the search term is "date", then all metaproperties with word in it e.g. "date_published" would be found, but no related metaproperties e.g. "year" would be found.
asset_search_using_natural_languageSearch for Assets using Natural LanguageFind assets by describing what you want in natural language, using Bynder's natural-language similarity search (NLS). Find assets by describing what you want in natural language.
cxuc_list_groupslist_groupsRetrieve a paginated list of published guide groups. Supports sorting and cursor-based pagination.
cxuc_list_guidelineslist_guidelinesRetrieve a paginated list of published guidelines (guides). Supports search by title, sorting, and cursor-based pagination.
cxuc_get_guidelineget_guidelineRetrieve a specific guideline (guide).
cxuc_get_page_widgetsget_page_widgetsRetrieve all widgets across every section of a specific page within a guide, grouped by section. Each entry contains sectionId, sectionLayout, and a widgets list with full widget content. More efficient than calling list_page_sections then get_section_widgets per section.
cxuc_list_page_sectionslist_page_sectionsList all sections for a specific page within a guide. Returns section IDs, layouts, and widget counts — use get_section_widgets resource for full widget content.
cxuc_searchsearchSearch CXUC for brand rules and business context.

asset_list_tags

Example tool call return data

{
  "page": {
    "number": 1,
    "content": [
      { "id": "9c1a2b3d-4e5f-6789-0abc-def123456789", "tag": "product-launch" },
      { "id": "1a2b3c4d-5e6f-7890-1abc-def234567890", "tag": "lifestyle" }
    ],
    "size": 2,
    "finalPage": true
  }
}

asset_list_metaproperties

Example tool call return data

{
  "page": {
    "number": 1,
    "content": [
      { "id": "c672677e-ea92-4620-b8cf-127c56157492", "name": "Season" },
      { "id": "5d3f9a10-22b1-4c8e-9a77-8f6b1e0d4c33", "name": "Region" }
    ],
    "size": 2,
    "finalPage": true
  }
}

asset_list_metaproperty_options

Example tool call return data

{
  "page": {
    "number": 1,
    "content": [
      { "id": "125b80a7-dcc6-4f8f-833d-4f8f9b37f32e", "name": "Winter" },
      { "id": "a24b2238-3551-4de7-a53d-2282c71d6991", "name": "Summer" }
    ],
    "size": 2,
    "finalPage": true
  }
}

asset_search

Example tool call return data

{
  "content": [
    {
      "type": "text",
      "text": "Found 1 matching asset (page 1 of results): Summer Rooftop Launch - image, landscape, published 2026-06-02."
    }
  ],
  "structuredContent": {
    "page": {
      "number": 1,
      "content": [
        {
          "id": "3F29AC10-5B4E-4C2D-9E7A-1B6D4F0C8A21",
          "type": "image",
          "extension": ["jpg"],
          "thumbnail_url": "https://example-portal.bynder.com/asset/3f29ac10-5b4e-4c2d-9e7a-1b6d4f0c8a21/thumbnail/thul-summer-rooftop-launch",
          "portal_url": "https://example-portal.bynder.com/media/?mediaId=3F29AC105B4E4C2D9E7A1B6D4F0C8A21",
          "name": "Summer Rooftop Launch",
          "orientation": "landscape",
          "date_modified": "2026-06-10T09:15:00Z",
          "date_created": "2026-05-28T14:02:00Z",
          "date_published": "2026-06-02T08:00:00Z"
        }
      ],
      "size": 1,
      "finalPage": true
    }
  }
}

asset_search_metaproperties

Example tool call return data

{
  "page": {
    "number": 1,
    "content": [
      { "id": "8e6b0e2a-1122-4a33-9b44-556677889900", "name": "date_published" }
    ],
    "size": 1,
    "finalPage": true
  }
}

asset_search_using_natural_language

Example tool call return data

{
  "content": [
    {
      "type": "text",
      "text": "Found 2 assets: 1. Hero Sunset Portrait 2. Golden Hour Campaign"
    }
  ],
  "structuredContent": {
    "page": {
      "number": 1,
      "content": [
        {
          "id": "7B12E4A0-1234-4C56-8D9E-ABCDEF012345",
          "name": "Hero Sunset Portrait",
          "type": "image",
          "extension": ["png"],
          "portal_url": "https://example-portal.bynder.com/media/?mediaId=7B12E4A012344C568D9EABCDEF012345",
          "thumbnail_url": "https://example-portal.bynder.com/asset/7b12e4a0-1234-4c56-8d9e-abcdef012345/thumbnail/thul-hero-sunset-portrait",
          "orientation": "portrait",
          "date_modified": "2026-07-01T10:00:00Z",
          "date_created": "2026-06-20T09:00:00Z",
          "date_published": "2026-06-25T09:00:00Z"
        }
      ],
      "size": 1,
      "finalPage": false
    }
  }
}

cxuc_search

Example tool call return data

{
    "totalHits": 1,
    "totalPages": 1,
    "pageInfo": {
        "hasNextPage": false,
        "numberOfElements": 1,
        "pageNumber": 0
    },
    "hits": [
        {
            "id": "e47b3a11-a2f2-4c2c-9fe4-5a3f28cbaf1e",
            "title": null,
            "types": [
                "widget",
                "color_palette_widget"
            ],
            "content": "{\"name\":\"Pets Red\",\"codes\":[{\"key\":\"HEX\",\"value\":\"#EC022A\"},{\"key\":\"RGB\",\"value\":\"235, 2, 42\"},{\"key\":\"CMYK\",\"value\":\"0, 99, 82, 8\"}]}",
            "coordinates": {
                "groupCoordinates": {
                    "groupId": null,
                    "groupTitle": null
                },
                "guideCoordinates": {
                    "guideId": "cee91af4-3989-4f68-b0dc-b941bbd6bca7",
                    "guideTitle": "Pets Brand Guidelines"
                },
                "chapterCoordinates": {
                    "chapterId": "3f6c4d9d-94be-4e03-9c71-e28155aa6003",
                    "chapterTitle": "Preview Pets Brand Guidelines"
                },
                "pageCoordinates": {
                    "pageId": "6d0b67f9-e2b6-46a1-b976-80a953fd54a3",
                    "pageTitle": "Colour"
                },
                "sectionCoordinates": {
                    "sectionId": "b108dbaa-547d-4926-9aba-417be55c9044",
                    "sectionTitle": null
                },
                "widgetCoordinates": {
                    "widgetId": "e47b3a11-a2f2-4c2c-9fe4-5a3f28cbaf1e",
                    "widgetTitle": null
                }
            },
            "creationTimeMilliseconds": 1780579364274,
            "lastModifiedTimeMilliseconds": 1780579714653,
            "tenantId": "e9732d34-44e3-4312-b540-da878a58f0ce",
            "score": 11.461695
        }
    ]
}

cxuc_list_guidelines

Example tool call return data

{
    "items": [
        {
            "id": "471ac91d-83cf-43fd-959f-56c3ed13c29d",
            "title": "Lore",
            "visibility": "PUBLIC",
            "type": "MULTI_PAGE",
            "cover": {
                "assetId": "",
                "assetName": "",
                "imageUrl": "",
                "detailUrl": ""
            },
            "creationTime": "2026-05-14T12:48:57.603355646Z",
            "lastModifiedTime": "2026-05-21T15:15:24.957371277Z"
        },
        {
            "id": "cee91af4-3989-4f68-b0dc-b941bbd6bca7",
            "title": "Pets Brand Guidelines",
            "visibility": "PUBLIC",
            "type": "MULTI_PAGE",
            "cover": {
                "assetId": "",
                "assetName": "",
                "imageUrl": "",
                "detailUrl": ""
            },
            "creationTime": "2026-06-04T13:21:57.416144595Z",
            "lastModifiedTime": "2026-06-16T10:49:25.232772212Z"
        }
    ],
    "metadata": {
        "nextPage": null,
        "prevPage": null,
        "totalCount": 2
    }
}

cxuc_get_guideline

Example tool call return data

{
    "id": "471ac91d-83cf-43fd-959f-56c3ed13c29d",
    "title": "Lore",
    "visibility": "PUBLIC",
    "type": "MULTI_PAGE",
    "cover": {
        "assetId": "",
        "assetName": "",
        "imageUrl": "",
        "detailUrl": ""
    },
    "creationTime": "2026-05-14T12:48:57.603355646Z",
    "lastModifiedTime": "2026-05-21T15:15:24.957371277Z",
    "chapters": [
        {
            "id": "51d0af8e-6e64-4785-affb-404ddb4306bf",
            "title": "Pets",
            "visibility": "SPECIFIC",
            "pages": [
                {
                    "id": "6c6955fa-7ee3-48a3-bd3b-de234dd4b71e",
                    "title": "Dogs",
                    "state": "PUBLISHED"
                },
                {
                    "id": "14ec39cd-e134-48e6-9c15-97ea4a98bcd9",
                    "title": "Cats",
                    "state": "PUBLISHED"
                },
                {
                    "id": "c6681b3e-929d-420e-aa81-d5b40b29b26d",
                    "title": "Hamsters",
                    "state": "PUBLISHED"
                }
            ]
        }
    ]
}

cxuc_get_page_widgets

Example tool call return data

[
    {
        "sectionId": "9e1cf67d-a46b-4d77-8ecc-231057b50fea",
        "sectionLayout": "SINGLE",
        "widgets": [
            {
                "id": "1181c367-3bd2-49aa-9520-f164e8025d52",
                "type": "tea",
                "content": {
                    "document": "{\"type\":\"doc\",\"content\":[{\"type\":\"heading\",\"attrs\":{\"id\":\"b9c33775-c40e-433c-98ff-db3847b3726e\",\"level\":2,\"textAlign\":null},\"content\":[{\"text\":\"Subtitle\",\"type\":\"text\"}]},{\"type\":\"paragraph\",\"attrs\":{\"textAlign\":null},\"content\":[{\"text\":\"The eye of the void.\",\"type\":\"text\"}]}]}",
                    "html": "<h2 id=\"b9c33775-c40e-433c-98ff-db3847b3726e\"><button data-anchored=\"true\">Subtitle</button></h2><p>The eye of the void.</p>"
                }
            },
            {
                "id": "1181c367-3bd2-49aa-9520-f164e8025d52",
                "type": "tea",
                "content": {
                    "document": "{\"type\":\"doc\",\"content\":[{\"type\":\"heading\",\"attrs\":{\"id\":\"b9c33775-c40e-433c-98ff-db3847b3726e\",\"level\":2,\"textAlign\":null},\"content\":[{\"text\":\"Subtitle\",\"type\":\"text\"}]},{\"type\":\"paragraph\",\"attrs\":{\"textAlign\":null},\"content\":[{\"text\":\"The eye of the void.\",\"type\":\"text\"}]}]}",
                    "html": "<h2 id=\"b9c33775-c40e-433c-98ff-db3847b3726e\"><button data-anchored=\"true\">Subtitle</button></h2><p>The eye of the void.</p>"
                }
            }
        ]
    }
]