
Amazon DSP MCP
- 4 repo stars
- Updated August 6, 2026
- cesteral/mcp-open-advertising
Amazon DSP MCP is an MCP server that exposes Amazon DSP CRUD, async reports, targeting, and audience management to your agent.
About
Amazon DSP MCP Server gives coding agents programmatic access to Amazon’s demand-side platform: create and update objects, pull asynchronous reports, and manage targeting and audiences. founders who already run DSP budgets—or who build lightweight ad-ops copilots for clients—can deploy the npm stdio server locally or host the streamable-http endpoint and point Claude Code or Cursor at it. Skillselion shelves it under grow and analytics because the primary job is reading performance and adjusting live campaigns, not drafting positioning in the idea phase. You need Amazon Advertising API credentials and a deployed or local runtime; this is enterprise ad infrastructure exposed through MCP, not a substitute for Amazon Ads console training.
- Amazon DSP CRUD for campaigns and related entities via MCP
- Async report generation and retrieval for performance analysis
- Targeting and audience management tools for agent-driven optimization
- stdio npm package @cesteral/amazon-dsp-mcp and optional self-hosted streamable-http remote
- Version 1.1.0 from the mcp-open-advertising monorepo
Amazon DSP MCP by the numbers
- Data as of Aug 10, 2026 (Skillselion catalog sync)
claude mcp add amazon-dsp-mcp -- npx -y @cesteral/amazon-dsp-mcpAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| repo stars | ★ 4 |
|---|---|
| Package | @cesteral/amazon-dsp-mcp |
| Transport | STDIO, HTTP |
| Auth | None |
| Last updated | August 6, 2026 |
| Repository | cesteral/mcp-open-advertising ↗ |
What it does
Wire Amazon DSP campaigns, audiences, and async performance reports into your agent when you run or automate programmatic ads for your product.
Who is it for?
Best when you have Amazon DSP API access and want agent-assisted reporting, audience edits, and campaign maintenance for your SaaS or agency stack.
Skip if: Skip if you have no DSP account, no API credentials, or and only need organic SEO and content distribution.
What you get
After install, your agent can run DSP management and reporting workflows through MCP instead of manual console repetition.
- Agent-executed DSP CRUD and targeting changes
- Downloaded or summarized async performance reports
- Repeatable audience management without full console context switching
By the numbers
- Server version 1.1.0
- npm package identifier @cesteral/amazon-dsp-mcp
- Supports stdio and streamable-http remote MCP transports
README.md
Cesteral MCP Servers
Self-hostable MCP connectors for major advertising platforms.
Use this repo when you want transparent platform integrations, local experimentation, and infrastructure you control. Use Cesteral Intelligence when your team needs approvals before spend commits, credential brokering, auditability, and cross-platform execution from one governed environment.
Try Meta Ads MCP locally (~10 min) | Compare OSS vs Cesteral Intelligence | Book a workflow demo
Two Ways to Use This
This repo is an open connector layer, not the full product.
- Self-host a connector for transparency and direct control of your credentials, infrastructure, and platform access.
- Use Cesteral Intelligence when the workflow needs governed writes, team approvals, credential brokering, auditability, and cross-platform coordination — see when you need it below.
Flagship Connectors
Google Ads MCP
Campaign writes, GAQL reporting, bid adjustments, previews, and validation via Google Ads REST API v23.
Package docs | Use with Cesteral Intelligence
Meta Ads MCP
Campaign writes, insights, targeting discovery, delivery estimates, previews, and bulk operations via Meta Marketing API v25.0.
Package docs | Use with Cesteral Intelligence
DV360 MCP
Campaign writes, targeting, custom bidding, previews, uploads, and schema-driven validation via DV360 API v4.
Package docs | Use with Cesteral Intelligence
When You Need Cesteral Intelligence
The OSS connectors give you per-server tool execution + audit logs. Cesteral Intelligence layers governance and orchestration on top:
- Credential brokering -- keep platform secrets out of local operator workflows
- Approval workflows -- require human review before destructive or high-spend changes
- Aggregated audit -- unified, cross-server activity feed with provenance, tied to operator identity
- Cross-platform orchestration -- coordinate governed execution across multiple connectors
- Team operations -- shared workflows, tenant isolation, and operator visibility
Compare OSS connectors vs Cesteral Intelligence
The Full Fleet
| Server | Platform | Tools | Auth |
|---|---|---|---|
| gads-mcp | Google Ads REST API v23 | 15 | OAuth2 refresh token |
| meta-mcp | Meta Marketing API v25.0 | 27 | Bearer token |
| dv360-mcp | DV360 API v4 | 26 | Google OAuth2 / service account |
| ttd-mcp | The Trade Desk REST + GraphQL API | 43 | User token (TTD-Auth header) |
| linkedin-mcp | LinkedIn Marketing API v2 | 21 | Bearer token |
| tiktok-mcp | TikTok Marketing API v1.3 | 24 | Bearer token + advertiser ID |
| cm360-mcp | CM360 API v5 | 21 | Google OAuth2 |
| sa360-mcp | SA360 Reporting API v0 + DS v2 | 16 | OAuth2 refresh token |
| pinterest-mcp | Pinterest Ads API v5 | 23 | Bearer token |
| snapchat-mcp | Snapchat Ads API v1 | 23 | Bearer token |
| amazon-dsp-mcp | Amazon DSP API | 26 | Bearer token |
| msads-mcp | Microsoft Advertising API v13 | 25 | Access token + developer token |
| dbm-mcp | Bid Manager API v2 | 6 | Google OAuth2 |
Thirteen servers, 290+ tools. Tool counts are the live registered total per
server, including the *_search_tools discovery tool where present.
What Every Server Ships
These connectors have grown past "thin REST wrappers." Beyond raw tool calls,
every server in the fleet exposes the full surface of the modern MCP spec
(protocol revisions 2025-03-26 through 2025-11-25):
- MCP Prompts — on-demand, multi-step workflow guidance (campaign launch, reporting, troubleshooting) so agents don't have to rediscover each platform's sequencing. Present on all 13 servers.
- MCP Resources — structured, addressable context (schemas, field catalogs,
examples, enums) fetched on demand instead of bloating every tool schema.
Present on all 13 servers. DV360 uses these to keep its >1 MB discriminated
unions off the wire (
entity-schema://,entity-fields://,entity-examples://). - Tool discovery — a
<platform>_search_toolstool that lets an agent search the server's own catalog by intent instead of paging the full list. On 11 servers (all except the smallgads-mcpandsa360-mcp/ reporting-onlydbm-mcp). - Server discovery cards — SEP-2127 metadata at
/.well-known/mcp/server-card.json(name, version, transports, auth modes, capabilities) on every server, in every auth mode. - OAuth resource discovery — in
jwtauth mode, the RFC 9728 endpoint at/.well-known/oauth-protected-resource. - Report CSV spill — large report bodies spill to GCS behind a signed URL
so responses stay bounded. On the six reporting-heavy servers:
ttd-mcp,tiktok-mcp,snapchat-mcp,amazon-dsp-mcp,pinterest-mcp,msads-mcp.
| Server | Discovery | Prompts | Resources | CSV spill |
|---|---|---|---|---|
| gads-mcp | ✅ | ✅ | ||
| meta-mcp | ✅ | ✅ | ✅ | |
| dv360-mcp | ✅ | ✅ | ✅ | |
| ttd-mcp | ✅ | ✅ | ✅ | ✅ |
| linkedin-mcp | ✅ | ✅ | ✅ | |
| tiktok-mcp | ✅ | ✅ | ✅ | ✅ |
| cm360-mcp | ✅ | ✅ | ✅ | |
| sa360-mcp | ✅ | ✅ | ||
| pinterest-mcp | ✅ | ✅ | ✅ | ✅ |
| snapchat-mcp | ✅ | ✅ | ✅ | ✅ |
| amazon-dsp-mcp | ✅ | ✅ | ✅ | ✅ |
| msads-mcp | ✅ | ✅ | ✅ | ✅ |
| dbm-mcp | ✅ | ✅ |
Built for Production
Self-hosting an AI agent that touches live ad spend is a trust problem first and a capability problem second. Two things make this fleet shippable to production without hand-rolling guardrails:
- Audit-grade observability. Every tool call is captured as append-only JSONL. Failures additionally capture the full upstream HTTP trail — every request, every retry, every response — with secrets redacted at the source. Query it directly in BigQuery for hosted deployments, or pipe stdout to your existing log stack for self-host. Read the observability guide.
- Destructive-action elicitation gates. 51 destructive tools across the
twelve write-capable servers (
dbm-mcpis reporting-only) prompt the user before deletes, bulk status changes, bid adjustments, budget changes, conversion uploads, and async Workflows batch jobs. Stdio and clients without elicitation support fall back to a documented non-interactive contract. Bulk mutations under 10 items skip the prompt unless they touch a sensitive field (status / budget / bid). - Verifiable release provenance. Governed tools carry a canonical
SHA-256
definitionHash(from@cesteral/contract-hash) emitted into a per-packagecesteral-manifest.json. Tagged releases publish to npm with build provenance, signing the manifest transitively inside the tarball, so a downstream governance system can verify exactly which tool definitions shipped and promote matching tools toattestedtrust.
If your security review needs evidence — the redaction list, the field schema, the upstream capture path, the contract hash — all of it is in this repository.
Quick Start
For a guided walkthrough, see the 10-minute quickstart.
Prerequisites
- Node.js >= 20.0.0
- pnpm >= 10.0.0 --
corepack enablepicks up the pinned version frompackageManager(ornpm install -g pnpm@10) - Docker (for containerization)
- Terraform >= 1.6.0 (for deployment)
1. Clone and install
git clone https://github.com/cesteral/mcp-open-advertising.git
cd mcp-open-advertising
pnpm install
2. Build
pnpm run build
3. Run a server locally
# Start any server using the dev script
./scripts/dev-server.sh gads-mcp # port 3004
./scripts/dev-server.sh meta-mcp # port 3005
./scripts/dev-server.sh dv360-mcp # port 3002
# See each package README for required environment variables
4. Configure your AI agent
{
"mcpServers": {
"cesteral-gads": {
"url": "https://gads.your-domain.com/mcp",
"apiKey": "your-gads-api-key"
},
"cesteral-meta": {
"url": "https://meta.your-domain.com/mcp",
"apiKey": "your-meta-api-key"
}
}
}
Add as many servers as you need. Each runs independently and can be deployed separately.
5. Deploy
cd terraform
terraform init
terraform apply -var-file=dev.tfvars
See the deployment guide for production setup.
Architecture
Cesteral uses a GCP-native architecture with thirteen independently deployable Cloud Run MCP services. Each server exposes the MCP protocol directly via HTTPS on Cloud Run.
Key design decisions:
- Single cloud provider (GCP): Cloud Run, BigQuery, Pub/Sub, Secret Manager -- unified monitoring, ~$150-220/month
- Direct HTTP transport: No edge gateway layer needed
- Independent deployment: Each server can be deployed and scaled separately
- Composable: Use one server or all thirteen -- they work independently or together
AI clients connect directly to one or more MCP servers over HTTPS; there is no shared gateway to provision. Cesteral Intelligence, when used, layers tenancy, credentials, approvals, and governance above the same fleet.
Repository Structure
mcp-open-advertising/
├── packages/
│ ├── gads-mcp/ # Google Ads
│ ├── meta-mcp/ # Meta Ads
│ ├── dv360-mcp/ # DV360
│ ├── ttd-mcp/ # The Trade Desk
│ ├── linkedin-mcp/ # LinkedIn Ads
│ ├── tiktok-mcp/ # TikTok Ads
│ ├── cm360-mcp/ # Campaign Manager 360
│ ├── sa360-mcp/ # Search Ads 360
│ ├── pinterest-mcp/ # Pinterest Ads
│ ├── snapchat-mcp/ # Snapchat Ads
│ ├── amazon-dsp-mcp/ # Amazon DSP
│ ├── msads-mcp/ # Microsoft Ads
│ ├── dbm-mcp/ # Bid Manager (reporting)
│ ├── contract-schema/ # Shared library -- canonical annotation + response schemas
│ ├── contract-hash/ # Shared library -- canonical tool-definition hash
│ └── shared/ # Shared auth, telemetry, utilities
├── terraform/ # Infrastructure as Code
├── scripts/ # Deployment and dev automation
└── docs/ # Documentation and guides
Development
# Install dependencies
pnpm install
# Build all packages
pnpm run build
# Run tests
pnpm run test
# Type checking
pnpm run typecheck
# Lint
pnpm run lint
Testing MCP Tools
# Use MCP Inspector
npx @modelcontextprotocol/inspector packages/gads-mcp
# Or use curl
curl -X POST http://localhost:3004/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}'
Technology Stack
- Runtime: TypeScript 5.0+, Node.js 20 LTS, Hono (HTTP + MCP transport)
- Validation: Zod schemas
- Infrastructure: GCP Cloud Run, BigQuery, Pub/Sub, Secret Manager, Terraform
- Build: Turborepo, pnpm workspaces, Docker
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make changes and write tests
- Run tests:
pnpm run test - Submit a Pull Request
See also: CODE_OF_CONDUCT.md | SECURITY.md | ROADMAP.md
License
Support
- Website: cesteral.com -- managed hosting and commercial features
- Documentation: docs/ for guides and architecture
- GitHub Issues: Report bugs or request features
- Email: support@cesteral.com
Recommended MCP Servers
How it compares
Amazon Advertising API bridge via MCP, not a creative ad-copy skill or a self-serve social ads template.
FAQ
Who is Amazon DSP MCP for?
It is for developers and operators who manage Amazon DSP and want Claude Code, Cursor, or similar agents to handle CRUD, reports, targeting, and audiences.
When should I use Amazon DSP MCP?
Use it in the grow phase when you regularly pull async performance reports, adjust targeting, or automate DSP maintenance alongside your product analytics.
How do I add Amazon DSP MCP to my agent?
Install @cesteral/amazon-dsp-mcp from npm for stdio, configure Amazon Advertising API credentials per the GitHub repo, or deploy the server and set your MCP client remote URL to https://{host}/amazon-dsp-mcp/mcp.