MCP server for Taboola's Realize API - campaign analysis and reporting
Project description
Realize MCP Server
A Model Context Protocol (MCP) server that provides read-only access to Taboola's Realize API, enabling AI assistants to analyze campaigns, retrieve performance data, and generate reports through natural language.
Quick Start
Cursor IDE Setup
Add to Cursor Settings → Features → Model Context Protocol:
{
"mcpServers": {
"realize-mcp": {
"command": "realize-mcp-server",
"env": {
"REALIZE_CLIENT_ID": "your_client_id",
"REALIZE_CLIENT_SECRET": "your_client_secret"
}
}
}
}
Claude Desktop Setup
Add to your claude_desktop_config.json:
{
"mcpServers": {
"realize-mcp": {
"command": "realize-mcp-server",
"env": {
"REALIZE_CLIENT_ID": "your_client_id",
"REALIZE_CLIENT_SECRET": "your_client_secret"
}
}
}
}
Installation
pip install realize-mcp
Setup
# Set credentials
export REALIZE_CLIENT_ID="your_client_id"
export REALIZE_CLIENT_SECRET="your_client_secret"
Basic Usage
User: "Show me campaigns for Marketing Corp"
AI:
1. Searches accounts for "Marketing Corp"
2. Retrieves campaigns using the found account_id
3. Returns campaign list with performance metrics
Important: All operations require getting account_id values from search_accounts first - never use numeric IDs directly.
Available Tools
🔍 Account Management
search_accounts- [REQUIRED FIRST] Find accounts and get account_id values for other tools (with pagination support: page_size max 10)
📊 Campaign Tools
get_all_campaigns- List all campaigns for an accountget_campaign- Get detailed campaign informationget_campaign_items- List campaign creative itemsget_campaign_item- Get specific item details
📈 Reporting Tools (CSV Format)
get_top_campaign_content_report- Top performing content with sorting & paginationget_campaign_breakdown_report- Campaign performance breakdown with sorting & paginationget_campaign_history_report- Historical campaign data with paginationget_campaign_site_day_breakdown_report- Site/day performance breakdown with sorting & pagination
🔐 Authentication
get_auth_token- Authenticate with Realize APIget_token_details- Check token information
Prerequisites
- Python 3.10+ (Python 3.11+ recommended)
- Taboola Realize API credentials (client ID and secret)
- MCP-compatible client (Claude Desktop, Cursor, VS Code, etc.)
Usage Examples
1. Find Account and List Campaigns
User: "Show campaigns for account 12345"
AI Process:
Step 1: search_accounts("12345") → Returns account_id: "advertiser_12345_prod"
Step 2: get_all_campaigns(account_id="advertiser_12345_prod")
Result: List of campaigns with details
2. Get Performance Report
User: "Get campaign performance for Marketing Corp last month"
AI Process:
Step 1: search_accounts("Marketing Corp") → account_id: "mktg_corp_001"
Step 2: get_campaign_breakdown_report(
account_id="mktg_corp_001",
start_date="2024-01-01",
end_date="2024-01-31"
)
Result: CSV report with campaign metrics
3. Top Performing Content
User: "Show top 20 performing content items"
AI Process:
get_top_campaign_content_report(
account_id="account_id_from_search",
start_date="2024-01-01",
end_date="2024-01-31",
page_size=20,
sort_field="spent",
sort_direction="DESC"
)
Result: Top content sorted by spend
Important Workflow Notes
⚠️ Account ID Requirement
All campaign and report tools require account_id values from search_accounts:
✅ Correct Workflow:
1. search_accounts("company name" or "numeric_id")
2. Extract account_id from response
3. Use account_id in other tools
❌ Incorrect:
get_all_campaigns(account_id="12345") # Numeric IDs won't work
📊 Report Features
- CSV Format: Reports return efficient CSV data with headers and pagination info
- Pagination: Default page_size=20, max=100 to prevent overwhelming responses
- Sorting: Available for most reports by
clicks,spent, orimpressions - Size Optimization: Automatic truncation for large datasets
Quick Troubleshooting
If you encounter issues with the MCP server, try this quick diagnostic:
# Test server manually
REALIZE_CLIENT_ID=test REALIZE_CLIENT_SECRET=test realize-mcp-server
You should see: INFO:realize.realize_server:Starting Realize MCP Server...
Detailed Documentation
📖 For comprehensive information, see design.md:
- Recent Fixes & Version History - Detailed release notes and upgrade instructions
- Installation Options - PyPI & Source installation with troubleshooting
- Architecture & Design Principles - Technical implementation details
- Advanced Features - CSV format, pagination, sorting, and optimization
- Development Guide & Testing - Setup, testing, and contribution guidelines
- Comprehensive Troubleshooting - Detailed solutions for common issues
- Security Best Practices - Credential management and operational security
- Complete API Reference - Full technical API documentation
- Technology Stack Details - Dependencies and system requirements
License
Licensed under the Apache License 2.0. See LICENSE for details.
Realize MCP Server - Safe, efficient, read-only access to Taboola's advertising platform through natural language.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file realize_mcp-1.0.5.tar.gz.
File metadata
- Download URL: realize_mcp-1.0.5.tar.gz
- Upload date:
- Size: 37.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e063773334fe0aec54dd295ec5b76feaa797f3298a1150b3693b2f858830f5e2
|
|
| MD5 |
887483415a5daf0a7562d12e7cf096aa
|
|
| BLAKE2b-256 |
d137915012c6a9163b86c544bccbc6792e764b03ac3e8425b50fa539f113bf57
|
File details
Details for the file realize_mcp-1.0.5-py3-none-any.whl.
File metadata
- Download URL: realize_mcp-1.0.5-py3-none-any.whl
- Upload date:
- Size: 24.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da549719717b7608fe7e3dbf25e2f4826458a5b515debb113b6cc579b5c05530
|
|
| MD5 |
efd92c2e6c4ae49e4a09b60173a51fd7
|
|
| BLAKE2b-256 |
c6bbd84b709fd89f3c71fbb7b6eaea00396741e010c4d12867d09499d6080428
|