Primo Remote MCP Server

Introduction

The Primo Remote MCP Server provides AI assistants with direct access to the Primo Platform through the Model Context Protocol (MCP).

Unlike traditional integrations, the Primo Remote MCP Server is hosted and maintained by Primo. Users only need a valid Primo API token to connect supported AI applications. No code gets executed locally on your PC or Mac.

By connecting the Primo Remote MCP Server to AI tools such as ChatGPT, Claude Desktop, Cursor, LM Studio, OpenCode, Continue, and other MCP-compatible applications, users can interact with Primo using natural language instead of navigating through reporting interfaces manually.

The MCP is designed primarily for:

Typical use cases include:


Why Use the Primo Remote MCP Server?

The Primo Remote MCP Server allows AI assistants to become a conversational interface for the Primo platform.

Instead of manually navigating dashboards and reports, users can simply ask:

Which creatives are running this month ?

Which creatives have been newly produced in the past 2 months.

Give me detailed reporting and creative info for v3ad-xxxx.

Generate a AdForm tag for creative v3ad-xxxx.

Which invoices are still unpaid?

The AI assistant will automatically access the relevant Primo tools and present the results in a user-friendly format.


Authentication

The Primo Remote MCP Server is available at:

https://mcp.visarity.com/mcp

Access requires a Primo API Token.

Creating a Primo API Token

  1. Log in to the Primo Platform.
  2. Top / Right pull-down menu open Company Info -> API Tokens Direct Link.
  3. Click Create Token.
  4. Copy the generated token.
  5. Store the token securely.

The token is used as a Bearer Token when connecting AI applications to the MCP server.

Example:

Authorization: Bearer YOUR_PRIMO_TOKEN

Security Recommendations


Available Tools

The Primo Remote MCP Server exposes the following tools.

Tool Purpose
Primo_creatives List creatives created or updated during a time period
Primo_creative_fallback Get fallback image for a creative
Primo_creative_info Get detailed information about a creative
Primo_creative_report Retrieve analytics and reporting metrics
Primo_creative_thumbnail Get thumbnail image for a creative
Primo_reporting_overview Campaign reporting overview across all creatives
Primo_invoices Access invoice and debtor information
Primo_creative_tag Generate DSP-compatible third-party creative tags

Recommended AI Workflows

Creative Discovery

Show all creatives created during the last 14 days.

List all live creatives.

Which creatives contain video assets?


Campaign Analysis

What were the top-performing creatives by CTR last month?

Which creatives have the highest viewability rate?

Compare the performance of all video creatives.


Tag Generation

Generate a DV360 tag for creative v3ad-xxxx.

Generate a Campaign Manager 360 tag for v3ad-xxxx and let me review click-out URLs first.


Finance

Show all open invoices.

Calculate the total outstanding balance.

List invoices issued during the current year.


Connecting AI Applications (Claude, OpenAI, Hermes etc)

The Primo Remote MCP Server is fully hosted by Primo. No local installation is required.

MCP Endpoint:

https://mcp.visarity.com/mcp

All connections require a valid Primo API token.


AnythingLLM

Open Settings -> Agent Skills -> MCP Servers -> Edit MCP config .
It will open anythingllm_mcp_servers.json add the following and save.
Click Refresh in AnythingLLM App.

{
  "mcpServers": {
    "PrimoMCP": {
      "type": "streamable",
      "url": "https://mcp.visarity.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_PRIMO_TOKEN"
      }      
    }
  }
}

Claude Desktop

Download primoMCP.mcpb to your computer.
Open Claude Desktop -> Settings -> Extensions (under Desktop app). Drag and drop the primoMCP.mcpb file on the Extensions page.
Another way is to click right mouse on primoMCP.mcpb and open the file with Claude Desktop app.


Codex (OpenAI)

Settings -> MCP Servers -> + Add server
Select "Sreamable HTTP" URL: https://mcp.visarity.com/mcp
Headers: Key: Authorization , Value: Bearer YOUR_PRIMO_TOKEN


Hermes Agent

First ensure if mcp support is installed (normally it is by default).

hermes mcp catalog

Open ~/.hermes/config.yaml and add

mcp_servers:
  primoMCP:
    url: "https://mcp.visarity.com/mcp"
    headers:
      Authorization: "Bearer YOUR_PRIMO_TOKEN"

