Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
MCP server for the Google AdMob API — apps, ad units, mediation, and revenue reports
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"admob": {
"command": "npx",
"args": [
"-y",
"admob-mcp-server"
]
}
}
}Run this in your terminal
claude mcp add admob -- npx -y admob-mcp-serverPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"admob": {
"command": "npx",
"args": [
"-y",
"admob-mcp-server"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"admob": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"admob-mcp-server"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account ParkSangGwon, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 3 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, NexusWindows
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Windows computer use in the background: desktop apps driven without your mouse or keyboard.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
English | 한국어
Ask your AI assistant about your AdMob apps and earnings — in plain language:
- "How much did my apps earn in the last 7 days, broken down by country?"
- "Which mediation ad source had the best eCPM this month?"
- "Compare the RPM of my banner vs. rewarded ad units."
- "List my apps and their ad units."
This is a Model Context Protocol (MCP) server for the Google AdMob API.\ It works with Claude Code, Claude Desktop, Cursor, Gemini CLI, and any other MCP-capable AI client.
flowchart LR
C["MCP client Claude Code · Claude Desktop · Cursor · Gemini CLI"]
subgraph S["admob-mcp-server — runs on your machine"] direction TB T["9 read-only tools in 5 toolsets accounts · apps · adunits · reports · mediation (filtered by --toolsets)"] A["Credential resolver env vars → token.json → gcloud ADC"] R["Report flattener chunk stream → rows · micros → currency"] end
G["Google AdMob API v1beta"]
C <-->|"MCP over stdio"| T T --> A A <-->|"OAuth 2.0 / HTTPS"| G G -.->|"report chunks"| R R -.-> T
Credentials and revenue data travel only between your machine and Google — there is no third-party server in between.
--toolsets reports,accountsnpx admob-mcp-server auth), environment-variable refresh token, or gcloud Application Default CredentialsOne-time setup, roughly 10 minutes:
| Step | What you do | Where |
|---|---|---|
| 1. Google Cloud setup | Register a personal "app" so Google lets you access your own data | browser |
| 2. Sign in | Run one command and log in with Google | terminal |
| 3. Connect your AI client | Add one config entry and restart the client | terminal |
node --version; if missing, install from nodejs.orgWhy is this needed?\ The AdMob API has no simple API keys — Google requires every program that accesses your data to be registered as an "OAuth app".\ Here you register a personal one that only you will use.\ It's free and needs no billing setup.
admob-mcp), and your email as the support/contact email[!WARNING]
While the consent screen is in Testing mode, Google expires sign-ins after 7 days, so you'll need to re-run the sign-in weekly.\
To stop that, publish the app (Audience → Publish app).\
Publishing for your own use doesn't require Google's verification — you'll just see an "unverified app" warning during sign-in, which is expected.
Move the JSON file you downloaded to where the server looks for it, then run the sign-in command:
mkdir -p ~/.admob-mcp
mv ~/Downloads/client_secret_*.json ~/.admob-mcp/oauth_client.json
npx admob-mcp-server auth
(On Windows, move the file to C:\Users\ \.admob-mcp\oauth_client.json in Explorer, then run the npx command.)
Your browser opens.\ Pick the Google account that owns your AdMob account and allow access.\ If you see a "Google hasn't verified this app" warning, that's your own app from Part 1 — click "Continue".\ When the terminal prints Setup complete, your sign-in is saved to ~/.admob-mcp/token.json and reused from then on.
The sign-in requests the admob.readonly and admob.report scopes — read access only.
What the auth command does:
sequenceDiagram
autonumber participant T as Terminal participant S as admob-mcp-server participant B as Browser participant G as Google
T->>S: npx admob-mcp-server auth S->>S: read ~/.admob-mcp/oauth_client.json S->>B: open consent URL (loopback redirect, random port) B->>G: sign in & allow scopes G-->>S: authorization code → refresh token S->>S: save ~/.admob-mcp/token.json (reused for every later call)
Advanced: environment variables (headless / CI)
If you already have a refresh token, no files are needed:
export GOOGLE_CLIENT_ID="....apps.googleusercontent.com"
export GOOGLE_CLIENT_SECRET="..." export GOOGLE_REFRESH_TOKEN="..."
Advanced: gcloud Application Default Credentials
The same pattern Google's official Analytics/Ads MCP servers use:
gcloud auth application-default login \
--scopes=https://www.googleapis.com/auth/admob.readonly,https://www.googleapis.com/auth/admob.report,https://www.googleapis.com/auth/cloud-platform \ --client-id-file=path/to/oauth_client.json
Credential resolution order: environment variables → `token.json` (from `auth`) → ADC.
Pick your client below.\ MCP servers are loaded when the client starts, so restart the client after adding the config.
Claude Code
claude mcp add admob -- npx -y admob-mcp-server
Verify with claude mcp list — you should see admob: ... - ✔ Connected.
Claude Desktop — open Settings → Developer → Edit Config, which opens claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), and add:
{
"mcpServers": { "admob": { "command": "npx", "args": ["-y", "admob-mcp-server"] } } }
Restart the app; the admob tools appear in the tools menu of the chat input.
Cursor — add the same mcpServers block to ~/.cursor/mcp.json, then check Settings → MCP shows admob as enabled.
Gemini CLI — add the same mcpServers block to ~/.gemini/settings.json, then check with /mcp inside the CLI.
[!TIP]
If you used the environment-variable sign-in, pass the variables through your client's
envblock (Claude Code: repeat--env KEY=valuebefore--; JSON configs: add an"env": { ... }object next to"args").
You don't call tools yourself — just ask in plain language and the assistant picks the right tools.\ Some starters:
Most clients ask for your permission before each tool call, so nothing runs without your approval.
All configuration is optional — the defaults work for a single AdMob account.
| Variable | Description | Default |
|---|---|---|
ADMOB_ACCOUNT | Publisher ID (pub-XXXXXXXXXXXXXXXX). Only needed when your login can access multiple accounts | auto-discovered |
ADMOB_TOOLSETS | Comma-separated toolsets to enable | all |
ADMOB_CREDENTIALS_DIR | Directory for oauth_client.json / token.json | ~/.admob-mcp |
ADMOB_OAUTH_CLIENT_FILE | Path to the OAuth client JSON used by auth | /oauth_client.json |
GOOGLE_CLIENT_ID | OAuth client ID (env sign-in; also used by auth instead of the JSON file) | — |
GOOGLE_CLIENT_SECRET | OAuth client secret (env sign-in) | — |
GOOGLE_REFRESH_TOKEN | OAuth refresh token (env sign-in) | — |
| Flag | Description |
|---|---|
--toolsets | Same as ADMOB_TOOLSETS, e.g. --toolsets reports,apps |
--account | Same as ADMOB_ACCOUNT |
--client-file | Same as ADMOB_OAUTH_CLIENT_FILE (for auth) |
CLI flags take precedence over environment variables.\ Flags go after the command in your client config, e.g. npx -y admob-mcp-server --toolsets reports.
A "tool" is a function the AI assistant can call on your behalf.\ Tools are grouped into five toolsets; all are enabled by default:
| Toolset | Tools |
|---|
| accounts | list_accounts, get_account
Only the beginning is shown; read the rest in the repo