Ad network MCP guide
Connect Unity Ads to Claude or ChatGPT with Lemon AI’s unified MCP and API. Analyze creative packs without inventing asset-level outcomes.
Use Lemon AI's MCP to analyze Unity Ads performance in Claude or ChatGPT, including the creative data and attributes available for your account. Connect Unity Ads in Lemon, authorize the assistant once, and ask it to discover the account and available reporting windows before comparing creatives.
This is a Unity advertising workflow, not a Unity Editor integration. Game-development MCP tools that manipulate scenes or project files do not, by themselves, give the assistant access to Unity Ads campaign reports.
Export, direct API, or a shared reporting connection
| Route | Useful for | Responsibility |
|---|---|---|
| Unity Ads CSV export | A question about a saved campaign or creative-pack report | Repeat the export when dates or dimensions change |
| Unity reporting APIs | A custom advertiser-reporting pipeline | Configure service access, fetch reports, and expose an agent tool |
| Lemon's unified MCP | Recurring creative analysis across connected networks | Select scope and preserve the difference between packs and assets |
Unity's advertiser API guide distinguishes the Advertising Management API from the Advertising Statistics API. Reporting access and campaign-management access are not interchangeable. Choose the statistics interface for a direct reporting integration and follow its current authentication requirements.
For direct agent access, fetch a bounded report through your own authenticated tool and retain its dimensions. A CSV download endpoint is not an MCP endpoint. The assistant needs a connector that defines the query and returns the result, or you can supply the downloaded file for a one-off analysis.
Connect Unity Ads to Lemon
- Have a Unity organization owner create a service account in Unity Cloud → Administration → Service Accounts.
- Create its key and collect the Key ID, Secret Key, and Organization ID. Lemon's connection guide specifies the required Growth roles, including Advertise API Admin and Advertise Stats API Viewer.
- In Lemon's Connections, choose Unity Ads. Enter those values and an organization name in the connection form.
- Select the accounts to sync. Confirm a known app and reporting period in Creative Analytics before opening API & MCP.
The role requirements belong to the Unity-to-Lemon integration. Lemon's assistant-facing MCP is read-only even though the upstream integration may require broader provider roles. Use Unity's service-account reference when assigning access.
Add Lemon to Claude or ChatGPT
Use the same remote MCP server for all the networks you connect in Lemon:
https://api.lemon-ai.com/mcp
In Claude, open Customize → Connectors → + Add → Add custom connector. Enter a name and the URL, continue, and sign in to Lemon. If Claude asks how to register the OAuth client, choose Register automatically. Enable the connector in the conversation. Organization-managed accounts may need an owner to add it first. See the Claude setup instructions.
In ChatGPT, open Plugins, choose Add custom MCP server, and enter the URL. Select OAuth authentication, authorize Lemon, and install the resulting personal plugin. Mention it in a Work chat to use its tools. Availability depends on your workspace settings; follow the current ChatGPT MCP instructions if the interface differs.
Start by asking the assistant to call list_ad_accounts and let you select the intended account. Then use list_filter_values to discover dates and filters. Your ad-network sign-in connects data to Lemon; this second authorization lets the AI app read it. Do not paste network credentials into chat.
Ask for the available Unity outcome windows
Use Lemon AI to discover my Unity Ads accounts and available dates. For the app I select, show delivery by video asset for a complete two-week period. Discover which post-install outcomes the account returns before adding CPI or D7 ROAS. Show any partial or unavailable values.
Unity outcome availability can depend on the account. Do not turn an advertised window into a promise that every row contains a mature value. Keep data_as_of, fully_mature_through, and partial visible when the response includes outcome metadata.
For the request sequence, use list_ad_accounts, list_filter_values, and query_creative_performance. Ask for get_creative when you need to inspect the asset behind a row. The worked MCP workflow shows how these calls fit together.
Do not transfer a creative-pack result to every asset
Unity's reporting vocabulary includes creative packs. A pack-level result measures the package represented by that row; it does not establish an independent result for every video or end card inside it. Unity's reporting dimensions identify creative-pack names and IDs.
Synthetic example, not customer data: a creative-pack report shows $240 cost and 120 installs. Its calculated CPI is $2.00. The pack contains a video and an end card.
| Fictional reporting object | Synthetic cost | Synthetic installs | What can be calculated |
|---|---|---|---|
| Pack A | $240 | 120 | Pack CPI of $2.00 |
| Video inside Pack A | Not supplied in this example | Not supplied | No independent asset CPI |
| End card inside Pack A | Not supplied in this example | Not supplied | No independent asset CPI |
Repeating the pack's totals on both assets would create $480 cost and 240 installs when summed. Dividing both equally would invent evidence that the report did not provide. Ask the assistant to preserve the report grain and use actual asset rows when they are available.
Investigate the creative treatment before making another pack
List the creative attributes available for this Unity account. For the same asset population and dates, investigate CTR by the defined gameplay-treatment attribute with attribute_insights. Show coverage, qualified counts, uncertainty, and examples. Keep pack-level observations separate.
Compare that treatment with the selected AppLovin account using the same app, country, and video format where available. Explain the difference between reported Unity outcomes and estimated AppLovin asset outcomes before suggesting a controlled test.
This is where one MCP reduces repeated work: the assistant can retrieve both sources and their creative labels in the same conversation. It still needs to explain the measurement boundary instead of putting unlike outcomes into one unqualified leaderboard.
Use the same reporting layer through the API
For a script or another AI app, create a Lemon API key in API & MCP. Retrieve your account IDs with GET /v1/ad-accounts, then make a scoped read. This example uses a placeholder account and dates; substitute values returned for your account.
curl --get 'https://api.lemon-ai.com/v1/creatives/performance' \
--header "Authorization: Bearer $LEMON_API_KEY" \
--data-urlencode 'ad_network_account_id=YOUR_ACCOUNT_ID' \
--data-urlencode 'date_from=2026-10-01' \
--data-urlencode 'date_to=2026-10-07' \
--data-urlencode 'metric=impressions' \
--data-urlencode 'metric=clicks' \
--data-urlencode 'metric=cost' \
--data-urlencode 'sort_by=cost' \
--data-urlencode 'sort_order=descending' \
--data-urlencode 'limit=25'
MCP and REST expose Lemon's reporting definitions. Inspect missing fields, result limits, and any outcome metadata before interpreting a result. A limited top-creatives response is not an account total. Use the API documentation for supported fields and pagination.
Troubleshoot organization access and incomplete cohorts
If Unity returns no readable account, verify the organization ID and service-account roles. If the connection exists but a period is missing, inspect sync status and available dates. If a window exists but the value is absent, report the absence rather than treating it as zero.
For a discrepancy with the Unity dashboard, match the app, dates, country, report grain, and outcome window. Do not compare a pack total against a single asset and call the difference a tracking error.
Connect your ad accounts, then use Reports and API for the reporting surface and the network MCP guide for the shared setup.