Query Meta Ads performance data including accounts, campaigns, ad sets, ads, metrics, and settings.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 26 days ago Due for re-check
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The AdAdvisor MCP server exposes 42 tools, focused primarily on web capabilities. Its published description reads: "Query Meta Ads performance data including accounts, campaigns, ad sets, ads, metrics, and settings". It communicates over Streamable HTTP using the 2026-07-28 protocol revision, and does not require authorization to connect. MCPGrade currently rates AdAdvisor F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Hidden instructions in a tool description" and "Cross-tool shadowing". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check AdAdvisor's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add AdAdvisor to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://api.adadvisor.ai/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
Discover and list all Meta ad accounts the user can access — start here. This is the entry point for every session. Call this FIRST to find available ad accounts and get the ad_account_id values requi
List Facebook Pages reachable for advertising from this ad account. Returns each page's id, name, the connecting user's Page-role tasks (e.g. ADVERTISE, MANAGE, ANALYZE), and can_advertise. is_default
List campaigns — show what campaigns exist, their config and budgets. Use this to see what campaigns are running, review setup before making changes, or answer "what campaigns do I have?" questions. R
List ad sets — show targeting, budgets, and optimization config. Use this to see what ad sets exist, review targeting and setup, or answer "what ad sets are in this campaign?" questions. Returns: id,
List ads — show which creatives are running and their setup. Use this to see what ads exist, review creative details, or answer "what ads are in this ad set/campaign?" questions. Returns: id, name, ca
Get performance metrics — how are my campaigns/ads doing? Use this to compare entities, find top or bottom performers, check spend and ROAS, or get an overview of account performance. Each row include
Get daily trend data — spot performance shifts day over day. Use this to see how a campaign, ad set, or ad is trending, detect when a performance change started, or compare day-over-day patterns. Each
Pause or resume one or more Meta campaigns, ad sets, or ads. Takes effect immediately. Live mutation — entities stop or start delivering on Meta right away. Idempotent: pausing an already-paused entit
Update the budget of a Meta campaign or ad set. Takes effect immediately. Provide exactly one of daily_budget or lifetime_budget in the account's currency (e.g. 50.00 = $50/day). You cannot switch bet
Patch arbitrary fields on a Meta campaign, ad set, or ad. Idempotent. Long-tail edit tool. Use the dedicated change_entity_status / change_entity_budget tools for the hot paths — they are safer and ha
Duplicate a Meta campaign, creating a new copy in the same ad account. NOT idempotent — each call creates a new campaign. By default duplicates the campaign AND all its ad sets and ads (deep_copy=true
Duplicate a Meta ad set into the same or a different campaign. NOT idempotent — each call creates a new ad set. By default duplicates the ad set AND all its ads (deep_copy=true). Set deep_copy=false t
Duplicate a Meta ad into the same or a different ad set. NOT idempotent — each call creates a new ad. The new ad inherits the original's creative and tracking specs. Use target_adset_id to place the c
Search targeting options — find interests, demographics, locations, behaviors. Use this before create_adset or update_adset_targeting to get valid IDs. Call estimate_audience_size to check reach befor
Estimate the audience size for a targeting spec without creating anything. Use this to explore how big an audience would be before committing to creating an ad set. Helps with strategy planning — e.g.
List custom audiences available for targeting in this ad account. Returns each audience's ID, name, subtype, approximate size, and delivery status. Use the id and name values in create_adset or update
Create a website custom audience based on pixel events. NOT idempotent — each call creates a new audience on Meta. Common use cases: - Exclude recent purchasers: event_name='Purchase', retention_days=
Create a lookalike audience from an existing custom audience seed. NOT idempotent — each call creates a new audience on Meta. Lookalike audiences take 1-6 hours to fully populate. Common use cases: -
Update the targeting for a Meta ad set. Takes effect immediately. Workflow: 1. search_targeting(search_type='interests', query='...') to find interest IDs 2. search_targeting(search_type='geolocation'
Create one or more Meta ad campaigns. NOT idempotent — each call creates new campaigns. All campaigns are created as PAUSED. After creation, add ad sets with create_adset, then activate with change_en
Create one or more Meta ad sets. NOT idempotent — each call creates new ad sets. All ad sets are created as PAUSED. The targeting spec is assembled server-side from flat inputs (same format as update_
Get pixel health for a Meta ad account — metadata, event counts, source and host breakdown. Returns the account's pixel(s) with: - Metadata: name, last_fired_time, automatic matching config, first-par
List existing ad creatives for an account — use to find a creative_id for reuse with create_ad. Queries the tenant DB directly — fast indexed query, no metrics aggregation. Returns id, name, status, o
Create one or more Meta ad creatives. NOT idempotent — each call creates new creatives. Pass a list of ``creatives`` to create several in a single tool call (e.g. five image variants for A/B testing,
Create one or more ads by attaching creatives to ad sets. NOT idempotent — each call creates new ads. Typical workflow: 1. search_ad_images / search_ad_videos — find an asset 2. create_creative(accoun
List existing Meta Lead Forms (instant forms) for a Facebook Page. Lead forms are page-scoped (endpoint: /{page_id}/leadgen_forms), so the tool resolves a Page first. If page_id is omitted, the accoun
Inspect one Meta Lead Form in full — every question, disclaimer and screen. Use this whenever you need to know what a form actually ASKS. A lead form's questions CANNOT be edited after creation, so re
Check whether this account can actually run lead gen — BEFORE building anything. Lead generation has four independent prerequisites, and each one fails at a different point with a different, unhelpful
Build a custom audience from how people interacted with a lead form. This is what turns lead gen into a funnel instead of a one-shot: the people who opened your form and didn't finish are the warmest
Archive or reactivate a Meta Lead Form. Archiving is the ONLY retirement path Meta offers — lead forms cannot be deleted, by us or by anyone. Status is also the only property of a form that can ever b
Create one or more Meta Lead Forms (instant forms) on a Facebook Page. NOT idempotent — each call creates new forms. Forms cannot be deleted, only ARCHIVED, so prefer one well-tested form over many tr
Open the upload widget for adding images and videos to a Meta ad account. Opens an interactive widget where the user can: - Drag & drop or browse for image files (JPG, PNG, max 30 MB) and videos (MP4,
Get presigned S3 URLs for direct upload — internal helper for the Upload Creatives widget. Prefer calling upload_creatives, which opens the widget and orchestrates the full S3 → Meta flow. This tool r
Push S3-uploaded files to Meta — internal helper for the Upload Creatives widget. Prefer calling upload_creatives, which opens the widget and orchestrates the full S3 → Meta flow. This tool downloads
Upload a single image to Meta — internal helper for the Upload Creatives widget. Prefer calling upload_creatives, which opens the widget and runs the full upload flow. This tool accepts either image_d
Upload a video to Meta — internal helper for the Upload Creatives widget. Prefer calling upload_creatives, which opens the widget and runs the full upload flow. This tool accepts either video_url (Met
Search images in this account's ad library and open a visual picker to select one or more. Queries meta_ad_images by name (case-insensitive) OR by exact hash, fetches fresh thumbnail URLs from Meta AP
Search videos in this account's ad library and open a visual picker to select one or more. Queries meta_ad_videos by title (case-insensitive), fetches fresh thumbnails from Meta API, then opens the as
Preview existing creatives that use the same image or video, with engagement metrics. Call this BEFORE creating a new creative to check if the same asset is already in use. If existing creatives have
Browse this business's Creatives Hub — every media asset the platform holds. The Hub is the shared library across surfaces and agents: renders generated by Iris, files uploaded by the user, and assets
Push Creatives Hub assets to a Meta ad account and get their image hashes back. This is the ONLY way to make a generated or uploaded asset usable in an ad. ``create_creative`` accepts an ``image_hash`
List existing organic posts that can be promoted as ads. Use this to find a Facebook Page post or Instagram post the business already published — promoting one preserves the post's existing likes, com
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: update_adset_targeting
A tool description contains imperative text aimed at the model (e.g. "ignore previous", "before answering read …").
enger, threads. IMPORTANT: this tool replaces the entire targeting spec —RecommendationRemove model-directed instructions from tool descriptions.
tool: list_pages
A tool description tries to alter the model’s use of another tool.
) can still let create_ad / create_lead_form succeed even when tasks is eRecommendationDescriptions must describe only their own tool.
tool: list_campaigns
A tool description tries to alter the model’s use of another tool.
e metrics — use get_performance for that.RecommendationDescriptions must describe only their own tool.
tool: list_adsets
A tool description tries to alter the model’s use of another tool.
e metrics — use get_performance for that.RecommendationDescriptions must describe only their own tool.
tool: list_ads
A tool description tries to alter the model’s use of another tool.
e metrics — use get_performance for that.RecommendationDescriptions must describe only their own tool.
tool: get_performance
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
cise' to reduce tokens. Data refreshes every 30 minutes and may lag beRecommendationRemove side-channel parameters; constrain tool inputs.
tool: get_timeseries
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
cise' to reduce tokens. For account-level totals, use get_performanceRecommendationRemove side-channel parameters; constrain tool inputs.
tool: get_timeseries
A tool description tries to alter the model’s use of another tool.
vel totals, use get_performance at campaign level instead. Data refreshes everyRecommendationDescriptions must describe only their own tool.
tool: change_entity_status
A tool description tries to alter the model’s use of another tool.
ent status with list_campaigns, list_adsets, or list_ads first.RecommendationDescriptions must describe only their own tool.
tool: change_entity_budget
A tool description tries to alter the model’s use of another tool.
ing. Check with list_campaigns or list_adsets first. Safety: changes >2× theRecommendationDescriptions must describe only their own tool.
tool: update_entity
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
VIEWS","VALUE","CONVERSATIONS"],"type":"string"},{"type":"null"}],"default":RecommendationRemove side-channel parameters; constrain tool inputs.
tool: update_entity
A tool description tries to alter the model’s use of another tool.
e the dedicated change_entity_status / change_entity_budget tools for the hot pathsRecommendationDescriptions must describe only their own tool.
tool: duplicate_campaign
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
create an empty shell, then selectively add ad sets with duplicate_adRecommendationAnnotate destructive tools and require human approval.
tool: duplicate_campaign
A tool description tries to alter the model’s use of another tool.
djust budget 3. change_entity_status(action='resume') → activateRecommendationDescriptions must describe only their own tool.
tool: duplicate_adset
Tools that execute commands / write files / make arbitrary requests are exposed without annotations or guards.
create an empty shell, then selectively add ads with duplicate_ad. TRecommendationAnnotate destructive tools and require human approval.
tool: duplicate_adset
A tool description tries to alter the model’s use of another tool.
ly add ads with duplicate_ad. The new ad set inherits the original's budgetRecommendationDescriptions must describe only their own tool.
tool: duplicate_ad
A tool description tries to alter the model’s use of another tool.
activate, call change_entity_status(action='resume') after duplication.RecommendationDescriptions must describe only their own tool.
tool: search_targeting
A tool description tries to alter the model’s use of another tool.
valid IDs. Call estimate_audience_size to check reach before committing. Each search_tRecommendationDescriptions must describe only their own tool.
tool: list_custom_audiences
A tool description tries to alter the model’s use of another tool.
create_adset or update_adset_targeting to target or exclude these audiences: 1. list_RecommendationDescriptions must describe only their own tool.
tool: create_website_audience
A tool description tries to alter the model’s use of another tool.
: '<name>'}]) - update_adset_targeting(..., custom_audiences=[{id: '<id>', name: '<namRecommendationDescriptions must describe only their own tool.
tool: create_lookalike_audience
A tool description tries to alter the model’s use of another tool.
) Workflow: 1. list_custom_audiences(account_id) — find a seed audience 2. create_loRecommendationDescriptions must describe only their own tool.
tool: update_adset_targeting
A tool description tries to alter the model’s use of another tool.
targeting with list_adsets first. All changes are tracked with before/afteRecommendationDescriptions must describe only their own tool.
tool: create_campaign
A tool description tries to alter the model’s use of another tool.
n activate with change_entity_status(action='resume'). For most use cases, use objeRecommendationDescriptions must describe only their own tool.
tool: create_adset
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
VIEWS","VALUE","CONVERSATIONS"],"type":"string"},{"type":"null"}],"default":RecommendationRemove side-channel parameters; constrain tool inputs.
tool: create_adset
A tool description tries to alter the model’s use of another tool.
xels array from list_ad_accounts to identify the right pixel by its hosts, thenRecommendationDescriptions must describe only their own tool.
tool: get_pixel_health
A tool description tries to alter the model’s use of another tool.
xels array from list_ad_accounts provides basic info (id, name, last_fired_time)RecommendationDescriptions must describe only their own tool.
tool: list_creatives
A tool description tries to alter the model’s use of another tool.
an ad runs: 1. list_ads(account_id) — read creative.id off the ad 2. liRecommendationDescriptions must describe only their own tool.
tool: create_creative
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
in the current conversation: - a ``search_ad_images`` result (the user seRecommendationRemove side-channel parameters; constrain tool inputs.
tool: create_creative
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: create_ad
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
AuthException / token expiry: ask user to reconnect their Meta accounRecommendationRemove side-channel parameters; constrain tool inputs.
tool: create_ad
A tool description tries to alter the model’s use of another tool.
id: verify with list_adsets - 'Missing conversion domain' / subcode 2490408RecommendationDescriptions must describe only their own tool.
tool: list_lead_forms
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
. Requires the token to have ads_management + pages_show_list. ReadRecommendationRemove side-channel parameters; constrain tool inputs.
tool: list_lead_forms
A tool description tries to alter the model’s use of another tool.
is used — call list_pages first when the account has multiple Pages and yRecommendationDescriptions must describe only their own tool.
tool: get_lead_form
A tool description tries to alter the model’s use of another tool.
en_form_id from list_creatives, then call this. - Before reusing a form: confiRecommendationDescriptions must describe only their own tool.
tool: check_lead_gen_readiness
A tool description tries to alter the model’s use of another tool.
mpaign at a time: 1. A Facebook Page the account can advertise from. 2. aRecommendationDescriptions must describe only their own tool.
tool: create_lead_form_audience
A tool description tries to alter the model’s use of another tool.
o opened your form and didn't finish are the warmest audience the campaignRecommendationDescriptions must describe only their own tool.
tool: set_lead_form_status
A tool description tries to alter the model’s use of another tool.
heck first with list_creatives (read lead_gen_form_id) before archiving anythiRecommendationDescriptions must describe only their own tool.
tool: create_lead_form
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
. Requires the token to have ads_management + pages_manage_ads, andRecommendationRemove side-channel parameters; constrain tool inputs.
tool: create_lead_form
A tool description tries to alter the model’s use of another tool.
_action_type=APPLY_NOW / DOWNLOAD / GET_QUOTE / LEARN_MORE / SUBSCRIBE.RecommendationDescriptions must describe only their own tool.
tool: create_lead_form
One tool reads private data, ingests untrusted content, AND can send data outbound — the three preconditions for autonomous data theft in a single call. A prompt injection reaching this tool can exfiltrate secrets with no further step.
on label, e.g. 'Visit website'. REQUIRED for every button_type except NONE —RecommendationSplit the capabilities across separate least-privilege tools so no single tool can read secrets, read untrusted input, and reach the network at once.
tool: upload_creatives
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
the account and access token before opening the widget. If the token has expRecommendationRemove side-channel parameters; constrain tool inputs.
tool: upload_creatives
A tool description tries to alter the model’s use of another tool.
an be used with create_creative and create_ad. This tool validates the accountRecommendationDescriptions must describe only their own tool.
tool: init_upload
A tool description tries to alter the model’s use of another tool.
Prefer calling upload_creatives, which opens the widget and orchestrates the fuRecommendationDescriptions must describe only their own tool.
tool: complete_upload
A tool description tries to alter the model’s use of another tool.
Prefer calling upload_creatives, which opens the widget and orchestrates the fuRecommendationDescriptions must describe only their own tool.
tool: upload_ad_image
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
parameter "image_url"RecommendationRemove side-channel parameters; constrain tool inputs.
tool: upload_ad_image
A tool description tries to alter the model’s use of another tool.
Prefer calling upload_creatives, which opens the widget and runs the full uploaRecommendationDescriptions must describe only their own tool.
tool: upload_ad_video
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
parameter "video_url"RecommendationRemove side-channel parameters; constrain tool inputs.
tool: upload_ad_video
A tool description tries to alter the model’s use of another tool.
Prefer calling upload_creatives, which opens the widget and runs the full uploaRecommendationDescriptions must describe only their own tool.
tool: search_ad_images
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
pload`` in this conversation, the ``image_hash`` values from that response aRecommendationRemove side-channel parameters; constrain tool inputs.
tool: search_ad_images
A tool description tries to alter the model’s use of another tool.
ching by name. Multi-select workflow (recommended for multi-variant creatRecommendationDescriptions must describe only their own tool.
tool: search_ad_images
One tool reads private data, ingests untrusted content, AND can send data outbound — the three preconditions for autonomous data theft in a single call. A prompt injection reaching this tool can exfiltrate secrets with no further step.
by exact hash, fetches fresh thumbnail URLs from Meta API, then opens the asset picker widgRecommendationSplit the capabilities across separate least-privilege tools so no single tool can read secrets, read untrusted input, and reach the network at once.
tool: search_ad_videos
A tool description tries to alter the model’s use of another tool.
ds in one go 2. create_creative(account_id, creatives=[{format: 'video', video_RecommendationDescriptions must describe only their own tool.
tool: preview_existing_creatives
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
requires a Page access token. When that can't be minted, the counts come bacRecommendationRemove side-channel parameters; constrain tool inputs.
tool: preview_existing_creatives
A tool description tries to alter the model’s use of another tool.
ich starts with zero engagement). Opens a visual preview showing each creRecommendationDescriptions must describe only their own tool.
tool: list_media_assets
A tool description tries to alter the model’s use of another tool.
e image_hash 3. create_creative(account_id, creatives=[{format: 'image_link', iRecommendationDescriptions must describe only their own tool.
tool: register_media_assets
A tool description tries to alter the model’s use of another tool.
ble in an ad. ``create_creative`` accepts an ``image_hash`` only if it came froRecommendationDescriptions must describe only their own tool.
tool: list_promotable_posts
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
ok needs a Page access token (pages_manage_ads / pages_read_engagement + a PRecommendationRemove side-channel parameters; constrain tool inputs.
tool: list_promotable_posts
A tool description tries to alter the model’s use of another tool.
ad at zero. Prefer this over creating a brand-new creative when the user sRecommendationDescriptions must describe only their own tool.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
tool: list_ad_accounts
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: list_pages
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: change_entity_status
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: change_entity_budget
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: update_entity
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: duplicate_campaign
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: duplicate_adset
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: duplicate_ad
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: search_targeting
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: estimate_audience_size
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: create_website_audience
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: create_lookalike_audience
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: update_adset_targeting
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: create_campaign
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: create_adset
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: get_pixel_health
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: create_creative
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: create_ad
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: list_lead_forms
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: get_lead_form
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: check_lead_gen_readiness
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: create_lead_form_audience
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: set_lead_form_status
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: create_lead_form
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: create_lead_form
The description pairs a fetch imperative with a hardcoded external URL, letting the server relocate its real instructions off-metadata and mutate them after review. Fires only when a fetch verb and a URL co-occur, so benign documentation links do not.
aceholder link 'http://fb.me/' and embeds the form ID in call_to_action.valueRecommendationDo not direct the model to fetch and act on external URLs; treat linked content as untrusted.
tool: upload_creatives
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: init_upload
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: complete_upload
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: upload_ad_image
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: upload_ad_video
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: search_ad_images
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: search_ad_videos
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: preview_existing_creatives
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: register_media_assets
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: list_promotable_posts
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: create_creative
An unusually long description is a common injection-padding tactic.
description length 3045 charsRecommendationKeep descriptions concise.
tool: search_ad_images
An unusually long description is a common injection-padding tactic.
description length 2200 charsRecommendationKeep descriptions concise.
The server exposes one or more ui:// (MCP Apps) resources whose HTML/JS renders inside the host client — a client-side injection / data-exposure surface most scanners ignore. Flagged for review, not damning on its own.
3 ui:// resource(s); e.g. ui://adadvisor/asset-pickerRecommendationReview each ui:// resource’s markup and scripts; treat host-rendered UI as untrusted, sandbox it, and never expose secrets or conversation context to it.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.