io.github.Synter-Media-AI/synter-ads
REMOTE · MCP.SYNTERMEDIA.AI · 2 COMPONENTS · SCANNED OCT 7
Reporting across 19 ad platforms, campaign creation on 14, write actions on 16, via AI.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security89
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability0
- Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http. See how to fix → View diagnostics → Unverified
Schema Quality & AI Usability0
- Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
- Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
- Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified
Unverified: 6 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.
How do I install the io.github.Synter-Media-AI/synter-ads MCP server?
io.github.Synter-Media-AI/synter-ads is a hosted endpoint at https://mcp.syntermedia.ai/mcp/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.syntermedia.ai
claude mcp add --transport http synter-media-ai-synter-ads 'https://mcp.syntermedia.ai/mcp/'
{
"mcpServers": {
"synter-media-ai-synter-ads": {
"url": "https://mcp.syntermedia.ai/mcp/"
}
}
} {
"servers": {
"synter-media-ai-synter-ads": {
"type": "http",
"url": "https://mcp.syntermedia.ai/mcp/"
}
}
} [mcp_servers.synter-media-ai-synter-ads] url = "https://mcp.syntermedia.ai/mcp/"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"synter-media-ai-synter-ads": {
"type": "remote",
"url": "https://mcp.syntermedia.ai/mcp/",
"enabled": true
}
}
} openclaw mcp add synter-media-ai-synter-ads --url 'https://mcp.syntermedia.ai/mcp/' --transport streamable-http
mcp_servers:
synter-media-ai-synter-ads:
url: "https://mcp.syntermedia.ai/mcp/" {
"McpServers": {
"synter-media-ai-synter-ads": {
"Transport": "http",
"Url": "https://mcp.syntermedia.ai/mcp/"
}
}
} assistant mcp add synter-media-ai-synter-ads -t streamable-http -u 'https://mcp.syntermedia.ai/mcp/'
{
"mcpServers": {
"synter-media-ai-synter-ads": {
"type": "http",
"url": "https://mcp.syntermedia.ai/mcp/"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Oct 26 −36
- Endpoint reachability: reachable → behind authorisation ▼ security
- Tool safety: pass → unverified ▼ security
- Transport: pass → unverified ▼ security
- Authorization: The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 2 Oct 26 72
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 7 Oct 2026 · Probed https://mcp.syntermedia.ai/mcp/
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.syntermedia.ai | CN=YR1,O=Let's Encrypt,C=US | 23 Aug 2026 | 21 Nov 2026 | RSA 2048 | SHA256-RSA | 5dbc93cd9d736000581fea3bd7546081504 |
| SANs: mcp.syntermedia.ai | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.syntermedia.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 3799 | 8 | Verified |
| syntermedia.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On connection |
| HTTP status | 401 |
WWW-Authenticate challenge Bearer error="invalid_token", resource_metadata="https://mcp.syntermedia.ai/.well-known/oauth-protected-resource", scope="tools:read tools:write"
Bearer error="invalid_token", resource_metadata="https://mcp.syntermedia.ai/.well-known/oauth-protected-resource", scope="tools:read tools:write" | Header | Value |
|---|---|
| www-authenticate | Bearer error="invalid_token", resource_metadata="https://mcp.syntermedia.ai/.well-known/oauth-protected-resource", scope="tools:read tools:write" |
Protected resource metadata
| Document | https://mcp.syntermedia.ai/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.syntermedia.ai |
| Authorisation server | https://mcp.syntermedia.ai |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.syntermedia.ai/mcp/ | Auth required | 401 | |
| http (plaintext) | http://mcp.syntermedia.ai/mcp/ | HTTPS enforced | 301 | https://mcp.syntermedia.ai/mcp/ |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
synter_signal_audience_export Synter Signal Audience Export ~129
Purchase a bounded Synter Signals audience as CSV after refining traits. Requires an explicit max_rows (1-100000) and stable purchase_id for safe retries. The complete file is delivered only after settlement at the posted audience-record rate ($150 CPM / 6 credits per delivered record), plus the 5-credit call fee. [effect=write; scope=audiences:write; externalMutation=true]
| Name | Type | Req | Description |
|---|---|---|---|
| domains | – | – | – |
| entity_type | string | – | – |
| expression | string | yes | – |
| max_rows | integer | yes | – |
| purchase_id | string | yes | – |
No output schema declared.
No examples provided.
synter_signal_entity_relations Synter Signal Entity Relations ~87
Traverse Synter Signals relationships from an entity — e.g. person to employer. Use it to span person and business criteria in one audience (executives AT companies matching a firmographic filter). Bills per related entity returned. [effect=read; scope=signals:read]
| Name | Type | Req | Description |
|---|---|---|---|
| entity_id | string | yes | – |
| limit | integer | – | – |
| relation | – | – | – |
No output schema declared.
No examples provided.
synter_signal_entity_resolve Synter Signal Entity Resolve ~75
Resolve identifiers you already hold (emails, phones, device ids) to Synter Signals entity IDs. Identity resolution, not discovery. Bills per resolved entity. US only, adults only. [effect=read; scope=signals:read]
| Name | Type | Req | Description |
|---|---|---|---|
| entity_type | string | – | – |
| identifiers | array | yes | – |
No output schema declared.
No examples provided.
synter_signal_trait_search Synter Signal Trait Search ~108
Search Synter Signals for TRAITS — the attributes you can build an audience from (behaviours, affinities, firmographics). Returns trait descriptors with sizes, not people. Start here, refine the traits, then use synter_signal_audience_export for approval-gated CSV delivery. US only, adults only. [effect=read; scope=signals:read]
| Name | Type | Req | Description |
|---|---|---|---|
| entity_type | string | – | – |
| limit | integer | – | – |
| query | string | yes | – |
No output schema declared.
No examples provided.
tech_intel_company_to_url Tech Intel Company To URL ~42
Resolve company names to candidate website domains. (2 credits) [effect=read; scope=intel:read]
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | yes | – |
No output schema declared.
No examples provided.
tech_intel_get_account_usage Tech Intel Get Account Usage ~37
Synter technology-intelligence availability and usage snapshot. (2 credits) [effect=read; scope=intel:read]
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tech_intel_get_domain_keywords Tech Intel Get Domain Keywords ~42
Find keywords associated with a website domain. (2 credits) [effect=read; scope=intel:read]
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
No output schema declared.
No examples provided.
tech_intel_get_domain_technologies Tech Intel Get Domain Technologies ~83
Synter domain tech-stack lookup — ad pixels, CRM, analytics, CMS/ecommerce tools, spend/meta. (2 credits) [effect=read; scope=intel:read]
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
| include_raw | boolean | – | – |
| include_trust | boolean | – | – |
| live_only | boolean | – | – |
No output schema declared.
No examples provided.
tech_intel_get_sites Tech Intel Get Sites ~109
Find websites by technology, natural-language audience, or keyword search. (2 credits) [effect=read; scope=intel:read]
| Name | Type | Req | Description |
|---|---|---|---|
| commit | boolean | – | – |
| countries | – | – | – |
| employees | – | – | – |
| include_meta | boolean | – | – |
| keyword | – | – | – |
| limit | integer | – | – |
| offset | – | – | – |
| other_techs | – | – | – |
| query | – | – | – |
| revenue | – | – | – |
| spend | – | – | – |
| tech | – | – | – |
No output schema declared.
No examples provided.
tech_intel_get_technology_changes Tech Intel Get Technology Changes ~55
Recent technology additions/removals for domains, with business context. (2 credits) [effect=read; scope=intel:read]
| Name | Type | Req | Description |
|---|---|---|---|
| domains | array | yes | – |
| since | string | – | – |
No output schema declared.
No examples provided.
tech_intel_get_trust_signals Tech Intel Get Trust Signals ~53
Synter domain trust, ecommerce/payment, parked/status, spend and live-tech signals. (2 credits) [effect=read; scope=intel:read]
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | – |
No output schema declared.
No examples provided.
tech_intel_product_search Tech Intel Product Search ~58
Find ecommerce shops and product listings matching a product query. (2 credits) [effect=read; scope=intel:read]
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| page | integer | – | – |
| query | string | yes | – |
No output schema declared.
No examples provided.
test_creatives Test Creatives ~68
Start or check a multi-armed bandit creative experiment using Thompson sampling (40 credits) [effect=write; scope=creative:generate]
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | – |
| campaign_id | string | yes | – |
| platform | string | yes | – |
| reward_metric | string | – | – |
No output schema declared.
No examples provided.
tiktok_ads_get_ad_groups TikTok Ads Get Ad Groups ~70
List all TikTok ad groups, optionally filtered by campaign (free). Returns ID, name, status, budget, bid, optimization goal. [effect=read; scope=campaigns:read]
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| account_name | – | – | – |
| campaign_id | – | – | – |
No output schema declared.
No examples provided.
tiktok_ads_get_adgroup TikTok Ads Get Ad Group ~76
Get full TikTok ad group configuration (free). Returns targeting, budget, bid, pixel, optimization goal, languages, locations, age groups, identity. [effect=read; scope=campaigns:read]
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| account_name | – | – | – |
| adgroup_id | string | yes | – |
No output schema declared.
No examples provided.
tiktok_ads_get_ads TikTok Ads Get Ads ~75
List all TikTok ads, optionally filtered by ad group (free). Returns ad_id, ad_name, adgroup_id, campaign_id, status, ad_format. [effect=read; scope=campaigns:read]
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| account_name | – | – | – |
| adgroup_id | – | – | – |
No output schema declared.
No examples provided.
tiktok_ads_get_campaign TikTok Ads Get Campaign ~65
Get full TikTok campaign configuration by ID (free). Returns name, objective, budget, status, timestamps. [effect=read; scope=campaigns:read]
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| account_name | – | – | – |
| campaign_id | string | yes | – |
No output schema declared.
No examples provided.
tiktok_ads_get_insights TikTok Ads Get Insights ~93
Get TikTok Ads performance report with video metrics (2 credits). Returns spend, impressions, clicks, CTR, conversions, CPA, ROAS, and TikTok-specific video engagement metrics per campaign/adgroup/ad. [effect=read; scope=reporting:read]
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| account_name | – | – | – |
| data_level | string | – | – |
| days | integer | – | – |
No output schema declared.
No examples provided.
tiktok_ads_update_adgroup TikTok Ads Update Ad Group ~155
Update a TikTok ad group: status, budget, locations, age targeting, bid, languages, audiences, optimization goal, pixel tracking (5 credits) [effect=write; scope=campaigns:write; externalMutation=true]
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| account_name | – | – | – |
| adgroup_id | string | yes | – |
| age_max | – | – | – |
| age_min | – | – | – |
| audience_ids | – | – | – |
| bid | – | – | – |
| bid_type | – | – | – |
| budget | – | – | – |
| conversion_event | – | – | – |
| excluded_audience_ids | – | – | – |
| languages | – | – | – |
| locations | – | – | – |
| optimization_goal | – | – | – |
| pixel_id | – | – | – |
| status | – | – | – |
No output schema declared.
No examples provided.
update_autonomous_schedule Update Autonomous Schedule ~156
Update an existing autonomous agent schedule: change its cadence (cron), name/description (where the agent's rules live), approval mode, notify channels, end date — or apply a lifecycle action (stop, freeze, resume, skip_next, run_now). Only the fields you pass change. Use list_autonomous_schedules to find the schedule id. [effect=write; scope=automation:write]
| Name | Type | Req | Description |
|---|---|---|---|
| action | – | – | – |
| approval_mode | – | – | – |
| cron_expression | – | – | – |
| description | – | – | – |
| ends_at | – | – | – |
| name | – | – | – |
| notify_channels | – | – | – |
| notify_on_completion | – | – | – |
| organization_id | – | – | – |
| platform | – | – | – |
| schedule_id | string | yes | – |
No output schema declared.
No examples provided.
update_campaign_budget Update Campaign Budget ~97
Update a campaign's daily budget (5 credits). DV360 is intentionally excluded because insertion orders use time-bound total budget segments; use dv360_update_io_budget directly with explicit total-budget semantics. [effect=write; scope=budget:write; externalMutation=true]
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| account_name | – | – | – |
| campaign_id | string | yes | – |
| daily_budget | number | yes | – |
| platform | string | yes | – |
No output schema declared.
No examples provided.
update_embed Update Embed ~78
Update a workspace-owned native Synter embed. [effect=write; scope=landing_pages:write]
| Name | Type | Req | Description |
|---|---|---|---|
| allowed_origins | – | – | – |
| commerce_connection_id | – | – | – |
| config | – | – | – |
| embed_id | string | yes | – |
| field_mappings | – | – | – |
| fields | – | – | – |
| name | – | – | – |
| published | – | – | – |
No output schema declared.
No examples provided.
update_google_sheet Update Google Sheet ~81
Write values (e.g. campaign IDs / status / spend) back into a range of an existing Google Sheet (2 credits) [effect=write; scope=workspace:external_docs]
| Name | Type | Req | Description |
|---|---|---|---|
| range | string | yes | – |
| spreadsheet_id | – | – | – |
| url | – | – | – |
| value_input_option | string | – | – |
| values | string | yes | – |
No output schema declared.
No examples provided.
update_gtm_tag Update GTM Tag ~228
Pause/unpause a GTM tag of ANY type, replace its HTML body, or set its parameters — including the conversion VALUE (set_param conversionValue on a Google Ads tag, set_event_param value on a GA4 event tag). MODIFIES LIVE SITE TRACKING once published or when publish=true is passed. Use this (not update_gtm_tag_html) for non-HTML tags like Google Ads/Meta/LinkedIn conversion tags — e.g. pausing a duplicate conversion tag. Pausing a conversion tag (awct/gclidw/sp/gaawe, or a name matching conversion/signup/purchase/lead) requires i_checked_conversion_volume=true or the underlying script refuses — see its parameter description. [effect=write; scope=tracking:write; externalMutation=true]
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| container_id | – | – | – |
| html | – | – | – |
| i_checked_conversion_volume | boolean | – | – |
| pause | – | – | – |
| publish | boolean | – | – |
| set_event_param | – | – | – |
| set_param | – | – | – |
| tag_id | string | yes | – |
No output schema declared.
No examples provided.
update_gtm_tag_html Update GTM Tag HTML ~101
Replace the HTML body of an existing GTM Custom HTML tag. MODIFIES LIVE SITE TRACKING once the container is published. Only type 'html' tags are allowed; the change stays in the workspace until publish_gtm_container runs. [effect=write; scope=tracking:write; externalMutation=true]
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| container_id | – | – | – |
| html | string | yes | – |
| tag_id | string | yes | – |
No output schema declared.
No examples provided.
update_landing_page_html Update Landing Page HTML ~104
Update the HTML content of an existing landing page you own without AI regeneration (free edit). Use this to patch copy, add logos, or tweak layout after reviewing a draft. If the slug does not exist yet, this creates a new hosted page and is billed like create_landing_page; forecast_tool_cost has the live rate. [effect=write; scope=landing_pages:write]
| Name | Type | Req | Description |
|---|---|---|---|
| html_content | string | yes | – |
| slug | string | yes | – |
No output schema declared.
No examples provided.
update_landing_page_tracking Update Landing Page Tracking ~147
Set workspace-owned landing-page pixels, GA4, and the Google Ads conversion label, and wire a Fillout embed so form submits count as campaign conversions using the existing workspace integrations. Free edit of a page you own. Returns google_send_to plus a Fillout webhook URL. [effect=write; scope=landing_pages:write]
| Name | Type | Req | Description |
|---|---|---|---|
| fillout_form_id | – | – | – |
| ga4_measurement_id | – | – | – |
| google_conversion_label | – | – | – |
| google_pixel_id | – | – | – |
| linkedin_pixel_id | – | – | – |
| meta_pixel_id | – | – | – |
| reddit_pixel_id | – | – | – |
| rotate_webhook_token | boolean | – | – |
| slug | string | yes | – |
No output schema declared.
No examples provided.
update_verified_page_replica Update Verified Page Replica ~52
Get status, verify, or revoke source ownership for a verified page replica. [effect=write; scope=landing_pages:write]
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | – |
| slug | string | yes | – |
No output schema declared.
No examples provided.
upload_creative Upload Creative ~119
Upload a generated creative asset to an ad platform and attach it to a campaign (5 credits) [effect=publish; scope=creative:publish; requires=campaignPublishing; externalMutation=true]
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| ad_group_id | – | – | – |
| asset_type | string | – | – |
| asset_url | string | yes | – |
| campaign_id | string | yes | – |
| description | – | – | – |
| form_id | – | – | – |
| headline | – | – | – |
| landing_url | – | – | – |
| name | – | – | – |
| platform | string | yes | – |
No output schema declared.
No examples provided.
upload_landing_page_html Upload Landing Page HTML ~142
Upload raw HTML as a new landing-page draft (no AI generation). Use to import an exported .html file or hand-written markup (embedded forms, Cal.com embeds, thank-you pages all supported). Then publish_landing_page and attach it to an ad campaign. Creating a new hosted page is billed like create_landing_page (forecast_tool_cost has the live rate); re-uploading to a slug you already own is a free edit. [effect=publish; scope=landing_pages:publish; requires=campaignPublishing; externalMutation=true]
| Name | Type | Req | Description |
|---|---|---|---|
| html_content | string | yes | – |
| slug | string | – | – |
| title | string | – | – |
No output schema declared.
No examples provided.
upsert_plan_entity Upsert Plan Entity ~121
Add or update an entity (campaign, ad, tweet, go_link, etc.) within a campaign plan. [effect=write; scope=campaigns:plan; externalMutation=true]
| Name | Type | Req | Description |
|---|---|---|---|
| desired_state | string | – | – |
| entity_type | string | yes | – |
| logical_key | string | yes | – |
| metadata_json | – | – | – |
| parent_logical_key | – | – | – |
| plan_id | string | yes | – |
| platform | string | yes | – |
| provider_account_id | – | – | – |
| remote_id | – | – | – |
| remote_ref_json | – | – | – |
No output schema declared.
No examples provided.
validate_organic_post Validate Organic Post ~76
Run a non-publishing provider capability preflight for the exact immutable revision, tenant, connection, provider config, LinkedIn member/company destination, token, and effective scopes. [effect=write; scope=social:write; requires=campaignPublishing]
| Name | Type | Req | Description |
|---|---|---|---|
| post_id | integer | yes | – |
| revision_hash | string | yes | – |
No output schema declared.
No examples provided.
verify_custom_domain Verify Custom Domain ~47
Check if DNS is configured for a landing page's custom domain. Free — no credits charged. [effect=read; scope=landing_pages:read]
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | – |
No output schema declared.
No examples provided.
verify_pixel_ownership Verify Pixel Ownership ~89
Cross-validate that the pixel/tag IDs on a landing page belong to the connected ad account. Detects wrong-pixel installs, domain registration gaps, and CAPI mismatches. Free — no credits. [effect=read; scope=tracking:read]
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | – | – | – |
| page_pixel_id | – | – | – |
| platform | string | yes | – |
| url | string | yes | – |
No output schema declared.
No examples provided.
verify_platform_accounts Verify Platform Accounts ~87
Verify which ad account each platform's pull tools would use by default, with recent activity per connected account. Flags when the default account is dormant while a sibling account has spend (free). Call this before pull_*_performance when a platform has multiple accounts or returns suspicious zeros. [effect=read; scope=connections:read]
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | – |
| platform | – | – | – |
No output schema declared.
No examples provided.
What is the io.github.Synter-Media-AI/synter-ads MCP server?
io.github.Synter-Media-AI/synter-ads is an MCP server listed in the public MCP registry as io.github.Synter-Media-AI/synter-ads. Reporting across 19 ad platforms, campaign creation on 14, write actions on 16, via AI. This page covers its hosted endpoint (https://mcp.syntermedia.ai/mcp/).
Is the io.github.Synter-Media-AI/synter-ads MCP server safe to use?
io.github.Synter-Media-AI/synter-ads scores 36 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.Synter-Media-AI/synter-ads MCP server expose?
io.github.Synter-Media-AI/synter-ads exposes 235 tools: get_organic_publishing_readiness, draft_organic_post, validate_organic_post, approve_organic_post, schedule_organic_post, and 230 more. Their descriptions and schemas cost roughly 25,044 tokens of context every time the server is loaded.
Does the io.github.Synter-Media-AI/synter-ads MCP server require authentication?
Yes. io.github.Synter-Media-AI/synter-ads asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the io.github.Synter-Media-AI/synter-ads MCP server still maintained?
io.github.Synter-Media-AI/synter-ads is still listed as active in the MCP registry. We last reached this channel on 7 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.