stackadapt-mcp
An MCP server for querying StackAdapt's GraphQL API. Gives AI assistants like Claude direct access to your campaign data, delivery metrics, advertisers, and more.
Ask AI about stackadapt-mcp
Powered by Claude Β· Grounded in docs
I know everything about stackadapt-mcp. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
stackadapt-mcp
An MCP (Model Context Protocol) server for querying StackAdapt's GraphQL API. Gives AI assistants like Claude direct access to your campaign data, delivery metrics, advertisers, and more.
Tools
| Tool | Description |
|---|---|
list_campaigns | List campaigns with optional filters (campaign group, advertiser) |
get_campaign | Get detailed campaign info β targeting, budget, flight dates, ads |
get_campaign_group | Get campaign group details β flights, budget, frequency caps, child campaigns |
campaign_delivery | Pull performance metrics per campaign (impressions, clicks, spend, CTR, ATOS, engagements) with date range and granularity |
campaign_group_delivery | Same metrics aggregated at the campaign group level |
list_advertisers | List advertisers on the account |
list_campaign_groups | List campaign groups with advertiser info |
graphql_query | Execute any custom GraphQL query against the StackAdapt API |
Setup
Get your API key
StackAdapt API key from: StackAdapt Platform β Settings β API.
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"stackadapt": {
"command": "npx",
"args": ["-y", "stackadapt-mcp"],
"env": {
"STACKADAPT_API_KEY": "your-api-key-here"
}
}
}
}
Claude Code
Add to your project's .mcp.json:
{
"mcpServers": {
"stackadapt": {
"command": "npx",
"args": ["-y", "stackadapt-mcp"],
"env": {
"STACKADAPT_API_KEY": "${STACKADAPT_API_KEY}"
}
}
}
}
Then set the env var in your shell: export STACKADAPT_API_KEY=your-api-key-here
Data notes
A few things to know about StackAdapt's API:
cost,ecpc,ecpm,ecpeare returned as strings β parse them as floatsctris already a percentage value (0.214 means 0.214%) β don't multiply by 100ecpereturns"0"for periods with zero engagements- Delivery payloads are GraphQL UNION types (
Outcome | Progress) β large queries may return aProgressresponse with a job ID; retry after a few seconds - Granularity options:
DAILY,WEEKLY,MONTHLY,TOTAL
Development
git clone https://github.com/aymanshaikh/stackadapt-mcp.git
cd stackadapt-mcp
npm install
npm run build
To test locally, set STACKADAPT_API_KEY and run:
STACKADAPT_API_KEY=your-key node dist/index.js
License
MIT
