io.github.jshorwitz/synter-ads
NPM · @SYNTERAI/MCP-SERVER · 2 COMPONENTS · SCANNED AUG 3
Manage ad campaigns across Google, Meta, LinkedIn, Reddit, TikTok, and more via AI.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security70
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects @modelcontextprotocol/sdk 0.6.1, a direct dependency. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (13 of 14), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency19
- Repository check failed: the declared repository URL redirects; it must resolve directly. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 17 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability70
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1702 tokens (~81/item across 21 items; 21 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @synterai/mcp-server
claude mcp add jshorwitz-synter-ads -- npx -y @synterai/mcp-server
codex mcp add jshorwitz-synter-ads -- npx -y @synterai/mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"jshorwitz-synter-ads": {
"type": "local",
"command": [
"npx",
"-y",
"@synterai/mcp-server"
],
"enabled": true
}
}
} openclaw mcp add jshorwitz-synter-ads --command npx --arg -y --arg @synterai/mcp-server
mcp_servers:
jshorwitz-synter-ads:
command: "npx"
args: ["-y", "@synterai/mcp-server"] {
"mcpServers": {
"jshorwitz-synter-ads": {
"command": "npx",
"args": [
"-y",
"@synterai/mcp-server"
]
}
}
} 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.
- 2 Aug 26 +20
- Known CVEs: unverified → fail ▼ security
- Provenance: fail → unverified ▼ security
- Install scripts: pass → unverified ▼ security
- Malware scan: unverified → pass ▲ security
- Maintenance: pass → unverified ▼ functional
- License: pass → unverified ▼ functional
- Dependency health: unverified → partial ▲ functional
- Stability: unverified → 0.20 ▲ functional
- Licence: MIT functional
- 1 Aug 26 −5
- Known CVEs: fail → unverified ▼ security
- Dependency health: partial → unverified ▼ functional
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −18
- Malware scan: pass → unverified ▼ security
- 28 Jul 26 +38
- CVE-2025-66414 affects this package: high ▼ security
- Known CVEs: unverified → fail ▼ security
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Tool coverage: unverified → 100 ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- License: unverified → pass ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: pass functional
- First check of Schema quality: unverified functional
- First check of Tool coverage: 100 functional
- Licence: MIT functional
- 27 Jul 26 18
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 3 Aug 2026 · Analysed npm/@synterai/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-w48q-cv73-mx4w | CVE-2025-66414 | high | yes |
Dependencies 13 packages
13 packages in the resolved dependency tree · 13 deprecated · 6 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
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.
add_keywords ~62
Add keywords to a Google Ads campaign or ad group.
| Name | Type | Req | Description |
|---|---|---|---|
| ad_group_id | string | yes | Ad group ID to add keywords to |
| keywords | array | yes | Keywords to add |
| match_type | string | — | Keyword match type (default: PHRASE) |
No output schema declared.
No examples provided.
add_negative_keywords ~56
Add negative keywords to block unwanted search terms.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign ID |
| keywords | array | yes | Negative keywords to add |
| level | string | — | Level to apply negatives (default: CAMPAIGN) |
No output schema declared.
No examples provided.
create_conversion ~76
Create a conversion action in Google Ads. Returns the conversion ID and label for GTM setup.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | Conversion category (default: LEAD) |
| name | string | yes | Name for the conversion action (e.g., 'Signup', 'Purchase') |
| value | number | — | Default conversion value in USD (optional) |
No output schema declared.
No examples provided.
create_display_campaign ~161
Create a Google Ads Display campaign with responsive display ads. Supports image uploads from URLs.
| Name | Type | Req | Description |
|---|---|---|---|
| business_name | string | yes | Business name (max 25 chars) |
| campaign_name | string | yes | Name for the campaign |
| daily_budget | number | yes | Daily budget in USD |
| descriptions | array | yes | Descriptions (1-5, max 90 chars each) |
| final_url | string | yes | Landing page URL |
| geo_targets | array | — | Geo target codes |
| headlines | array | yes | Headlines (1-5, max 30 chars each) |
| landscape_image_url | string | — | URL to 1200x628 landscape image |
| square_image_url | string | — | URL to 1200x1200 square image |
No output schema declared.
No examples provided.
create_linkedin_campaign ~105
Create a LinkedIn Ads campaign for B2B advertising.
| Name | Type | Req | Description |
|---|---|---|---|
| daily_budget | number | yes | Daily budget in USD |
| name | string | yes | Campaign name |
| objective | string | yes | Campaign objective |
| target_company_sizes | array | — | Target company sizes |
| target_industries | array | — | Target industries (LinkedIn industry codes) |
| target_job_functions | array | — | Target job functions (e.g., 'Marketing', 'Engineering', 'Sales') |
No output schema declared.
No examples provided.
create_meta_campaign ~50
Create a Meta (Facebook/Instagram) advertising campaign.
| Name | Type | Req | Description |
|---|---|---|---|
| daily_budget | number | yes | Daily budget in USD |
| name | string | yes | Campaign name |
| objective | string | yes | Campaign objective |
No output schema declared.
No examples provided.
create_pmax_campaign ~214
Create a Google Ads Performance Max campaign. Requires images, headlines, descriptions, and a business name.
| Name | Type | Req | Description |
|---|---|---|---|
| business_name | string | yes | Business name (max 25 chars) |
| campaign_name | string | yes | Name for the campaign |
| daily_budget | number | yes | Daily budget in USD |
| descriptions | array | yes | Descriptions (2-5, max 90 chars each) |
| final_url | string | yes | Landing page URL |
| geo_targets | array | — | Geo target codes |
| headlines | array | yes | Headlines (3-15, max 30 chars each) |
| landscape_image_url | string | — | URL to 1200x628 landscape image |
| logo_url | string | — | URL to square logo (min 128x128) |
| long_headline | string | yes | Long headline (max 90 chars) |
| square_image_url | string | — | URL to 1200x1200 square image |
| target_cpa | number | — | Target CPA in USD (optional) |
No output schema declared.
No examples provided.
create_reddit_campaign ~83
Create a Reddit Ads campaign for community-based advertising.
| Name | Type | Req | Description |
|---|---|---|---|
| daily_budget | number | yes | Daily budget in USD |
| interests | array | — | Interest categories to target |
| name | string | yes | Campaign name |
| objective | string | yes | Campaign objective |
| subreddits | array | — | Subreddits to target (optional - omit for interest-based targeting) |
No output schema declared.
No examples provided.
create_search_campaign ~159
Create a Google Ads Search campaign with keywords. Sets up campaign, ad group, keywords, and responsive search ads.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_name | string | yes | Name for the campaign |
| daily_budget | number | yes | Daily budget in USD |
| descriptions | array | yes | Descriptions for the responsive search ad (2-4, max 90 chars each) |
| final_url | string | yes | Landing page URL |
| geo_targets | array | — | Geo target codes (e.g., '2840' for US, '2826' for UK) |
| headlines | array | yes | Headlines for the responsive search ad (3-15, max 30 chars each) |
| keywords | array | yes | Keywords to target (will be added as phrase match) |
No output schema declared.
No examples provided.
diagnose_tracking ~44
Check if conversion tracking is properly set up on a website. Verifies gtag.js, GTM, and pixel installation.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | Website URL to check |
No output schema declared.
No examples provided.
generate_image ~90
Generate an AI image for ad creatives using Imagen 4, Flux, or Stable Diffusion.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | — | Asset name for organization |
| prompt | string | yes | Image generation prompt (be specific about style, layout, colors) |
| provider | string | — | AI provider (default: imagen) |
| size | string | — | Image dimensions (default: 1200x628 for display ads) |
No output schema declared.
No examples provided.
generate_video ~121
Generate an AI video ad using Veo, Runway, or Luma. Great for YouTube and social ads.
| Name | Type | Req | Description |
|---|---|---|---|
| concept | string | — | Video concept framework (default: pas = Problem-Agitate-Solve) |
| duration | number | — | Video duration in seconds (default: 8) |
| key_benefit | string | yes | Main value proposition |
| product_name | string | yes | Product or brand name |
| provider | string | — | AI provider (default: veo) |
| target_audience | string | — | Who is this video for? |
No output schema declared.
No examples provided.
get_daily_spend ~50
Get daily spend breakdown across all connected ad accounts.
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | — | Number of days to look back (default: 7) |
| platform | string | — | Filter by platform (optional) |
No output schema declared.
No examples provided.
get_performance ~75
Get performance metrics (impressions, clicks, spend, conversions, ROAS) for campaigns.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | — | Filter by specific campaign ID (optional) |
| date_range | string | — | Date range for metrics (default: LAST_7_DAYS) |
| platform | string | — | Filter by platform (optional) |
No output schema declared.
No examples provided.
list_ad_accounts ~17
List all connected ad accounts across platforms.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_campaigns ~76
List all campaigns across connected ad platforms. Returns campaign name, status, budget, and performance metrics.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Maximum number of campaigns to return (default: 50) |
| platform | string | — | Filter by platform (optional - lists all if not specified) |
| status | string | — | Filter by campaign status |
No output schema declared.
No examples provided.
list_conversions ~18
List all conversion actions configured in Google Ads.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
pause_campaign ~43
Pause a campaign by ID. Works across all connected platforms.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign ID (platform-specific format) |
| platform | string | yes | Ad platform |
No output schema declared.
No examples provided.
run_tool ~95
Run any Synter tool by name. Use this for advanced operations not covered by other tools. See docs.syntermedia.ai for full tool list.
| Name | Type | Req | Description |
|---|---|---|---|
| args | array | — | Arguments to pass to the tool |
| platform | string | — | Platform for OAuth credentials (google, meta, linkedin, etc.) |
| script_name | string | yes | Name of the tool to run (e.g., 'google_ads_list_audiences') |
No output schema declared.
No examples provided.
update_campaign_budget ~49
Update the daily budget for a campaign.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign_id | string | yes | Campaign ID |
| daily_budget | number | yes | New daily budget in USD |
| platform | string | yes | Ad platform |
No output schema declared.
No examples provided.
upload_image ~58
Upload an image as an asset for use in ads.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_name | string | yes | Name for the asset |
| image_url | string | yes | URL of the image to upload |
| platform | string | — | Target platform (default: google) |
No output schema declared.
No examples provided.