DV360 MCP Server

io.github.cesteral由 GitHub 帳號 cesteral 發布v1.4.0更新於 Oct 24, 2026

DV360 campaign management — writes, targeting, custom bidding, previews, and media uploads

已驗證Streamable HTTP可網頁執行效率與工作流商業與電商

概覽

AI 產生的概覽

可自架的 Google Display & Video 360 MCP 連接器,讓助理管理廣告活動、指定目標、自訂出價、預覽與素材上傳。

可以做什麼
透過 DV360 API v4 建立與更新廣告活動及相關實體,並以 schema 驅動的驗證檢查請求內容,欄位目錄以 MCP 資源形式隨需取得,而非內嵌在工具定義中。設定指定目標與自訂出價。產生預覽並上傳媒體素材。透過搜尋工具依意圖檢索伺服器本身的工具目錄,並使用內建的多步驟提示完成廣告活動上線、報表與疑難排解。每次工具呼叫都以僅追加的 JSONL 記錄,破壞性操作會先跳出確認。
適用情境
當你希望 AI 助理在你自行掌控的基礎設施上直接操作真實的 DV360 廣告活動時使用,例如上線或調整廣告活動、指定目標與出價,或準備預覽與創意上傳。適合偏好自架、直接管理憑證而非使用託管治理層的團隊。
執行需求
以本機程序(npm 套件,stdio)或自架 HTTP 端點執行。需要 Node.js 20 或更新版本;儲存庫建置另需 pnpm 10,Docker 與 Terraform 僅在部署時選用。需要 DV360 API v4 的 Google OAuth2 憑證或服務帳戶,具體環境變數見該套件 README。需要連線至 Google 廣告 API 的網路存取。
安裝前請注意
它可以寫入真實廣告活動,包括刪除、批次變更狀態、調整出價與預算以及上傳素材,可能產生真實廣告支出。破壞性工具會要求確認,但 stdio 用戶端及不支援 elicitation 的用戶端會退回非互動式約定,且少於 10 項的批次變更若不涉及狀態、預算或出價就不會提示。需要提供 Google OAuth2 憑證或服務帳戶金鑰,請勿放入共用工作流程。工具呼叫及失敗時的上游 HTTP 紀錄會被保留,敏感資訊在來源端即去識別化。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 DV360 MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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

[License] [TypeScript] [MCP]

[DV360]   [Google Ads]   [The Trade Desk]   [Meta]   [LinkedIn]   [TikTok]   [CM360]   [SA360]   [Pinterest]   [Snapchat]   [Amazon DSP]   [Microsoft Ads]


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] Google Ads MCP

Campaign writes, GAQL reporting, bid adjustments, previews, and validation via Google Ads REST API v25.

Package docs | Use with Cesteral Intelligence

[Meta] Meta Ads MCP

Campaign writes, insights, targeting discovery, delivery estimates, previews, and bulk operations via Meta Marketing API v26.0.

Package docs | Use with Cesteral Intelligence

[DV360] 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

ServerPlatformToolsAuth
gads-mcpGoogle Ads REST API v2518OAuth2 refresh token
meta-mcpMeta Marketing API v26.027Bearer token
dv360-mcpDV360 API v426Google OAuth2 / service account
ttd-mcpThe Trade Desk REST + GraphQL API46User token (TTD-Auth header)
linkedin-mcpLinkedIn Marketing API (202608)23Bearer token
tiktok-mcpTikTok Marketing API v1.325Bearer token + advertiser ID
cm360-mcpCM360 API v522Google OAuth2
sa360-mcpSA360 Reporting API v0 + DS v217OAuth2 refresh token
pinterest-mcpPinterest Ads API v524Bearer token
snapchat-mcpSnapchat Ads API v125Bearer token
amazon-dsp-mcpAmazon Ads Unified API (DSP)28Bearer token
msads-mcpMicrosoft Advertising API v1328Access token + developer token
dbm-mcpBid Manager API v26Google 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

Every server speaks MCP protocol revisions 2025-03-26, 2025-06-18 and 2025-11-25, the ones @modelcontextprotocol/sdk 1.31.0 implements; the Streamable HTTP transport rejects any other MCP-Protocol-Version. The current revision, 2026-07-28, is not supported yet (#242).

That is not the whole spec. In the MCP conformance suite (@modelcontextprotocol/conformance 0.1.16) every server passes 18 of the 30 active server scenarios — initialize, ping, logging level and log notifications, tool list and call, elicitation (form, defaults and enums), resource list, read and templates, prompt list and get, concurrent SSE streams, DNS-rebinding protection — and conformance/expected-failures.yaml gives the reason for each of the other 12. Not implemented: completions, resource subscriptions, sampling, progress notifications, image / audio / embedded-resource content, and SSE stream resumption. Elicitation requests (including the destructive-action confirmations below) and log notifications are sent on the calling tools/call request's response stream, so a client does not need the optional GET stream to receive them. A server bound to a loopback address (the default outside NODE_ENV=production) accepts only loopback Host and Origin headers on /mcp; a server on any other address checks Host only when MCP_ALLOWED_HOSTS is set.

Beyond raw tool calls, every server ships:

  • 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_tools tool that lets an agent search the server's own catalog by intent instead of paging the full list. On 10 of the 13 servers (all except the small gads-mcp and sa360-mcp / reporting-only dbm-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 jwt auth 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.
ServerDiscoveryPromptsResourcesCSV 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-mcp is 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-package cesteral-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 to attested trust.

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 enable picks up the pinned version from packageManager (or npm install -g pnpm@10)
  • Docker (for containerization)
  • Terraform >= 1.6.0 (for deployment)

1. Clone and install

bash
git clone https://github.com/cesteral/mcp-open-advertising.gitcd mcp-open-advertisingpnpm install

2. Build

bash
pnpm run build

3. Run a server locally

bash
# 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

json
{  "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

bash
cd terraformterraform initterraform 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

bash
# Install dependenciespnpm install
# Build all packagespnpm run build
# Run testspnpm run test
# Type checkingpnpm run typecheck
# Lintpnpm run lint

Testing MCP Tools

bash
# Use MCP Inspectornpx @modelcontextprotocol/inspector packages/gads-mcp
# Or use curlcurl -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 22 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.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Make changes and write tests
  4. Run tests: pnpm run test
  5. Submit a Pull Request

See also: CODE_OF_CONDUCT.md | SECURITY.md | ROADMAP.md


License

Apache License 2.0


Support

  • Website: cesteral.com -- managed hosting and commercial features
  • Documentation: docs/ for guides and architecture
  • GitHub Issues: Report bugs or request features
  • Email: [email protected]

來源:README.md,提交 e977faf

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

1
  1. v1.4.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式必需10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分