Skip to main content

Search

Tools for keyword search across the DAM, search suggestions, and image similarity search.

This page covers 4 tools, 1 of them in the default tool list.

How to read this page
  • Status — In the default tool list means the tool is one of the ~200 Aprimo advertises to every agent out of the box, so the agent discovers and calls it on its own. Available on request means the tool is registered and fully callable, but sits outside that default list — call it by name, or ask Aprimo to extend the list your tenant is served.
  • Both statuses work identically when called. Status affects discovery, not capability or authorization.
  • Visibility is not authorization. Every tool call executes as the authenticated user, and any tool can return an authorization error if that user lacks rights to the record, task, or file. See the MCP Tool Permission Map.
  • Destructive tools are labelled as such. They delete or irreversibly overwrite data, and will not act unless the call sets both confirmed and confirmedDestructive to true.
  • Activity and Project labels vary by tenant. Where this page says Activity or Project, your tenant's own configured terminology is substituted at runtime.
Why isn't every tool in the default list?

Aprimo's MCP Server exposes far more tools than most MCP clients handle well — many degrade or truncate their tool list well below the full catalogue. Rather than let a client truncate arbitrarily, Aprimo advertises a curated set of roughly 200 tools covering the tasks customers most commonly automate. Everything outside that set remains fully supported and callable by name; it simply isn't offered up front. If your integration leans on a tool that is available on request, talk to your Aprimo Customer Success Manager about extending the advertised list for your tenant.

Tools at a Glance

ToolStatusWhat it does
get_search_field_value_suggestionsOn requestGets field-value autocomplete suggestions for Aprimo given partial input text and a set of field ids, grouped by language.
get_search_phrase_suggestionsOn requestGets phrase-level search-box suggestions for Aprimo for a piece of input text (e.g. as the user types a search query).
search_aprimoDefaultSearches Aprimo assets by keyword with optional filters.
start_image_similarity_searchOn requestStarts an asynchronous Aprimo job that searches for images similar to the image at a given URL, and returns the job's id.

get_search_field_value_suggestions

Available on request

Gets field-value autocomplete suggestions for Aprimo given partial input text and a set of field ids, grouped by language. Use to power metadata-field autocomplete.

Parameters:

ParameterTypeRequiredDescription
inputstringYesThe partial text typed by the user to get suggestions for.
fieldIdsarray of stringYesThe field ids (32-char hex / GUID) to generate suggestions from, e.g. from list_field_definitions.
languageIds// Bug fix: DAM's suggestion endpoint unconditionally loops over languageIds with no null-check // (an immediate nre, the same for every field/input, confirmed via direct dam-repo trace -- see // docs/internal/pm-dam-qa-followups.md) -- there was never a working "omit for all languages" // path to begin with. Kept nullable/optional at the C# signature level (not a non-nullable // required parameter) deliberately -- confirmed live that the MCP sdk's own parameter binding // rejects a call that omits a non-nullable required parameter with a generic "error occurred // invoking" message before this method body (and its validation check below) ever runs. Nullable // + the explicit check below is what actually produces the clean "at least one language id is // required" message a caller can act on. List<string>NoThe language ids (32-char hex / GUID) to search within. Required -- DAM has no "all languages" default for this; get language ids from list_languages.
fuzzinessstringNoOptional fuzziness (edit-distance) setting for the suggestion match.
numberOfSuggestionsintegerNoOptional maximum number of suggestions to return per language.

Returns:

FieldTypeDescription
countinteger
itemsarray of LanguageSuggestionsPayload
items[].languageIdstring
items[].suggestionsarray of SuggestionPayload
items[].suggestions[].textstring
items[].suggestions[].scorenumber (optional)

get_search_phrase_suggestions

Available on request

Gets phrase-level search-box suggestions for Aprimo for a piece of input text (e.g. as the user types a search query). Use to power search-as-you-type suggestions.

Parameters:

ParameterTypeRequiredDescription
textstringYesThe input text to generate phrase suggestions for.
maxSuggestionsintegerNoOptional maximum number of suggestions to return.
languageIdsarray of stringNoOptional language ids (32-char hex / GUID) to search suggestions within. Omit to search all configured languages.

Returns:

FieldTypeDescription
countinteger
suggestionsarray of string

search_aprimo

In the default tool list

