AgentXM

Trillboards DOOH Advertising

mcp remote · streamable-http · v1.0.0 · source: crawl

https://api.trillboards.com/mcp

757,000+ screens reachable through Trillboards and 29,000+ screens registered on our own network.

AgentXM badge

Works

90

Verified Oct 31, 2026 · p50 232 ms · p95 261 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'dooh-exchange'
tools_listed15pass83 tools
schema_complete15pass79 of 83 tools have a description and a typed schema
latency_p5010passp50 232 ms
latency_p955passp95 261 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10failimport_feedback_creative: base64 payload
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (83)

NameDescriptionSchema
import_feedback_creativeImport an AI model’s image through native bytes, moderation and brand review. Provide exactly one of asset_url, source_creative_id or image_base64. Inline bytes require content_type. PNG, JPEG and Webtyped
configure_feedback_brandConfigure your native brand profile and enable its booked reactive campaign. Uses your authenticated native buyer and existing funded placement.typed
create_creative_experimentCreate an experiment on a funded native media-buy placement. Uses your authenticated native buyer and existing funded placement.typed
get_creative_experimentRead your native experiment, policy and latest 500 owned creative recovery records. Uses your authenticated native buyer and existing funded placement.typed
register_creative_variantsRegister approved native generated creative variants. Uses your authenticated native buyer and existing funded placement.typed
update_creative_policyReplace native creative weights at the expected policy version. Uses your authenticated native buyer and existing funded placement.typed
get_campaign_performanceGet detailed performance metrics for a campaign. WHEN TO USE: - Monitoring active campaign performance - Reviewing completed campaign results - Getting per-screen impression breakdowns RETURNS: - catyped
get_creative_rewardsRead a metered page of latest measured native play states. Read actual latest native plays with NULL preserved. Dates are YYYY-MM-DD, max 31 days. Poll with the returned cursor; canonical_key plus rewincomplete
stop_creative_experimentStop the native experiment at the expected policy version. Uses your authenticated native buyer and existing funded placement.typed
generate_brand_creativeGenerate a native brand creative for explicit review and moderation. The native ad and advertiser come from the experiment. Review and AI moderation are separate. The existing data_api/api_calls tariftyped
review_feedback_creativeApprove or reject your generated creative using native brand review. Uses your authenticated native buyer and existing funded placement.typed
register_partnerRegister a new partner organization with Trillboards. WHEN TO USE: - First-time setup for a new partner integration - Creating a new partner account to manage devices RETURNS: - partner_id: Unique ptyped
get_partner_infoGet information about the authenticated partner account. WHEN TO USE: - Checking current partner status and stats - Verifying API key is working - Getting partner account details RETURNS: - partner_typed
device_heartbeatSend a heartbeat signal from a device to report its status. WHEN TO USE: - Regular device health monitoring (every 30-60 seconds) - Reporting current playback status - Reporting errors or issues RETtyped
register_deviceRegister or update a device in the partner's network. WHEN TO USE: - Adding a new screen/kiosk/vending machine to the network - Updating device location or configuration - Re-registering a device afttyped
list_devicesList all devices registered to the partner account. WHEN TO USE: - Getting an overview of all connected devices - Finding devices by status (online/offline) - Auditing the device fleet RETURNS: - detyped
get_deviceGet detailed information about a specific device. WHEN TO USE: - Checking status of a single device - Getting device configuration details - Debugging device issues RETURNS: - device_id: Your interntyped
delete_deviceSoft-delete a device from the partner account. WHEN TO USE: - Removing a device that's been decommissioned - Cleaning up test devices - Removing a device that's been relocated to another partner RETtyped
get_device_adsGet current ads scheduled for a device (for testing). WHEN TO USE: - Testing device ad delivery - Debugging which ads are being shown - Verifying ad targeting is working RETURNS: - ads: Array of advtyped
record_impressionRecord a single ad impression from a device. WHEN TO USE: - Reporting that an ad was displayed on a device - Recording impression with detailed metadata - Single impression events (for batch, use battyped
batch_impressionsRecord multiple impressions in a single request (up to 100). WHEN TO USE: - Bulk reporting impressions from offline period - Efficient batch processing of impressions - When device was offline and netyped
get_analyticsGet analytics data for the partner account. WHEN TO USE: - Viewing overall performance metrics - Analyzing device performance - Generating reports on impressions and earnings - Comparing performance typed
create_webhookCreate a new webhook subscription for real-time events. WHEN TO USE: - Setting up real-time notifications for device events - Integrating with external systems - Monitoring ad playback and impressiontyped
list_webhooksList all webhook subscriptions for the partner account. WHEN TO USE: - Viewing all configured webhooks - Auditing webhook subscriptions - Finding a webhook to update or delete RETURNS: - webhooks: Atyped
update_webhookUpdate an existing webhook subscription. WHEN TO USE: - Changing the webhook endpoint URL - Adding or removing subscribed events - Enabling or disabling a webhook - Updating the webhook description typed
delete_webhookDelete a webhook subscription. WHEN TO USE: - Removing a webhook that's no longer needed - Cleaning up old integrations - Removing test webhooks RETURNS: - success: Boolean indicating success - webhtyped
test_webhookSend a test event to a webhook endpoint. WHEN TO USE: - Verifying webhook endpoint is working - Testing integration during development - Debugging webhook delivery issues RETURNS: - success: Booleantyped
get_network_statsGet network-wide statistics across all partner screens. WHEN TO USE: - Getting a high-level overview of network performance - Checking how many screens are online - Reviewing total impressions and retyped
get_webhook_deliveriesGet delivery history for a webhook. WHEN TO USE: - Debugging failed webhook deliveries - Auditing webhook activity - Checking delivery success rates RETURNS: - deliveries: Array of delivery records typed
discover_inventoryDiscover available DOOH screens across the exchange network. WHEN TO USE: - Finding screens by venue type (retail, transit, office, etc.) - Finding screens in a specific city/state or within a radiustyped
get_live_audienceGet real-time audience data for a specific screen. WHEN TO USE: - Checking current audience at a screen before buying - Monitoring audience during a live campaign - Getting detailed audience signals typed
get_audience_forecastPredict what the audience will look like at a screen at a specific time. WHEN TO USE: - Planning campaigns for specific time slots - Estimating audience composition before buying - Comparing audiencetyped
create_campaignCreate a new advertising campaign targeting DOOH screens. WHEN TO USE: - Setting up a new ad campaign on available screens - Targeting specific venues, locations, or audience profiles - Allocating butyped
get_signals[AdCP Signals] Get real-time audience signals from DOOH screens. This is an AdCP (Ad Context Protocol) compliant tool. It returns deterministic audience signals captured by edge AI (vision + audio + incomplete
activate_signal[AdCP Signals] Activate an audience signal for DSP targeting. Returns an activation_key token for referencing this signal activation. Free-form Trillboards signal labels remain custom parameters. IABtyped
get_adcp_capabilities[AdCP] Get the seller agent's AdCP capabilities and supported protocols. Returns the full capability declaration for this AdCP DOOH seller agent. This tool does NOT require authentication. WHEN TO Utyped
get_products[AdCP Media Buy] Get available DOOH advertising products and packages. NO AUTHENTICATION REQUIRED. Discovery is open — read the catalogue first, get a key when you want to transact. Send a natural-ltyped
list_creatives[AdCP Creative] List the creatives this buyer has on file with us. OUR LIBRARY IS PER-BUY, AND THIS SAYS SO. AdCP's creative library models concepts, variables, assignments and snapshots; ours does ntyped
purchase_creditsPurchase committed-use credits at a discount. Three tiers: tier_500 ($500 → $625 credit, 25% bonus), tier_2000 ($2,000 → $3,100 credit, 55% bonus), tier_5000 ($5,000 → $10,000 credit, 100% bonus). Reqtyped
list_creative_formats[AdCP Media Buy] List the creative formats this network actually accepts. Every format is DERIVED from live per-screen capability (panel size, min/max spot length, audio) — not a hand-written list. Ttyped
get_media_buys[AdCP Media Buy] List media buys with status, budget, flight and optional delivery snapshots. Status, budget and flight are read from the advertisements + placements spine the buy actually books on —incomplete
create_media_buy[AdCP Media Buy] Create a media buy (campaign) from an AdCP buy specification. Creates a campaign that targets DOOH screens based on the provided specification. Returns a media_buy_id for tracking antyped
update_media_buy[AdCP Media Buy] Update an existing media buy (campaign). Modify budget, targeting, schedule, or status of an existing media buy. WHEN TO USE: - Adjusting campaign budget mid-flight - Pausing or resincomplete
sync_creatives[AdCP Media Buy] Validate and sync creative assets for a media buy. Validates creative assets (resolution, duration, format) against screen specifications. Returns compatibility status for each screetyped
get_media_buy_delivery[AdCP Media Buy] Get delivery/performance report for a media buy. Returns campaign performance with breakdowns by screen, venue, hour, and audience segment. WHEN TO USE: - Monitoring campaign delivetyped
provide_performance_feedback[AdCP Media Buy] Provide optimization signals from buyer agent. Accepts feedback from buyer agents for floor price adjustment and inventory optimization. Enables closed-loop optimization between buyetyped
log_event[AdCP Media Buy] Record a conversion or attribution event. Records conversion events for post-campaign attribution analysis. Events are deduplicated by event_id + event_type combination. WHEN TO USEtyped
list_accounts[AdCP Accounts] List the accounts this credential can transact on. This seller's account model is 'explicit': one API key IS one account, so this returns exactly one account — the partner behind the typed
sync_accounts[AdCP Accounts] Establish or confirm the account behind this credential. IMPORTANT — what this does NOT do: it does not provision a new account. This seller's namespace is one account per API key, sotyped
get_billing_statusCheck current billing status including whether billing is set up, credit balance, Stripe customer ID, and payment method status. Use this to determine if billing setup is needed before making paid APItyped
get_campaign_attributionGet comprehensive attribution summary for a DOOH campaign. WHEN TO USE: - Measuring overall campaign effectiveness (reach, footfall, sales lift) - Getting a high-level view of campaign attribution metyped
get_task_status[AdCP Protocol] Get the status of a previously issued AdCP task. Every AdCP task Trillboards serves for an AUTHENTICATED caller is recorded and returned a `task_id`. Poll that id here to read the tastyped
tasks_get[AdCP Protocol] Get the status of a previously issued AdCP task. Every AdCP task Trillboards serves for an AUTHENTICATED caller is recorded and returned a `task_id`. Poll that id here to read the tastyped
list_tasks[AdCP Protocol] List AdCP tasks belonging to your account, newest first. Returns `query_summary` (totals and a status breakdown), `tasks`, and `pagination`. Filter by status or task type. Scoped to ttyped
tasks_list[AdCP Protocol] List AdCP tasks belonging to your account, newest first. Returns `query_summary` (totals and a status breakdown), `tasks`, and `pagination`. Filter by status or task type. Scoped to ttyped
get_pricingGet machine-readable pricing for all Trillboards products. Returns graduated usage-based pricing, free tier thresholds, and committed-use discount tiers. No authentication required — use this to evalutyped
get_usage_summaryGet your current billing period usage summary with per-product breakdown and costs. Shows free tier consumption, paid usage, and total cost.typed
setup_billingSet up pay-per-use billing with a Stripe payment method. A stored card grants no API credit; fund usage with credits or explicitly authorized API postpay allowance. Pass a Stripe payment method token typed
get_attribution_timeseriesGet daily attribution timeseries for a campaign. WHEN TO USE: - Tracking attribution trends over time - Identifying which days had the strongest lift - Building attribution dashboards with daily grantyped
get_attention_metricsGet edge AI attention metrics for a campaign (FEIN-powered). This is what makes DOOH attribution better than digital: Trillboards MEASURES viewability via FEIN edge AI instead of estimating it. WHENtyped
get_creative_attentionGet per-creative attention breakdown for a campaign. WHEN TO USE: - A/B testing creative variants by attention score - Identifying which creative drives the most engagement - Comparing aCPM across crtyped
get_multi_touch_attributionGet multi-touch attribution model results for a campaign. Supported models: time_decay, position_based, attention_weighted. WHEN TO USE: - Understanding how DOOH fits into the full marketing funnel typed
get_cross_channel_journeyGet cross-channel customer journey data (Sankey flow) for a campaign. Shows how users flow between channels: DOOH -> mobile -> web -> store. WHEN TO USE: - Visualizing the customer journey across DOtyped
get_incrementalityGet incrementality/lift test results for a campaign. Uses Bayesian (Beta-Binomial with 10K Monte Carlo samples) and frequentist (chi-square with Yates correction) methods for causal measurement. WHEtyped
create_experimentCreate an incrementality experiment for a campaign. Sets up a geo-holdout, ghost ads, or propensity score matching experiment to causally measure DOOH advertising lift. WHEN TO USE: - Setting up a ntyped
get_creative_attributionGet attribution performance by individual creative variant. Links creative execution to attribution outcomes: which creative variant drove the most store visits? WHEN TO USE: - Comparing creative A/typed
get_roasGet Return on Ad Spend (ROAS) with transaction attribution data. Closes the ROAS loop: matches purchase events to DOOH exposures with time-decay weighting, and computes attributed revenue and incremetyped
export_cohortExport exposed audience cohort to a DSP for retargeting. Pushes MAID hashes from the campaign's exposed cohort to the specified DSP (The Trade Desk, DV360, or Meta). Creates or reuses a DSP segment. typed
get_audience_lookalikeFind screens with similar audience profiles using pgvector similarity. Uses 64-dimensional audience vectors with HNSW cosine similarity index to find screens whose audience demographics, attention, atyped
semantic_audience_searchSearch screens by natural language scene description using pgvector. Uses 768-dimensional Gemini embeddings on scene descriptions from FEIN edge AI to find screens matching a natural language query. typed
get_campaign_heatmapGet geographic exposure heatmap data for a campaign. Returns lat/lng clusters with exposure counts and device reach, useful for visualizing where ads were shown on a map. WHEN TO USE: - Visualizing typed
verify_proof_of_playVerify cryptographic proof of ad delivery or get campaign proofs. Requires either campaign_id or proof_payload (at least one must be provided). Two modes: 1. Verify a proof: pass proof_payload with typed
query_observationsQuery the universal observation stream using natural language or structured filters. Returns multi-modal sensing data (audience, vehicle, environment, commerce) from physical-world observations acrosstyped
semantic_search_observationsSearch observations by semantic similarity. Find moments that match a description like "lunch rush at fast casual restaurants" using vector embeddings. Uses 768-dimensional Gemini embeddings on obsertyped
anomaly_detectDetect anomalies in observation patterns. Alert when metrics deviate significantly from trailing averages. Computes trailing mean and standard deviation for a given metric from the observation_streamtyped
cross_signal_correlateDiscover correlations between different signal types. Example: relationship between ad fill rate and audience attention for QSR venues. Queries the cross_signal_insights table for pre-computed correltyped
configure_sensingConfigure what a screen should sense using natural language. Generates and optionally pushes a sensing profile to the device. Uses Gemini AI to interpret a natural language sensing intent and generattyped
export_datasetExport observation data as a structured dataset. Supports filtering by time, geography, venue type, and observation family. Queries the relevant table based on the selected dataset type, applies filttyped
predictive_queryGenerate predictive insights from observation patterns. Predict whether a venue is likely to see increased foot traffic based on current patterns. Uses historical observation_stream data to compute ttyped
get_social_attentionQuery measured social attention events within your authorized screen and venue scope. Filter by minimum social amplification factor and time range; results are sorted by social amplification factor detyped
find_similar_momentsFind historically similar audience moments across the screen network using embedding similarity search. Input a natural-language description of the target moment. Moment embeddings are 768-D vectors typed
predict_moment_qualityPredict the VAS (Viewability Attention Score) a specific creative would achieve at a given moment, based on historical data and causal modeling. Uses the CausalPredictionService which: 1. Embeds the typed
recommend_creativeGiven a moment description, rank candidate creatives by predicted VAS performance. Evaluates each creative candidate against the described moment context using historical similarity and causal predictyped

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/com-trillboards-dooh.svg)](https://app.agent-xm.com/a/com-trillboards-dooh)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.