AdMob MCP
Provides read-only access to the Google AdMob API, enabling tools for listing publisher accounts, apps, and ad units, as well as generating network and mediation performance reports with metrics such as earnings, impressions, clicks, and RPM.
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., "@AdMob MCPShow my AdMob earnings by app for the last 7 days"
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.
AdMob MCP — Google AdMob Reporting for AI Clients
6 read-only tools for the Google AdMob API — accounts, apps, ad units, and network/mediation performance reports — for Claude Desktop, Claude Code, and any MCP client.
What is this?
AdMob MCP is a Model Context Protocol server that gives AI assistants structured, read-only access to the Google AdMob API — publisher accounts, apps, ad units, and performance reports broken down by whatever dimensions you ask for (date, app, country, ad source, and more).
It deliberately covers only the stable, read-oriented v1 surface. The AdMob API's v1beta also supports creating apps/ad units and managing mediation groups — those touch monetization configuration and billing directly, so they stay a human action in the AdMob UI, not something this server automates.
Supported platform: any MCP client on macOS, Linux, or Windows with Python 3.12+.
Related MCP server: AdSense MCP
Tools
Category | Tools | What you can do |
Accounts | 2 | List accounts accessible to this credential, fetch one by name |
Apps & Ad Units | 2 | List apps and ad units under an account |
Reports | 2 | Generate a network (own ad serving) report, or a mediation (cross ad-source) report, by any combination of dimensions and metrics |
Tool | Description |
| List AdMob publisher accounts accessible to this credential |
| Fetch one account's details by name ( |
| List apps under an account |
| List ad units under an account |
| Network performance report — earnings, impressions, clicks, requests, CTR, RPM, match rate, by DATE/APP/COUNTRY/PLATFORM/etc. |
| Mediation performance report — same metrics broken down by AD_SOURCE / MEDIATION_GROUP as well |
Requirements
Requirement | Version |
Python | 3.12 or later |
any recent version | |
Google Cloud project | with the AdMob API enabled |
OAuth client | type "Desktop app" (see below — AdMob does not support service accounts) |
Authentication
AdMob does not support service-account credentials — every call must be authorized by a real Google account via OAuth 2.0. Setup:
In Google Cloud Console, create/select a project and enable the AdMob API (APIs & Services → Library).
Configure the OAuth consent screen (user type "External"; "Testing" status with yourself added as a test user is enough for personal use).
Create an OAuth client ID of type Desktop app (APIs & Services → Credentials). Note the client ID and secret.
Run the one-time interactive authorization:
uv run admob-mcp-authorizeThis opens a browser for Google sign-in and AdMob consent, then prints a refresh token.
Put all three values in
.env(see Installation).
The server only ever refreshes this token into short-lived access tokens — it never re-runs the interactive flow itself. If the refresh token is ever revoked (visible/revocable at myaccount.google.com/permissions), re-run step 4.
Scopes requested: admob.readonly (account/app/ad-unit data) and admob.report (performance reports).
Installation
git clone https://github.com/jimsimoy/admob-mcp.git
cd admob-mcp
uv sync
cp .env.example .env # fill in ADMOB_CLIENT_ID, ADMOB_CLIENT_SECRET, ADMOB_REFRESH_TOKENRun directly:
uv run admob-mcpClient Setup
{
"mcpServers": {
"admob": {
"command": "uv",
"args": ["--directory", "/path/to/admob-mcp", "run", "admob-mcp"],
"env": {
"ADMOB_CLIENT_ID": "...",
"ADMOB_CLIENT_SECRET": "...",
"ADMOB_REFRESH_TOKEN": "..."
}
}
}
}Restart your MCP client after saving. The 6 AdMob tools will appear automatically.
Usage Examples
See what accounts and apps are visible
List my AdMob accounts, then list the apps under the first oneCheck last week's earnings by app
Generate a network report for accounts/pub-1234567890123456 from 2026-08-30 to
2026-09-05, dimensions DATE and APP, metrics ESTIMATED_EARNINGS and IMPRESSIONSCompare ad source performance
Generate a mediation report for the same account and date range, broken down
by AD_SOURCESecurity
Credentials (
ADMOB_CLIENT_ID,ADMOB_CLIENT_SECRET,ADMOB_REFRESH_TOKEN) are read from the environment only —.env,.env.*(except.env.example), andtoken.jsonare gitignored.The refresh token is a long-lived credential with read access to your AdMob account and revenue data. Treat it like a password; revoke it at myaccount.google.com/permissions if it's ever exposed.
This is a read-only server by design — it does not expose the v1beta write endpoints (creating apps/ad units, mediation group management).
Project Structure
src/admob_mcp/
server.py # MCP server entry point and tool definitions
client.py # AdMob API client (pagination, report-stream parsing)
auth.py # OAuth access-token refresh
authorize.py # One-time interactive OAuth consent flow (admob-mcp-authorize)The server communicates over stdio using JSON-RPC 2.0, the standard MCP transport.
A note on testing
This was built directly from Google's official AdMob API v1 reference (endpoints, OAuth scopes, and the exact dimension/metric enums for both report types), with token refresh/caching, pagination, and report-response parsing covered by tests against a mocked API. It has also been verified end-to-end against a live AdMob account: the OAuth loopback flow, list_accounts, list_apps, list_ad_units, generate_network_report (both an empty-result case and a populated one, confirming row and footer parsing), and generate_mediation_report all returned correct real data.
License
MIT — free to use, modify, and distribute.
Available Tools
6 toolsgenerate_mediation_reportA
Generate an AdMob mediation performance report (earnings across ad sources).
account_name looks like 'accounts/pub-1234567890123456'. start_date/end_date
are 'YYYY-MM-DD', inclusive.
dimensions default to ["DATE", "AD_SOURCE"]; valid values: DATE, MONTH,
WEEK, AD_SOURCE, AD_SOURCE_INSTANCE, AD_UNIT, APP, MEDIATION_GROUP,
COUNTRY, FORMAT, PLATFORM, MOBILE_OS_VERSION, GMA_SDK_VERSION,
APP_VERSION_NAME, SERVING_RESTRICTION.
metrics default to ["ESTIMATED_EARNINGS", "IMPRESSIONS", "CLICKS"]; valid
values: AD_REQUESTS, CLICKS, ESTIMATED_EARNINGS, IMPRESSIONS,
IMPRESSION_CTR, MATCHED_REQUESTS, MATCH_RATE, OBSERVED_ECPM.
| Name | Required | Description | Default |
|---|---|---|---|
| metrics | No | ||
| end_date | Yes | ||
| dimensions | No | ||
| start_date | Yes | ||
| account_name | Yes | ||
| max_report_rows | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden for behavioral transparency. It indicates that the tool generates a report and lists valid query values, but it never states whether the operation is read-only, whether it has side effects, or how results are returned and paginated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well structured: a one-line purpose followed by short parameter, default, and value lists. There are no redundant sentences or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The combination of description and input schema provides enough to make a basic call: required parameters are formatted, defaults and valid values are listed, and an output schema exists. It falls short only on max_report_rows semantics and report-shaping details such as pagination or timezone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains the format of account_name, start_date, and end_date, and enumerates valid and default values for dimensions and metrics, covering most parameters. max_report_rows is left without any explanation, and the meaning of individual dimension or metric values is not expanded.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Generate an AdMob mediation performance report,' and the parenthetical clarifies it covers earnings across ad sources. This is enough to distinguish it at a high level from sibling reporting tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes concrete usage guidance: account_name format, inclusive date format, and defaults for dimensions and metrics. It does not explicitly state when to choose this tool over generate_network_report, so some situational guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_network_reportA
Generate an AdMob network (own ad serving) performance report.
account_name looks like 'accounts/pub-1234567890123456'. start_date/end_date
are 'YYYY-MM-DD', inclusive.
dimensions default to ["DATE", "APP"]; valid values: DATE, MONTH, WEEK,
AD_UNIT, APP, AD_TYPE, COUNTRY, FORMAT, PLATFORM, MOBILE_OS_VERSION,
GMA_SDK_VERSION, APP_VERSION_NAME, SERVING_RESTRICTION.
metrics default to ["ESTIMATED_EARNINGS", "IMPRESSIONS", "CLICKS",
"AD_REQUESTS"]; valid values: AD_REQUESTS, CLICKS, ESTIMATED_EARNINGS,
IMPRESSIONS, IMPRESSION_CTR, IMPRESSION_RPM, MATCHED_REQUESTS, MATCH_RATE,
SHOW_RATE.
| Name | Required | Description | Default |
|---|---|---|---|
| metrics | No | ||
| end_date | Yes | ||
| dimensions | No | ||
| start_date | Yes | ||
| account_name | Yes | ||
| max_report_rows | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does add useful context: defaults for dimensions and metrics, and the full list of valid values for both. It also specifies the account_name format and inclusive date range. However, it does not explicitly state that this is a read-only operation, does not mention any side effects, rate limits, or authentication needs, and does not describe the output format beyond what the output schema would provide. This is a moderate disclosure given the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized: a clear purpose sentence, followed by parameter format notes, then defaults and valid values. Every line contributes necessary information, and it is front-loaded with the main purpose. There is no redundant phrasing, and it uses line breaks to group related details, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, the description does not need to detail return values. It covers all required parameters' formats and the optional parameters' defaults and allowed values. It does not mention any prerequisites like the need for a valid account from list_accounts, but that is implicitly available through sibling tools. The only gap is the lack of explanation for max_report_rows, but overall it is sufficient for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It does explain the format for account_name ('accounts/pub-1234567890123456') and start_date/end_date ('YYYY-MM-DD', inclusive). It provides defaults and valid values for dimensions and metrics, which is beyond the schema. However, it does not explain the max_report_rows parameter at all, leaving it ambiguous. Overall, it adds significant meaning for most parameters but misses one.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Generate an AdMob network (own ad serving) performance report.' The verb 'generate' plus the specific resource 'network performance report' is precise, and the parenthetical '(own ad serving)' distinguishes it from the sibling generate_mediation_report. An agent can immediately understand what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly scopes to 'network (own ad serving)', which implies it is for own ad serving reports as opposed to mediation. It provides the account_name format and date format, which are essential for usage. However, it does not explicitly name the alternative generate_mediation_report or state when not to use this tool, relying on the agent to infer the distinction from the scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accountA
Fetch one account's details. account_name looks like 'accounts/pub-1234567890123456'.
| Name | Required | Description | Default |
|---|---|---|---|
| account_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It accurately describes a read-only 'Fetch' operation with no side effects, but it does not explicitly disclose permissions or confirm that no state changes occur. The description is not misleading, but it is minimal in its behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant words. It conveys the essential purpose and parameter format efficiently, making it highly scannable for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since an output schema exists, not describing the return structure is acceptable. The description covers what the tool does and the parameter format. It omits potential error cases or prerequisites, but for such a simple get operation, that information is not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema provides no description, the tool description compensates by giving a concrete format example ('accounts/pub-1234567890123456'). This clarifies the expected pattern for the account_name parameter, exceeding the schema's bare type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb 'Fetch' and the resource 'account's details', distinguishing it from list_accounts by indicating it retrieves a single account. The example format for account_name further clarifies the target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus the sibling tools (e.g., list_accounts). It implies usage when a specific account_name is known, but this is not stated directly, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_accountsA
List AdMob publisher accounts accessible to this credential.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It mentions 'accessible to this credential,' which implies read-only scoping, but does not explicitly state that the operation is non-mutating. Given the list nature, it is reasonable to assume read-only, but the absence of an explicit statement prevents a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extraneous information. It is well-structured and front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete enough for a simple list operation with no parameters. It does not specify the output format, but that is often unnecessary for basic tools and may be covered by an output schema (not shown). Overall, it provides sufficient context for an agent to understand the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameters, so the description adds meaning by defining the resource type and the scope ('accessible to this credential'). This is sufficient for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and the resource ('AdMob publisher accounts'), and it distinguishes itself from the sibling tool 'get_account' by implying a list-all operation rather than fetching a single account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (to retrieve all accessible accounts) but does not explicitly state when to prefer this over get_account or other list tools. The context of sibling tools partially clarifies, but the description itself lacks direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ad_unitsB
List ad units under an account. account_name looks like 'accounts/pub-1234567890123456'.
| Name | Required | Description | Default |
|---|---|---|---|
| account_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states a list operation (implying read-only) but does not explicitly mention that it is safe, nor does it disclose any side effects, permissions, or output details. The provided account_name format is helpful but pertains to parameter semantics rather than behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the core action and includes the critical parameter format. There is no wasted wording, and it is appropriately concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter) and has an output schema, so the description need not cover return values. However, it omits any mention of pagination, filtering, or read-only semantics. It is minimally adequate but could benefit from a note about the nature of the list (e.g., that it is read-only).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage for the single parameter, so the description must compensate. It provides the exact expected format of account_name ('accounts/pub-1234567890123456'), which is essential for correct invocation. This goes beyond the schema's bare type definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists ad units under an account, with a specific verb and resource. It doesn't explicitly distinguish from sibling tools, but the resource (ad units) is distinct from accounts, apps, and reports, so it is understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites, such as needing an existing account, nor does it contrast with other list/generate tools. The usage context is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_appsA
List apps under an account. account_name looks like 'accounts/pub-1234567890123456'.
| Name | Required | Description | Default |
|---|---|---|---|
| account_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the operation is a list (read-only) and gives the account_name format, which is useful. However, it does not disclose pagination, ordering, or any other behavioral details. For a simple read operation, this is acceptable but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The key scope ('under an account') is front-loaded, and the parameter format is provided succinctly. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values are covered. The description is sufficient for a simple list operation with one parameter, given the sibling context. It could mention pagination or sorting, but those are minor for this use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It does so by specifying the expected format of account_name ('accounts/pub-1234567890123456'), which adds meaningful guidance beyond the bare string type in the schema. This fully clarifies the single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists apps under an account, with a specific resource and scope. It is distinct from siblings like list_accounts (accounts) and get_account (single account), so an agent can easily tell it apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description implies it is for listing apps, but does not mention when not to use it or how it differs from list_accounts or list_ad_units. The agent must infer usage from the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v0.1.0- First observed
generate_mediation_report - First observed
generate_network_report - First observed
get_account - First observed
list_accounts - First observed
list_ad_units - First observed
list_apps
TDQS
Each tool maps to a distinct resource or action: accounts, apps, ad units, and two clearly differentiated report types (network vs. mediation). No meaningful overlap exists between tool purposes.
Tool names follow a consistent verb_noun pattern: list_accounts, get_account, list_apps, list_ad_units, generate_network_report, generate_mediation_report. The pattern is predictable and uniform.
Six tools is well-scoped for an AdMob read/reporting surface. Each tool earns its place without redundancy or bloat.
The surface covers account discovery, app/ad unit listing, and comprehensive network/mediation reporting. Minor gaps exist for detailed per-app or per-ad-unit lookups and mutation operations, but core reporting workflows are well covered.
Maintenance
Related MCP Connectors
Google Ads MCP server — manage campaigns, keywords, and metrics.
MCP-native ad server. Monetize AI chatbots and agents with conversational ads.
Read-only MCP access to your DEXUN AdWhiz account: ad accounts, AI recommendations, savings.
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceConnects Google AdSense to MCP clients like Claude and Cursor, enabling earnings summaries, detailed reports, site status checks, and more via natural language.295MIT
- AlicenseAqualityCmaintenanceA Model Context Protocol (MCP) server that gives Claude Desktop direct access to your Google AdSense account. Ask plain English questions about your revenue — no dashboard required.1018MIT
- AlicenseAqualityFmaintenanceMCP server for Google AdSense management. Create ad units, generate framework-specific ad code, manage earnings reports, and automate ads.txt — all from your AI assistant.1218MIT
- AlicenseAqualityBmaintenanceA read-only MCP server for querying Google Ads data using GAQL, enabling AI assistants to safely read campaign performance, ad groups, and keywords.12MIT
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/jimsimoy/admob-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server