Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The Xandr MCP provides read-only access to Xandr data through the Model Context Protocol (MCP). It is designed for AI clients that need to discover, retrieve, and summarize data from Xandr without making platform changes.
The service currently supports the following Xandr product surfaces:
- Monetize: https://monetize.xandr.com/mcp
- Curate: https://curate.xandr.com/mcp
These endpoint URLs are stable and are not versioned. They will not change.
Important
Xandr MCP is currently in closed beta. Tool coverage, schemas, and behavior may change without notice.
Introduction
Xandr MCP is intended for data retrieval, discovery, and analysis workflows. MCP-compatible clients can:
- Query reporting and analytics data
- Inspect object metadata and platform entities
- Retrieve reference and lookup data
- Review change history and saved report information
- Access selected planning, forecasting, or troubleshooting experiences (where enabled)
Xandr MCP is currently a read-only product. It does not create, update, or delete Xandr objects.
Write operations may be added in the future but would require explicit enablement.
Using Xandr MCP
To connect an MCP client:
- Configure a remote HTTP MCP server that points to either the Monetize or Curate endpoint
- Provide a valid Xandr API authentication token
Authentication
Xandr MCP requires a valid Xandr API authentication token. Token format, lifetime, refresh behavior, and all other authentication mechanics are defined by the Xandr Authentication Service.
MCP does not introduce a separate authentication model—it uses the same token flow as the standard Xandr API.
To authenticate requests, include the token in the Authorization header:
Authorization: Bearer <your-xandr-token>
If the token expires, refresh it using the standard Xandr authentication flow and update it in your MCP client as needed.
Permissions and access control
Xandr MCP does not introduce a separate permission model.
- Does not grant new platform access
- Respects existing permissions assigned to the authenticated user or token
- Enforces access through the underlying Xandr APIs
In practice, MCP can only expose data and capabilities that the authenticated identity is already authorized to use in Monetize or Curate.
MCP does not enable platform functionality that is not already available to your account, member, or seat. For example, if forecasting is not enabled for your seat, forecasting-related MCP tools will not be available.
Configuration files
The configuration method depends on the client. Configuration files (such as mcp.json) define MCP servers, endpoints, and authentication settings. See the client-specific sections below for details.
- VS Code uses
mcp.json - Claude Code uses
.mcp.json - Claude.ai and Claude Desktop use connector configuration in the UI instead of a file
mcp.jsonis a client-specific configuration file used to define MCP servers, endpoints, and authentication settings.
Other MCP-compatible tools may support different configuration models, authentication requirements, or setup flows. Refer to the documentation for your client.
VS Code
You can configure MCP servers in:
- A workspace file at
.vscode/mcp.json - Your user profile via the MCP: Open User Configuration command
Example .vscode/mcp.json
{
"servers": {
"xandr-monetize": {
"type": "http",
"url": "https://monetize.xandr.com/mcp",
"headers": {
"authorization": "Bearer ${input:xandrAuthToken}"
}
},
"xandr-curate": {
"type": "http",
"url": "https://curate.xandr.com/mcp",
"headers": {
"authorization": "Bearer ${input:xandrAuthToken}"
}
}
},
"inputs": [
{
"id": "xandrAuthToken",
"type": "promptString",
"description": "Xandr API authentication token",
"password": true
}
]
}
VS Code also supports adding a server through the Command Palette (MCP: Add Server). However, a checked-in .vscode/mcp.json file is typically the clearest option for shared team setups.
After configuration:
- Open the workspace in VS Code
- Open .vscode/mcp.json or run MCP: Open User Configuration
- Save the configuration
- Allow VS Code to start the server when prompted
- Use Chat—MCP tools are discovered automatically
If your client supports input prompts, this approach avoids hard-coding the authentication token in the file.
Claude Code
Claude Code supports project-scoped MCP configuration using a .mcp.json file at the project root. Its JSON structure differs from VS Code and uses mcpServers instead of servers.
Example .mcp.json
{
"mcpServers": {
"xandr-monetize": {
"type": "http",
"url": "https://monetize.xandr.com/mcp",
"headers": {
"Authorization": "Bearer ${XANDR_AUTH_TOKEN}"
}
},
"xandr-curate": {
"type": "http",
"url": "https://curate.xandr.com/mcp",
"headers": {
"Authorization": "Bearer ${XANDR_AUTH_TOKEN}"
}
}
}
}
Claude Code also supports adding MCP servers using the CLI instead of manually editing the JSON file.
Example CLI commands
claude mcp add --transport http --scope project xandr-monetize https://monetize.xandr.com/mcp --header "Authorization: Bearer your-token"
claude mcp add --transport http --scope project xandr-curate https://curate.xandr.com/mcp --header "Authorization: Bearer your-token"
After adding the server:
- Use
/mcpinside Claude Code to inspect server status - Complete any required authentication flow prompted by the client
Claude.ai and Claude Desktop
For remote MCP usage in Claude.ai and Claude Desktop, configuration is done through a custom connector flow rather than a local mcp.json file.
Set up a remote connector
- Open Customize > Connectors in Claude
- Select Add a custom connector
- Enter the MCP endpoint URL (for example,
https://monetize.xandr.com/mcporhttps://curate.xandr.com/mcp) - Complete authentication if prompted
- Enable the connector for the conversation where you want to use MCP
For Team and Enterprise plans, connector creation may be restricted to organization owners or admins.
Note
Claude Desktop also supports local MCP servers through claude_desktop_config.json. However, current Anthropic guidance for remote MCP connectors uses the connector UI rather than mcp.json.
For a repository example with additional local and staging configurations, see mcp.json example above.
Rate limits
Xandr MCP requests are subject to rate limiting. The same throttling principles that apply to the Xandr API also apply to MCP.
For more information, see:
MCP usage consumes a portion of the API rate limits available to the authenticated client.
- Typical interactive usage is unlikely to reach these limits
- Automated or high-frequency integrations should handle throttling appropriately
Available tools
Xandr MCP exposes tools across the following functional areas:
- Reporting and analytics: Run supported reports, retrieve dimensions and metrics, and analyze performance data
- Report management: Check report status, download completed reports, and inspect saved report definitions
- Object discovery and lookup: Search supported Xandr entities and inspect available object fields
- Reference data: Retrieve lookup datasets such as geography, device, media, and other classification data
- Change history: Review audit and change-log information for supported entities
- Planning and forecasting: Access selected planning or forecasting data where available for your account
- Troubleshooting: Use diagnostic tools for supported workflows where available
Typical reporting workflow
For reporting scenarios, a common workflow is:
- Identify the report to use
- Inspect available dimensions, metrics, and filters
- Run the report with the required grouping, filters, and date range
Examples
- Analyze Monetize inventory performance for the last 7 days by publisher or placement
- Retrieve Curate deal metrics for a specific buyer or seller deal
- Check provisional network analytics for same-day delivery trends
- Inspect a report catalog to understand available columns and filters before running a query
Depending on the report, MCP may expose:
- Direct report tools for commonly used report types
- Discovery-style tools for exploring report metadata and executing queries
Typical object discovery workflow
For object exploration, a common workflow is:
- Discover supported object types using
xandr_list_objects - Inspect the schema and available filters for a specific object using
xandr_describe_object - Query objects using
xandr_search_objector an object-specific search tool
Examples
- Discover whether
advertiser,line-item,publisher, ordealis available as a supported object type - Inspect available fields and filters for a
profileorpublisherobject before querying - Search for a specific advertiser, publisher, deal, or profile after identifying the appropriate filters
Some commonly used entities (such as advertisers or publishers) may have dedicated search tools for simpler and faster queries. Other entities use a general workflow where you first discover available object types, inspect their schema, and then query them using standard search tools.
Other common tool patterns
- Reference data: Follows a discover → describe → search pattern for datasets such as geography, device, language, and media classifications
- Report management: Check asynchronous report status, inspect saved reports, and download completed output
- Change history: Review audit and change-log information for supported entities
- Planning, forecasting, and troubleshooting: Available only when the corresponding platform capability is enabled for the authenticated user
Note
Tool names, schemas, coverage, and availability may change without notice during closed beta.
MCP and model responsibilities
When troubleshooting, distinguish between the responsibilities of the MCP server and the model or client.
MCP server responsibilities
- Exposes tools
- Validates inputs
- Calls underlying Xandr APIs
- Returns structured results or errors
Model or client responsibilities
- Interprets the prompt
- Selects which tools to use
- Chooses parameters
- Sequences tool calls
- Summarizes results
Understanding different outcomes
Issues can originate from different layers:
- Model or client layer: Incorrect tool selection, invalid filters, or misinterpretation of the prompt
- MCP layer: Unexpected input validation failures, incorrect API calls, or inconsistent tool output
- Platform layer: Access denied, missing data, or unavailable features based on account permissions
Similar prompts may produce different results across models or clients, even when using the same MCP server. This is because tool selection and reasoning are handled by the model, not MCP.
Troubleshooting guidance
For effective troubleshooting, capture:
- What the user asked the model to do
- What the model attempted through MCP
This helps determine whether the issue originates from prompt interpretation, model reasoning, client integration, MCP behavior, or the underlying platform capability.
Product scope
The current product scope is intentionally limited:
- Read-only access: Supports data retrieval only
- No write operations: Does not create, update, or delete objects
- Future extensibility: Write operations may be added with explicit enablement
- Closed beta: Availability is limited during rollout
- Permission-bound access: Limited to existing authenticated permissions
Some capabilities may be available only for specific products, users, environments, or beta cohorts.
Support requests
When reporting an issue or requesting support, provide concise but specific information to help speed up investigation.
Include the following details:
- Platform: Monetize or Curate
- MCP client: For example, VS Code, Claude Code, or another MCP-compatible client
- Model: If known
- Original prompt: Or a close equivalent that reproduces the issue
- Tool usage: Which tools the model attempted to use
- Tool results: Whether each tool call succeeded, failed, or returned incomplete data
- Relevant identifiers: Such as report type, object type, object ID, deal ID, advertiser ID, or date range
- Errors or behavior: Exact error message or a summary of incorrect behavior
- Reproducibility: Whether the issue is reproducible or intermittent
Keep the report concise, but include enough detail for others to understand and reproduce the issue without reconstructing the entire session.
Suggested support template
You can provide the following template to your LLM and ask it to summarize the session before submitting a support request.
# Xandr MCP support summary
## Issue summary
- Short description:
- Impact:
- Reproducible: Yes / No / Unknown
## Environment
- Platform: Monetize / Curate
- MCP client:
- Model:
- Environment: Production / Staging / Unknown
- Approximate time of issue:
## User intent
- Original prompt:
- Expected outcome:
- Actual outcome:
## Tool usage
| Tool | Purpose | Result | Notes |
|------|---------|--------|-------|
| tool_name | reason for use | Success / Failed / Partial | short detail |
## Relevant inputs
- Report type:
- Object type:
- IDs or names used:
- Date range:
- Filters or grouping:
## Errors or suspicious output
- Exact error message(s):
- If no formal error, describe the incorrect or incomplete result:
## Reasoning context
- Why the model chose those tools:
- Whether the model misunderstood the prompt, platform, or available capability:
## Additional context
- Whether the capability works outside MCP:
- Whether the account or seat has access to the underlying platform feature:
- Any additional information that may help reproduce or debug the issue:
Suggested instruction for your LLM
You can provide the following instruction to your LLM to generate a support summary:
Summarize this Xandr MCP issue for a support ticket. Be concise, but include:
- Platform
- MCP client
- Model (if known)
- Original prompt
- Tools used
- Whether each tool succeeded or failed
- Relevant IDs and date ranges
- Exact errors
- Any context needed to reproduce or debug the issue