# How to integrate AdRoll MCP with Atomic Agent

```json
{
  "title": "How to integrate AdRoll MCP with Atomic Agent",
  "toolkit": "AdRoll",
  "toolkit_slug": "adroll",
  "framework": "Atomic Agent",
  "framework_slug": "atomic-agent",
  "url": "https://composio.dev/toolkits/adroll/framework/atomic-agent",
  "markdown_url": "https://composio.dev/toolkits/adroll/framework/atomic-agent.md",
  "updated_at": "2026-10-02T05:31:21.169Z"
}
```

## Introduction

Atomic Agent is an open-source AI agent that runs on your machine and supports local models through llama.cpp. Connect it to 1,500+ apps through Composio, including AdRoll.
This guide uses Atomic Agent's built-in Composio integration. You need Atomic Agent v0.5.6 or later, your own Composio API key, and a AdRoll account. See the [Atomic Agent documentation](https://atomicagent.io/docs/?cta_placement=atomic-agent-docs) for installation instructions.

## Also integrate AdRoll with

- [ChatGPT](https://composio.dev/toolkits/adroll/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/adroll/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/adroll/framework/hermes-agent)

## TL;DR

### How Atomic Agent connects to AdRoll
Atomic Agent connects to Composio's Tool Router over Streamable HTTP MCP. It discovers the tools needed for your request, and Composio handles account authentication.
Execution and account-connection tools follow Atomic Agent's configured approval policy. Review any approval prompt before allowing an action on your connected account.

## Connect AdRoll to Atomic Agent

### Connect AdRoll to Atomic Agent
- Sign up or sign in to the [Composio dashboard](https://dashboard.composio.dev/?cta_placement=atomic-agent-api-key). Copy your API key.
- In Atomic Agent, open the Integrations tab and select Composio. Select API key, press e, paste the key, and press Enter. The tools become available immediately, without a restart.
- Ask Atomic Agent to do something in AdRoll. It searches Composio for the right tool.
- On first use, open the sign-in link returned in the chat. Connect your AdRoll account, then return to Atomic Agent to continue.
### Headless setup
Add the following line to ~/.atomic-agent/.env, replacing YOUR_COMPOSIO_API_KEY with your key. Start Atomic Agent after saving the file.

```bash
COMPOSIO_API_KEY=YOUR_COMPOSIO_API_KEY
```

## What is the AdRoll MCP server, and what's possible with it?

The AdRoll MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your AdRoll account. It provides structured and secure access so your agent can perform AdRoll operations on your behalf.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `ADROLL_CREATE_AD` | Create Ad | Create an ad for an advertisable, optionally creating nested assets that do not have EIDs in the same operation. |
| `ADROLL_CREATE_ADGROUP` | Create Adgroup | Create a web-retargeting adgroup under a Campaign v3 campaign. |
| `ADROLL_CREATE_ADVERTISABLE` | Create Advertisable | Create an advertisable in an organization owned by the connected account. |
| `ADROLL_CREATE_ASSET` | Create Asset | Create an asset. File content is passed exactly as a base64 string in the JSON request body. |
| `ADROLL_CREATE_CAMPAIGN` | Create Campaign | Create a web-retargeting campaign under a Campaign v3 strategy. |
| `ADROLL_CREATE_MARKETPLACE` | Create Marketplace Mapping | Create a marketplace-to-merchant mapping. Both advertisables must be accessible and marketplace-enabled by AdRoll. |
| `ADROLL_CREATE_RULE` | Create Rule | Create a pixel rule. AdRoll may normalize the requested order; use the returned value as authoritative. CRM-data rules require a CSV containing at least 100 emails, but the provider does not document its exact file encoding and header contract. |
| `ADROLL_CREATE_SEGMENT` | Create Segment | Create one audience segment for an advertiser and seed it with user identifiers. |
| `ADROLL_CREATE_STRATEGY` | Create Strategy | Create a Campaign v3 strategy under an advertisable. |
| `ADROLL_DELETE_SEGMENT` | Delete Segment | Delete one existing audience segment. |
| `ADROLL_EDIT_ADVERTISABLE` | Edit Advertisable | Edit the name, URL, or country code of an accessible advertisable. |
| `ADROLL_GET_AD` | Get Ad | Retrieve an ad by its Ad API resource eid, not its Reporting adroll_ad_eid. |
| `ADROLL_GET_ADGROUP` | Get Adgroup | Fetch one Campaign v3 adgroup by EID. |
| `ADROLL_GET_ADGROUP_GEOTARGETS` | Get Adgroup Geotargets | Fetch a Campaign v3 adgroup and return only its geotarget configuration. |
| `ADROLL_GET_ADVERTISABLE` | Get Advertisable | Fetch an advertisable by EID. AdRoll returns matching records as an array. |
| `ADROLL_GET_ADVERTISABLE_PIXEL` | Get Advertisable Pixel | Fetch the active pixel for an accessible advertisable. |
| `ADROLL_GET_ASSET` | Get Asset | Retrieve an asset by its EID. |
| `ADROLL_GET_CAMPAIGN` | Get Campaign | Fetch one Campaign v3 campaign by advertisable and campaign EID. |
| `ADROLL_GET_CONSENT_BANNER` | Get Consent Banner | Fetch an advertisable's consent banner state. banner_declined is available only to advertisables in countries not covered by GDPR. |
| `ADROLL_GET_CURRENT_ORGANIZATION` | Get Current Organization | Return the connected account's current organization from Reporting GraphQL, including nested advertisables. |
| `ADROLL_GET_MARKETPLACE` | Get Marketplace Mappings | Retrieve marketplace mappings for a parent marketplace advertisable and child merchant advertisable. Both must be accessible and marketplace-enabled by AdRoll. |
| `ADROLL_GET_PIXEL` | Get Pixel | Fetch a pixel by EID. |
| `ADROLL_GET_PIXEL_SEGMENTS` | Get Pixel Segments | Fetch segments associated with a pixel. Composio always sends page 0 when omitted; per_page remains omitted unless supplied, preserving the provider's unpaginated response behavior. |
| `ADROLL_GET_RULE` | Get Rule | Fetch a rule by EID, including its generated segments when returned. |
| `ADROLL_GET_RULE_SEGMENTS` | Get Rule Segments | Fetch the segments associated with a specific rule. |
| `ADROLL_GET_SEGMENT` | Get Segment | Return one audience segment, optionally including general-exclusion attributes or an inactive segment. |
| `ADROLL_GET_STRATEGY` | Get Strategy | Fetch one Campaign v3 strategy by EID. |
| `ADROLL_GET_XDEVICE_OPT_IN` | Get Cross-Device Opt-In | Retrieve an accessible advertisable's cross-device graph opt-in setting. |
| `ADROLL_LIST_ADGROUPS` | List Adgroups | Return Reporting GraphQL adgroups for one campaign. Omitted collection filters preserve provider defaults; supplied filters constrain active state or included/excluded statuses. |
| `ADROLL_LIST_ADS` | List Ads | Retrieve one numbered page of ads for an advertisable, or set all='true' to request all matching ads. Omitted pagination inputs send page 1 with 10 records. |
| `ADROLL_LIST_ADVERTISABLES` | List Advertisables | Fetch one numbered page of advertisables associated with an organization; omitted pagination inputs send page 1 with 10 records. |
| `ADROLL_LIST_ASSETS` | List Assets | Retrieve one numbered page of assets belonging to an advertisable; omitted pagination inputs send page 1 with 10 records. |
| `ADROLL_LIST_CAMPAIGNS` | List Campaigns | Return Reporting GraphQL campaigns for one advertisable. Omitted collection filters preserve provider defaults; supplied filters support state, classification, channel, source, funnel, objective, and tags. |
| `ADROLL_LIST_SEGMENTS` | List Segments | Return audience segments for an advertiser, optionally filtered by segment type. |
| `ADROLL_LIST_STRATEGIES` | List Strategies | Return strategies for an advertisable. Cursor, paginate, and include_drafts are omitted unless supplied; the response has no pagination metadata. |
| `ADROLL_REPORTING_ADGROUPS` | Query Reporting Adgroups | Query adgroups by campaign, advertisable, one EID, or many EIDs with nested relations and optional date/currency metrics. |
| `ADROLL_REPORTING_ADS` | Query Reporting Ads | Query ads by adgroup, advertisable, or Reporting EIDs (`adroll_ad_eid` from the Ad API), with optional date/currency metrics; parent lookup preserves adgroup relationship state. |
| `ADROLL_REPORTING_ADVERTISABLES` | Query Reporting Advertisables | Query advertisables by user, organization, one EID, or many EIDs with nested relations and optional date/currency metrics. |
| `ADROLL_REPORTING_CAMPAIGNS` | Query Reporting Campaigns | Query campaigns by advertisable, organization, one EID, or many EIDs with nested relations and optional date/currency metrics. |
| `ADROLL_REPORTING_ORGANIZATIONS` | Query Reporting Organizations | Query the current AdRoll organization or organizations by one or many EIDs, including nested advertisables. |
| `ADROLL_REPORTING_QUERY` | Run Reporting GraphQL Query | Execute one AdRoll Reporting GraphQL document and preserve complete or partial provider data, errors, request ID, and version. |
| `ADROLL_REPORTING_SEGMENTS` | Query Reporting Segments | Query direct segment metadata or parent-scoped campaign/adgroup audiences with relationship state and optional date-scoped audience-size metrics. |
| `ADROLL_RUN_PERFORMANCE_REPORT` | Run Performance Report | Return current AdRoll GraphQL delivery metrics for advertisables, campaigns, adgroups, or ads, optionally with attribution metrics, as an aggregate summary, aggregate daily rows, or per-entity summaries. |
| `ADROLL_SEARCH_GEOTARGETS` | Search Geotargets | Search AdRoll geotargets by a location-name prefix and optional types. Use count and page to iterate through results until an empty items list is returned. |
| `ADROLL_SET_CAMPAIGN_STATUS` | Set Campaign Status | Pause or activate one campaign through the Campaign v3 edit operation. |
| `ADROLL_UPDATE_ADGROUP` | Update Adgroup | Edit one web-retargeting or web-prospecting Campaign v3 adgroup. |
| `ADROLL_UPDATE_CAMPAIGN` | Update Campaign | Edit one Campaign v3 campaign. Retargeting nested adgroups are inferred as create-or-edit by eid; prospecting nested adgroups must include eid. |
| `ADROLL_UPDATE_CONSENT_BANNER` | Update Consent Banner | Create or update an advertisable's consent banner configuration. AdRoll permits banner_declined only for advertisables in countries not covered by GDPR. |
| `ADROLL_UPDATE_SEGMENT` | Update Segment | Update audience-segment information and submit its user-record payload. |
| `ADROLL_UPDATE_STRATEGY` | Update Strategy | Edit a Campaign v3 strategy using a caller-provided complete campaign set. Nested campaigns with eid are edited and those without eid are created. Any existing campaign omitted from campaigns is deleted. |
| `ADROLL_UPDATE_XDEVICE_OPT_IN` | Update Cross-Device Opt-In | Update an accessible advertisable's cross-device graph opt-in setting; provider feature access is required. |

## Supported Triggers

None listed.

## Troubleshooting

### Why is my API key rejected?

Copy the key directly from the Composio dashboard. Atomic Agent requires ASCII characters because it sends the key in an HTTP header. Remove any extra characters introduced when copying.

### Why are Composio tools unavailable after saving a key?

Check that you use Atomic Agent v0.5.6 or later and that Composio is enabled in your configuration. A "composio": { "enabled": false } setting disables the integration while keeping the saved key on disk.

### Does Composio have a free plan?

The Hobby plan includes 100,000 tool calls per month. Composio-managed OAuth apps have a lower included allowance. See [Composio pricing](/pricing) for the current limits that apply to your connection.

## Complete Code

None listed.

## Conclusion

### Use AdRoll from Atomic Agent
With your account connected, ask Atomic Agent to work with AdRoll in natural language. You can connect more apps through the same Composio integration as you need them.
Visit the [Atomic Agent website](https://atomicagent.io/?cta_placement=atomic-agent-site) or inspect the [Atomic Agent source code](https://github.com/AtomicBot-ai/atomic-agent?cta_placement=atomic-agent-repo).

## How to build AdRoll MCP Agent with another framework

- [ChatGPT](https://composio.dev/toolkits/adroll/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/adroll/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/adroll/framework/hermes-agent)

## Related Toolkits

- [Metaads](https://composio.dev/toolkits/metaads) - Metaads is Meta's official Ads API that lets you manage, analyze, and optimize your Facebook and Instagram ad campaigns. Streamline ad operations and gain deeper insights with robust automation.
- [Adrapid](https://composio.dev/toolkits/adrapid) - Adrapid is a platform for rapid creation of digital marketing visuals using templates. It streamlines design workflows for banners, images, and HTML5 content with automation.
- [Adtraction](https://composio.dev/toolkits/adtraction) - Adtraction is an affiliate marketing platform for partner programs, tracking links, transactions, commissions, statistics, and payments. It helps advertisers and publishers manage performance marketing with clear reporting and payout workflows.
- [Adyntel](https://composio.dev/toolkits/adyntel) - Adyntel is an API that retrieves LinkedIn ads for any company using a domain or LinkedIn Page ID. Easily access competitive ad intelligence to power your marketing workflows.
- [Beaconstac](https://composio.dev/toolkits/beaconstac) - Beaconstac is a platform for creating and managing QR codes and proximity beacons. It helps businesses engage customers and track marketing performance with powerful analytics.
- [Bouncify](https://composio.dev/toolkits/bouncify) - Bouncify is an email verification service for single addresses and bulk lists. Use it to reduce bounces, protect sender reputation, and track verification credits.
- [Bulk Email Checker](https://composio.dev/toolkits/bulk_email_checker) - Bulk Email Checker is an email verification service for checking address validity, mailbox status, domains, and mail-server signals. It helps reduce bounces, spot risky emails, and keep outreach lists cleaner before you send.
- [Campaign cleaner](https://composio.dev/toolkits/campaign_cleaner) - Campaign cleaner is an email campaign optimization tool that boosts compatibility and deliverability across email clients. It helps marketers get better results by cleaning, enhancing, and ensuring high performance for every campaign.
- [Deadline funnel](https://composio.dev/toolkits/deadline_funnel) - Deadline Funnel lets you create personalized deadlines and timers for your marketing campaigns. It helps marketers boost conversions by adding authentic urgency to offers.
- [DeBounce](https://composio.dev/toolkits/debounce) - DeBounce is an email verification service for checking address validity, deliverability, and risk. It helps keep contact lists clean so your campaigns reach real inboxes.
- [Easy Email Verification](https://composio.dev/toolkits/easy_email_verification) - Easy Email Verification is an email validation service for checking single addresses and bulk lists. Use it to reduce bounces, clean contact data, and protect sender reputation.
- [Elastic Email](https://composio.dev/toolkits/elastic_email) - Elastic Email is an email delivery and marketing platform for transactional emails, campaigns, contacts, and reporting. Use it to send reliable emails, manage audiences, verify addresses, and track performance.
- [Fairing](https://composio.dev/toolkits/fairing) - Fairing is a post-purchase survey and attribution platform for ecommerce brands. It helps teams measure which marketing channels, campaigns, and customer touchpoints drive purchases.
- [GoDaddy MCP](https://composio.dev/toolkits/godaddy_mcp) - GoDaddy MCP is a domain discovery toolkit for checking availability and generating AI-powered name ideas. Use it to move from rough business keywords to practical domain options fast.
- [Google Ads](https://composio.dev/toolkits/googleads) - Google Ads is Google's online advertising platform for creating, managing, and optimizing digital campaigns. It helps businesses reach targeted customers and maximize return on ad spend.
- [Handwrite.io](https://composio.dev/toolkits/handwrite) - Handwrite.io is a direct mail service for creating physical handwritten card orders. It helps teams send personal cards with selectable handwriting, stationery, and tracking.
- [Inblog](https://composio.dev/toolkits/inblog) - Inblog is an AI-powered blogging platform for posts, authors, tags, redirects, design settings, analytics, and lead forms. Use it to manage SEO-focused content, measure performance, and capture blog leads in one place.
- [Instantly](https://composio.dev/toolkits/instantly) - Instantly is a platform for automating cold email outreach, managing leads, and optimizing deliverability. Get better results from email campaigns with minimal manual effort.
- [Invalid Bounce](https://composio.dev/toolkits/invalid_bounce) - Invalid Bounce is an email verification service with a bulk verification API. Use it to clean email lists, reduce bounces, and protect sender reputation.
- [Keyword](https://composio.dev/toolkits/keyword) - Keyword.com is a digital marketing platform for search rank tracking and SEO analytics. Use it to monitor keyword performance, spot ranking changes, and measure SEO visibility.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and AdRoll MCP?

With a standalone AdRoll MCP server, the agents and LLMs can only access a fixed set of AdRoll tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from AdRoll and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Atomic Agent?

Yes, you can. Atomic Agent fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right AdRoll tools.

### Can I manage the permissions and scopes for AdRoll while using Tool Router?

Yes, absolutely. You can configure which AdRoll scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your AdRoll data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
