Facebook AdsSAFE
None
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://archestra.ai/mcp-catalog/gomarble-ai__facebook-ads-mcp-server) [](https://smithery.ai/server/@gomarble-ai/facebook-ads-mcp-server)
This project provides an MCP server acting as an interface to the Meta Ads, enabling programmatic access to Meta Ads data and management features.
Your browser does not support the video tag.
Easy One-Click Setup
For a simpler setup experience, we offer ready-to-use installers:
👉 Download installer - https://gomarble.ai/mcp
Join our community for help and updates
👉 Slack Community - AI in Ads
Try Google ads mcp server also
👉 Google Ads MCP - Google Ads MCP
What It Does
- Installs and configures the MCP server locally
- Automatically handles environment setup
- Prompts for Meta token authentication during the process which is optional
- If Meta access token is not provided then connect to GoMarble's server to create the token on your behalf
Important Disclaimer
This setup does not require you to manually obtain a Meta Developer Access Token.
Instead, it connects securely to GoMarble's server to create the token on your behalf. GoMarble does not store your token — it is saved locally on your machine for use with the MCP server.
Setup
Prerequisites
- Python 3.10+
- Dependencies listed in
requirements.txt
- (Optional but Recommended) Create and Activate a Virtual Environment:
python3 -m venv venv source venv/bin/act
32cf9eb81c7aOBSERVED · 2026-10-02Exposed tools (21)
17 read · 4 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
fetch_pagination_url | read | Fetch data from a Facebook Graph API pagination URL |
get_activities_by_adaccount | read | Retrieves activities for a Facebook ad account. |
get_activities_by_adset | write | Retrieves activities for a Facebook ad set. |
get_ad_by_id | read | Retrieves detailed information about a specific Facebook ad by its ID. |
get_ad_creative_by_id | read | Retrieves detailed information about a specific Facebook ad creative. |
get_ad_creatives_by_ad_id | read | Retrieves the ad creatives associated with a specific Facebook ad. |
get_ad_insights | read | Retrieves detailed performance insights for a specific Facebook ad. |
get_adaccount_insights | read | Retrieves performance insights for a specified Facebook ad account. |
get_ads_by_adaccount | read | Retrieves ads from a specific Facebook ad account. |
get_ads_by_adset | write | Retrieves ads associated with a specific Facebook ad set. |
get_ads_by_campaign | read | Retrieves ads associated with a specific Facebook campaign. |
get_adset_by_id | write | Retrieves detailed information about a specific Facebook ad set by its ID. |
get_adset_insights | write | Retrieves performance insights for a specific Facebook ad set. |
get_adsets_by_adaccount | read | Retrieves ad sets from a specific Facebook ad account. |
get_adsets_by_campaign | read | Retrieves ad sets associated with a specific Facebook campaign. |
get_adsets_by_ids | read | Retrieves detailed information about multiple Facebook ad sets by their IDs. |
get_campaign_by_id | read | Retrieves detailed information about a specific Facebook ad campaign by its ID. |
get_campaign_insights | read | Retrieves performance insights for a specific Facebook ad campaign. |
get_campaigns_by_adaccount | read | Retrieves campaigns from a specific Facebook ad account. |
get_details_of_ad_account | read | Get details of a specific ad account as per the fields provided |
list_ad_accounts | read | List down the ad accounts and their names associated with your Facebook account. |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (2 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (3)
.dxtignore
mcp, requests
3. **Obtain Meta Access Token:** Secure a Meta User Access Token with the necessary permissions (e.g., `ads_read`). You can generate this through the Meta Developer portal. Follow [this link](https:/
Gates applied: no_behavioural_pass.
32cf9eb81c7afull audit observations/trust-audit/mcp-server/gomarble-ai__facebook-ads.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-02 | 32cf9eb81c7a | SAFE | B | 89 | first audit |
Questions
What is the Facebook Ads MCP server?
None
What tools does Facebook Ads expose?
21 in total: 17 read-only, 4 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Facebook Ads safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Facebook Ads need?
No credential environment variables were found in its source, so it appears to need none.
How does Facebook Ads run?
It speaks stdio, so it runs as a local process your client starts.
How current is this page?
The grade is for one exact copy of the source (32cf9eb81c7a), read on 2026-10-02. The repository is watched and re-audited when it changes.