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:
- Ad Operations teams
- Campaign Managers
- Media Buyers
- Sales teams
- Marketing teams
- Business Intelligence users
Typical use cases include:
- Retrieving creative inventories
- Generating campaign performance reports
- Analyzing creative performance
- Reviewing invoice status
- Creating DSP-ready creative tags
- Accessing campaign information through conversational AI
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
- Log in to the Primo Platform.
- Top / Right pull-down menu open Company Info -> API Tokens Direct Link.
- Click Create Token.
- Copy the generated token.
- 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
- Never share your API token.
- Do not commit tokens to source code repositories.
- Rotate tokens regularly.
- Create separate tokens for production and testing.
- Revoke tokens immediately if they become compromised.
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:
- Primo_creatives
- Primo_creative_fallback
- Primo_creative_info
- Primo_creative_report
- Primo_creative_thumbnail
- Primo_reporting_overview
- Primo_invoices
- Primo_creative_tag
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:
- creativeID
- name
- isLive
- createdAt
- updatedAt
- sizeFormat
- userName
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
- creativeID
- name
- sizeFormat
- creativeFormat
- brand
- cpm
- currency
- hasVideo
- hasFeed
- channel
- placement
- clickIDs
- customEvents
- trackingAll
- trackingUnique
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
- image
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
- Requests
- Impressions
- Viewables
- Viewability Rate (VR)
- Clicks
- CTR
- Country
- Average Interaction Time
- Video Starts
- Video Plays ≥ 5 Seconds
- Video Completions
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
- image
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
- Total Impressions
- Total Estimated Cost
- Aggregate Campaign Metrics
Per Creative
- creativeID
- name
- impressions
- ctr
- vr
- estimatedCost
- currency
- cpm
- hasVideo
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:
- openAmount
- currency
- numberFormat
Invoice information:
- invoiceNumber
- invoiceDate
- totalAmount
- pdfURL
- paid
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:
- Retrieve creative information using
Primo_creative_info - Display available click-out URLs
- Ask whether any URLs should be replaced
- 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