Campaign hierarchy — campaigns (objective, channel, daily budget) → ad groups (bid strategy + bid/target, audience) → ads/creatives.
Ads MCP Server
A digital advertising platform for ADK-Rust Enterprise sales & marketing agents. 19 MCP tools covering campaigns, ad groups, ads/creatives, budgets and bids, audiences, daily performance metrics with derived KPIs…
What it gives an agent
A purpose-built capability behind one MCP connection.
The server owns its domain logic and publishes a tool contract an MCP client can discover. ADK-Rust can load that contract into an agent, normalize each schema for the chosen model provider, and keep the connection lifecycle outside the agent’s business logic.
Audiences — interest / remarketing / lookalike / custom with estimated size.
Metrics & KPIs — ingest daily impressions/clicks/spend/conversions/revenue; derived CTR, CPC, CPA, CVR, ROAS at ad-group and rolled-up campaign level.
Budget pacing — today's spend vs. daily budget with a pacing flag (underspending / on_track / pacing_hot / budget_exhausted).
Optimization — rule-based suggestions per ad group: scale high-ROAS winners, cut/pause sub-break-even or zero-conversion groups, flag low CTR, and catch CPA running over a target-CPA…
Architecture
How Ads MCP Server fits into an agent system.
The model never needs the implementation details or credentials of the system behind the server. It sees reviewed tool definitions. The MCP client handles discovery and calls, while the server keeps ownership of validation, policy, and communication with its domain system.
ADK-Rust agent
Chooses a capability from the reviewed tool catalog.
MCP client
Discovers schemas, sends calls, and receives typed content.
Ads MCP Server
Validates the request and owns 19 documented tool contracts.
Domain system
Keeps the API, data, credentials, and business rules behind the server.
From the project documentation
The server’s published architecture
Tool catalog
What can an agent ask Ads MCP Server to do?
Each tool has a stable name, a human-readable purpose, and a JSON input contract discovered during MCP initialization. Risk classes come from the project’s registry manifest when one is available.
19 named tools
create_campaignCreate a campaign (draft)
internal writeget_campaignGet a campaign by id
read onlylist_campaignsList campaigns by status/channel
read onlyset_campaign_statusSet campaign status (affects spend) — gated
external writeset_budgetSet campaign daily budget — gated (spend)
external writecreate_ad_groupCreate an ad group under a campaign
internal writeget_ad_groupGet an ad group by id
read onlylist_ad_groupsList ad groups in a campaign
read onlyset_bidSet an ad group's bid/target — gated (spend)
external writecreate_adCreate an ad/creative
internal writelist_adsList ads in an ad group
read onlycreate_audienceCreate an audience
internal writeGovernance
Understand the effect of every tool.
A server connection inherits the authority of its credentials and deployment environment. The declarations below come from this project’s README and MCP registry manifest; your application still decides which tools an agent receives and where approval is required.
- Three writes directly affect spend and are gated (requires_approval, external_write): set_budget, set_bid, and set_campaign_status (pausing/activating a campaign changes whether it spends).…
- optimize is read-only — it recommends; applying a recommendation goes through a gated tool. Budgets and bids are guarded non-negative; ended campaigns are terminal.
- Everything material is on the audit trail (audit_log). Sample data is fictitious.
MCP surface
What the current documentation declares.
MCP can carry tools, resources, prompts, structured results, progress, cancellation, and long-running work. This record highlights the modern protocol features explicitly mentioned by this repository.
Install and connect
Follow the project’s documented starting point.
Install the server in the environment that owns its credentials and domain access. Add it to your MCP host, verify the discovered tools, and narrow the toolset before giving it to a production agent.
cargo install mcp-adslet toolset = McpToolset::from_stdio(
"mcp-ads",
["mcp-ads"],
).await?;
let agent = LlmAgentBuilder::new("agent")
.tools(toolset.tools().await?)
.build()?;Commands and configuration are extracted from the public README. Confirm prerequisites, environment variables, and release-specific options in the official documentation before deployment.
Official documentation
Continue with the project maintainers’ source of truth.
This page provides an approachable map of the server. The repository remains authoritative for exact schemas, prerequisites, configuration, examples, tests, releases, and security updates.
Keep exploring
More in business operations.
Source record
Release and repository metadata for this catalog entry.
- Version
- 1.0.0
- License
- Apache-2.0
- Tools
- 19
- Revision
- dc3ea76c6b46
- Updated
- Jun 9, 2026