ads-mcp
Provides tools for managing and reporting on AdMob ad accounts, including listing accounts, apps, ad units, and generating network/mediation reports with full dimension, metric, filter, and sort control.
Provides tools for querying Huawei Petal Ads publisher reports, including daily earnings trends, per-app/placement breakdowns, and customizable group-by/filter/order/pagination reports.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ads-mcpHow much did I earn from AdMob and Petal Ads yesterday?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ads-mcp
A Model Context Protocol server that puts your mobile ad revenue in one conversational interface: Google AdMob and Huawei Petal Ads (Publisher Service), side by side.
Ask Claude things like:
"How much did I earn across AdMob and Petal Ads last week?"
"Which AdMob ad units are underperforming?"
"Break down my Petal Ads revenue by app"
"Compare yesterday's eCPM by country"Tools
Tool | Network | Description |
| AdMob | List publisher accounts |
| AdMob | Account details (currency, timezone) |
| AdMob | List apps (paginated) |
| AdMob | List ad units (paginated) |
| AdMob | Network report with full dimension/metric/filter/sort control |
| AdMob | Mediation report (per ad-source performance) |
| Petal Ads | Publisher report with full group-by/filter/order/pagination control |
| Petal Ads | Daily earnings trend + totals for a date range |
| Petal Ads | Per-app (and per-placement) earnings breakdown |
| Both | Combined totals + daily breakdown across both networks |
| Both | Check which networks are configured/authorized |
All tools are read-only — this server never mutates your ad accounts.
Related MCP server: Google Ads MCP Server (Fork with Write Tools)
Prerequisites
Node.js 18+
For AdMob: a Google Cloud project with the AdMob API enabled and an OAuth 2.0 Desktop app client
For Petal Ads: a HUAWEI Developers OAuth client with the Publisher Service Reporting API (Ads Kit) enabled
Setup
1. Install and build
git clone https://github.com/qalvinahmad/ads-mcp.git
cd ads-mcp
npm install
npm run build
cp .env.example .env2. Google AdMob
Open Google Cloud Console → select/create a project.
Enable the AdMob API in the API Library.
APIs & Services → Credentials → Create Credentials → OAuth client ID → Desktop app, then download the JSON.
Save it as
secrets/client_secret.json(or pointADMOB_CLIENT_SECRET_PATHin.envat it).Run the one-time authorization (opens a browser):
npm run auth:admobIf your OAuth consent screen is in "Testing" status, add your Google account as a test user (otherwise you'll get an authorization error, and refresh tokens expire after 7 days).
3. Huawei Petal Ads
Open HUAWEI Developers Console → HMS API Services → Credentials.
Create an OAuth 2.0 client ID (server type) with the Ads Kit / Publisher Service Reporting API enabled.
Put the credentials in
.env:
HUAWEI_CLIENT_ID=your_client_id
HUAWEI_CLIENT_SECRET=your_client_secretOr, if you keep them as a single combined key:
HUAWEI_ADS_API_KEY=client_id:client_secretNo browser flow is needed — Petal Ads uses OAuth client-credentials (server-to-server).
4. Verify
npm run doctor # checks both networks; tests the Huawei token endpoint
npm run smoke # boots the server and validates the MCP handshake + tool listRegister with an MCP client
Claude Code (CLI)
claude mcp add ads -- node /absolute/path/to/ads-mcp/dist/index.jsClaude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"ads": {
"command": "node",
"args": ["/absolute/path/to/ads-mcp/dist/index.js"]
}
}
}Cursor / Windsurf / Cline
"ads": {
"command": "node",
"args": ["/absolute/path/to/ads-mcp/dist/index.js"]
}Configuration is read from ads-mcp/.env automatically (the server resolves it relative to its own install directory, not the client's working directory).
Environment variables
Variable | Default | Description |
|
| Google OAuth Desktop-app client JSON |
|
| Cached authorized user token |
|
| Localhost port for the one-time OAuth flow |
| — | Huawei OAuth client (preferred) |
| — | Combined |
|
| Default report currency (CNY, USD, EUR) |
| Huawei production | Override for testing |
| Huawei production | Override for testing |
Security notes
secrets/and.envare gitignored — never commit credentials.The AdMob token file is written with
0600permissions.Huawei access tokens are cached in memory only.
All tools are read-only against both ad networks.
API references
AdMob API v1 (
admob.googleapis.com/v1)Petal Ads Publisher Service Reporting API (
ads.cloud.huawei.com/openapi/monetization/reports/v1/publisher)
Credits
AdMob client and OAuth flow adapted from willhou/admob-mcp (MIT).
Petal Ads integration follows the official HMS-Core/hms-ads-severdemo reference.
License
MIT — see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables comprehensive Google Ads campaign management and analysis through natural language, including performance metrics, keyword optimization, budget management, and custom GAQL queries.Last updated10012MIT
- -license-quality-maintenanceEnables AI assistants to manage Google Ads accounts by providing tools for querying account data and performing write operations such as updating campaign budgets, statuses, and bidding strategies.Last updated2
- Alicense-qualityCmaintenanceEnables LLMs to interact with the Google Ads API to retrieve account information, list accessible customers, and query campaign performance. It allows users to manage and analyze Google Ads data through natural language interfaces.Last updatedApache 2.0
- Alicense-qualityBmaintenanceConnects Claude to the Google AdMob API to provide a conversational interface for managing and analyzing ad revenue data. It enables users to generate custom network reports, track performance trends, and diagnose revenue fluctuations using natural language.Last updated2MIT
Related MCP Connectors
Ask AI about your ads — query Meta, TikTok, and Google Ads performance in natural language.
233 tools for Google, Microsoft, TikTok, LinkedIn Ads in Claude or ChatGPT. Writes need approval.
Manage Google, Meta, Amazon, TikTok, LinkedIn & ChatGPT ads. 430 tools for campaigns & analytics.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/qalvinahmad/ads-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server