Skip to main content
Glama
qalvinahmad

ads-mcp

by qalvinahmad

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_accounts

AdMob

List publisher accounts

admob_get_account

AdMob

Account details (currency, timezone)

admob_list_apps

AdMob

List apps (paginated)

admob_list_ad_units

AdMob

List ad units (paginated)

admob_network_report

AdMob

Network report with full dimension/metric/filter/sort control

admob_mediation_report

AdMob

Mediation report (per ad-source performance)

petal_report

Petal Ads

Publisher report with full group-by/filter/order/pagination control

petal_revenue_summary

Petal Ads

Daily earnings trend + totals for a date range

petal_apps_performance

Petal Ads

Per-app (and per-placement) earnings breakdown

ads_revenue_overview

Both

Combined totals + daily breakdown across both networks

ads_auth_status

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 .env

2. Google AdMob

  1. Open Google Cloud Console → select/create a project.

  2. Enable the AdMob API in the API Library.

  3. APIs & Services → Credentials → Create Credentials → OAuth client ID → Desktop app, then download the JSON.

  4. Save it as secrets/client_secret.json (or point ADMOB_CLIENT_SECRET_PATH in .env at it).

  5. Run the one-time authorization (opens a browser):

npm run auth:admob

If 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

  1. Open HUAWEI Developers ConsoleHMS API Services → Credentials.

  2. Create an OAuth 2.0 client ID (server type) with the Ads Kit / Publisher Service Reporting API enabled.

  3. Put the credentials in .env:

HUAWEI_CLIENT_ID=your_client_id
HUAWEI_CLIENT_SECRET=your_client_secret

Or, if you keep them as a single combined key:

HUAWEI_ADS_API_KEY=client_id:client_secret

No 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 list

Register with an MCP client

Claude Code (CLI)

claude mcp add ads -- node /absolute/path/to/ads-mcp/dist/index.js

Claude 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

ADMOB_CLIENT_SECRET_PATH

secrets/client_secret.json

Google OAuth Desktop-app client JSON

ADMOB_TOKEN_PATH

secrets/admob-token.json

Cached authorized user token

ADMOB_OAUTH_PORT

8089

Localhost port for the one-time OAuth flow

HUAWEI_CLIENT_ID / HUAWEI_CLIENT_SECRET

Huawei OAuth client (preferred)

HUAWEI_ADS_API_KEY

Combined client_id:client_secret fallback

HUAWEI_DEFAULT_CURRENCY

USD

Default report currency (CNY, USD, EUR)

HUAWEI_OAUTH_TOKEN_URL

Huawei production

Override for testing

HUAWEI_ADS_REPORT_URL

Huawei production

Override for testing

Security notes

  • secrets/ and .env are gitignored — never commit credentials.

  • The AdMob token file is written with 0600 permissions.

  • Huawei access tokens are cached in memory only.

  • All tools are read-only against both ad networks.

API references

Credits

License

MIT — see LICENSE.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    B
    maintenance
    Enables comprehensive Google Ads campaign management and analysis through natural language, including performance metrics, keyword optimization, budget management, and custom GAQL queries.
    Last updated
    100
    12
    MIT
  • -
    license
    -
    quality
    -
    maintenance
    Enables 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 updated
    2
  • A
    license
    -
    quality
    C
    maintenance
    Enables 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 updated
    Apache 2.0
  • A
    license
    -
    quality
    B
    maintenance
    Connects 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 updated
    2
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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