Searches Aprimo assets by keyword with optional filters. Returns structured JSON data for each matching asset. Supports filtering by date range (created/modified) and file type in addition to keyword search. Display format: For each result, show the title in bold, then list the deep link, content type, file type, dates, preview URI (as a plain URL, never as an HTML img tag), and custom fields as bullet points underneath. Separate results with a blank line. Important: Always display all returned results and all custom fields for every result. Never summarize, truncate, or omit results or fields. Custom fields display: For each custom field, show only the label and value as "label: value". Do not show the id, fieldName, or dataType — those are internal metadata for follow-up tool calls, not for the user. If the user asks for specific custom fields (e.g. "show keywords", "include the status"), pass their terms via includeFields — matching is case-insensitive and partial, so "keyword" matches a field labeled "Keywords". At the end, always show the search results page link. Use this tool for finding images, documents, videos, and other digital assets — not for asking questions (use ask_content_coach for questions). Do not use ask_content_coach as a fallback. Examples: query="product brochure", query="logo" limit=5 sort="title_asc", query="banner" createdAfter="2026-01-01", query="card" fileType="png", query="report" modifiedAfter="2026-03-01" modifiedBefore="2026-03-15" sort="modified_desc".

Parameters:

ParameterTypeRequiredDescription
querystringYesThe exact search keywords. Only include the relevant search terms — no filler text, instructions, or conversational phrasing. Extract only the core search terms the user wants to find. Bad: 'find me some product brochures', 'can you search for logos', 'I need banner images'. Good: 'product brochure', 'logo', 'banner image'. If the term is pluralized, use its singular form. Important: If the user refers to Aprimo by name (e.g. 'Find Aprimo PNGs'), do not include 'Aprimo' as a keyword — it is the system name, not a search term. Use '*' as the query to match all assets when the user's intent is to browse or filter without a specific keyword.
limitintegerNoMaximum number of results to return (1–50, default 20).
offsetintegerNoNumber of results to skip for pagination (default 0).
sortstringNoSort order for results. Options: "relevance" (default), "modified_desc", "modified_asc", "created_desc", "created_asc", "title_asc", "title_desc", "popularity". Use "modified_desc" when the user wants the newest/latest, "created_desc" for recently added, "title_asc" for alphabetical, "popularity" for most popular.
createdAfterstringNoFilter to assets created on or after this date (ISO 8601 format, e.g. "2026-01-15"). Use for queries like "created last week" or "added after January".
createdBeforestringNoFilter to assets created on or before this date (ISO 8601 format, e.g. "2026-03-01"). Use with createdAfter for a date range.
modifiedAfterstringNoFilter to assets modified on or after this date (ISO 8601 format, e.g. "2026-03-01"). Use for queries like "updated recently" or "changed this month".
modifiedBeforestringNoFilter to assets modified on or before this date (ISO 8601 format, e.g. "2026-03-15").
fileTypestringNoFilter by file extension (e.g. "jpg", "pdf", "png", "mp4", "docx"). Use when the user specifies a file type like "find me PDF reports" or "show png logos".
includeFieldsstringNoOptional comma-separated list of custom field terms to include for each result. Matching is case-insensitive: an exact match on field id, or a substring match on fieldName or label. Examples: "keywords", "status", "brand,campaign". Omit to return all custom fields.

Returns:

FieldTypeDescription
contextstring
total_countinteger
countinteger
offsetinteger
has_moreboolean
next_offsetinteger (optional)
searchResultsLinkstring (optional)
itemsarray of SearchAprimoItem
items[].titlestring
items[].deepLinkstring (optional)
items[].customFieldsarray of SearchAprimoFieldValue
items[].customFields[].idstring
items[].customFields[].fieldNamestring (optional)
items[].customFields[].labelstring (optional)
items[].customFields[].dataTypestring (optional)
items[].customFields[].valuestring (optional)
items[].createdDatestring (optional)
items[].modifiedDatestring (optional)
items[].contentTypestring (optional)
items[].fileExtensionstring (optional)
items[].previewUristring (optional)

Available on request

Starts an asynchronous Aprimo job that searches for images similar to the image at a given URL, and returns the job's id. Important limitation: the DAM rest API documents no endpoint to retrieve this job's results (no poll/status/result endpoint exists for this job type) — this tool can only confirm the job was accepted, not report matches. This modifies data (creates a job). Tell the user about this limitation before using it.

Parameters:

ParameterTypeRequiredDescription
urlstringYesThe URL of the image to search for similar images to.
maxResultsintegerNoOptional maximum number of results the job should collect.
userAgentstringNoOptional user agent to use when fetching the image at the URL.
siftstringNoOptional sift (feature-matching) options for the search.
pHashstringNoOptional perceptual-hash matching options for the search.
creatorEmailstringNoOptional email address of the user the job is created on behalf of.
disableNotificationbooleanNoWhen true, suppresses job-completion notifications. Omit for the endpoint's default.
earliestStartDatestringNoOptional ISO-8601 timestamp; the job will not start executing before this time.
prioritystringNoOptional job priority: "High" or "Medium".

Returns:

FieldTypeDescription
jobIdstring
notestring