Doc: https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp


LM Studio

Open mcp.json manually or on the right sidebar -> Integrations -> + Install which opens mcp.json.
Doc: https://lmstudio.ai/docs/app/mcp

Configure:

{
  "mcpServers": {
    "PrimoMCP": {
      "url": "https://mcp.visarity.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_PRIMO_TOKEN"
      }
    }
  }
}

OpenCode

Open opencode.json and add the mcp-server as shown below.
Doc: https://opencode.ai/docs/config/

{
...
 "mcp": {
    "primo-mcp": {
      "type": "remote",
      "url": "https://mcp.visarity.com/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer YOUR_PRIMO_TOKEN"
      }
    }
  }
}

Verifying the Connection

Usually the AI Applications shows directly if the connection is established correctly. However a good test is to just ask:

What Primo tools are available?

The assistant should list:

If the tools are visible, the connection is configured successfully.


Tool Reference

Primo_creatives

Returns creatives created or updated during a specified time period.

Parameters

Parameter Description
startTS Start date (ISO 8601)
endTS End date (ISO 8601)
lastUpdated If true, returns updated creatives instead of newly created creatives

Returns

Each creative contains:

Example Prompts

Show all creatives created during the last 30 days.

List all creatives updated this month.

Which creatives were created between January 1st and January 31st?


Primo_creative_info

Returns detailed information about a specific creative.

Parameters

Parameter Description
creativeID Primo creative identifier

Returns

Example Prompts

Show details for creative 12345.

Does creative 12345 contain video assets?

Which click-out URLs are configured for creative 12345?


Primo_creative_fallback

Returns the fallback image.

Parameters

Parameter Description
creativeID Primo creative identifier

Returns

Example Prompts

Show fallback for creative 12345.


Primo_creative_report

Returns detailed analytics for a creative.

Parameters

Parameter Description
creativeID Primo creative identifier
startTS Start date (ISO 8601)
endTS End date (ISO 8601)

Returns

Example Prompts

Show performance metrics for creative 12345 during the last 7 days.

What was the CTR of creative 12345 in May?

How many completed video views did creative 12345 generate?


Primo_creative_thumbnail

Returns the small thumbnail image.

Parameters

Parameter Description
creativeID Primo creative identifier

Returns

Example Prompts

Show thumbnail for creative 12345.


Primo_reporting_overview

Provides an overview of all creatives served during a given period.

Parameters

Parameter Description
startTS Start date (ISO 8601)
endTS End date (ISO 8601)
showLowImpressionCreatives Include creatives with fewer than 1,000 impressions

Returns

Total Overview
Per Creative

Important

By default, creatives with fewer than 1,000 impressions are excluded.

For QA, testing, or low-volume campaigns, ask the assistant to include low-impression creatives.

Example Prompts

Show reporting overview for the last 30 days.

Which creatives generated the most impressions this month?

Include low-volume creatives and rank them by CTR.


Primo_invoices

Returns debtor and invoice information.

Returns

Debtor information:

Invoice information:

Example Prompts

Show all unpaid invoices.

What is the current outstanding balance?

List invoices issued during the last quarter.


Primo_creative_tag

Generates DSP-compatible third-party creative tags.

Important Workflow

Before generating a tag, the AI assistant should:

  1. Retrieve creative information using Primo_creative_info
  2. Display available click-out URLs
  3. Ask whether any URLs should be replaced
  4. Generate the requested DSP tag

Supported DSP Macro Sets

Macro Set Platform
DV360 Google Display & Video 360
XANDR Xandr Invest
ADFORM Adform
SMART SmartyAds
ADX AdXperience
TRADEDESK The Trade Desk
BASIS Basis
ILLUMIN illumin
OURSBLANC OursBlanc
GOOGLECM Campaign Manager 360
GOOGLEADS Google Ads
CUSTOM Custom DSP Integration

Example Prompts

Generate a DV360 tag for creative 12345.

Show the click-out URLs for creative 12345 before generating a tag.

Generate an Adform tag and replace all click-outs with https://example.com.

Generate a custom tag using my own clickTag and cacheBuster macros.


Support

For support, API token issues, deployment assistance, feature requests, or bug reports, please contact your Primo administrator or the Primo support team.


© Primo – Primo Remote MCP Server