accueil / serveurs / Cloud & Infra / com.plainrouter/mcp
com.plainrouter/mcp
serveur MCP (Model Context Protocol) · Plainrouter 0.4.1
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.plainrouter/mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.plainrouter/mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 51 outils
- actions.rules.create≈ 528 tokens
Store a performance rule disabled. Enabling requires an explicit update; this never evaluates or proposes actions.
Paramètres, retour & exemple (6)
Paramètresname· string · requislimit· integer · optionnel
Maximum latest revisions; current_revision is always returned separately.cursor· string · optionnel
Read older revisions using rule.next_cursor. Continue through actions.rules.show to avoid another write.definition· object · requis
Both arrivals and cost conditions must hold over the last 3 complete days in the account timezone. Supply the complete definition when editing.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.platform_ad_account_id· integer · requis
Exemple d'appel{"name": "actions.rules.create", "arguments": {"name": "texte", "definition": {}, "platform_ad_account_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - actions.rules.list≈ 193 tokens
List stored performance rules available to this workspace key. This does not evaluate them.
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnelcursor· string · optionnel
Continue using rules.next_cursor; use actions.rules.show for detail.per_page· integer · optionnelworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "actions.rules.list", "arguments": {"page": 1, "cursor": "texte", "per_page": 1, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - actions.rules.show≈ 292 tokens
Read a stored performance rule and its immutable revisions, with author type only.
Paramètres, retour & exemple (6)
Paramètreslimit· integer · optionnel
Maximum latest revisions; current_revision is always returned separately.cursor· string · optionnel
Read older revisions using rule.next_cursor. Continue through actions.rules.show to avoid another write.run_id· string · optionnel
Read decisions for one run belonging to this rule.rule_id· string · requis
The action rule ID.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.decisions_cursor· string · optionnel
Continue decisions using runs[].next_cursor; requires run_id.
Exemple d'appel{"name": "actions.rules.show", "arguments": {"rule_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - actions.rules.update≈ 561 tokens
Edit a stored performance rule by appending a revision, or explicitly enable or disable it. This never evaluates or proposes actions.
Paramètres, retour & exemple (7)
Paramètresname· string · optionnellimit· integer · optionnel
Maximum latest revisions; current_revision is always returned separately.cursor· string · optionnel
Read older revisions using rule.next_cursor. Continue through actions.rules.show to avoid another write.enabled· boolean · optionnel
Explicitly enable or disable the stored rule.rule_id· string · requis
The action rule ID.definition· object · optionnel
Both arrivals and cost conditions must hold over the last 3 complete days in the account timezone. Supply the complete definition when editing.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "actions.rules.update", "arguments": {"rule_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - actions.tests.create≈ 678 tokens
Create a judging-only Test from 2 to 4 ads in one mirrored Meta ad set. Omit the conversion choice to freeze the workspace default. It records a PlainRouter verdict and never creates a proposal or writes to Meta.
Paramètres, retour & exemple (11)
Paramètresaxis· string · requis · hook | angle | visual | offer | format | landingad_set_id· string · requisevent_name· string|null · optionnel
Optional observed conversion choice. Omit for the workspace default; legacy singular requests remain supported.maximum_days· integer · optionnelworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.member_ad_ids· array · requisarrivals_floor· integer · optionnelconversion_mode· string · optionnel · workspace_default | explicit
Omit to freeze the workspace default; an explicit event_name always preserves that choice.maximum_spend_minor· string|null · optionnel
Optional positive whole number of Meta minor units in the selected account currency, using the same unit scale as Launch plan budget_amount_minor; the string form supports up to 18 digits.minimum_conversions· integer · optionnelplatform_ad_account_id· integer · requis
Exemple d'appel{"name": "actions.tests.create", "arguments": {"axis": "hook", "ad_set_id": "texte", "member_ad_ids": [], "platform_ad_account_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"test": {}}} - actions.tests.list≈ 433 tokens
List judging Tests with their frozen conversion definitions, loser pause candidate status and reason, and observed conversion event choices for the authorized workspace and ad account. Results rank variants only within each Test.
Paramètres, retour & exemple (3)
Paramètrespage· integer · optionnelper_page· integer · optionnelworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "actions.tests.list", "arguments": {"page": 1, "per_page": 1, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"tests": {}, "observed_conversion_events": [], "observed_conversion_events_available": true}} - actions.tests.show≈ 801 tokens
Read one Test, its frozen conversion definition, stored verdict facts, and loser pause candidate status and reason. Spend per recorded conversion compares variants only within this Test.
Paramètres, retour & exemple (2)
Paramètrestest_id· string · requis
The Test ID.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "actions.tests.show", "arguments": {"test_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"test": {}}} - dry_run_actions≈ 2943 tokens
Preview policy decisions and execution diffs for a proposed Action batch without writing it.
Paramètres, retour & exemple (9)
Paramètreslimit· integer · optionnel
Maximum complete result actions; the shared JSON byte budget can return fewer.cursor· integer · optionnel
Continue using next_cursor. Read saved proposal actions with get_action_batch to avoid another write; dry runs repeat the same inputs.actions· array · requisevidence· array · requisrationale· string · requisaccount_id· integer · optionnelworkspace_id· integer · optionneltarget_source· string · requis · human_suppliedidempotency_key· string · requis
Exemple d'appel{"name": "dry_run_actions", "arguments": {"actions": [], "evidence": [], "rationale": "texte", "target_source": "human_supplied", "idempotency_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - duplicate-ad-with-creative≈ 389 tokens
Submit a canonical proposal to duplicate a source Meta ad with a different creative asset. In Ask mode every change waits for your approval; in Full mode, changes that pass admission and workspace policy run automatically. Policy-allowed copies are always created PAUSED.
Paramètres, retour & exemple (7)
Paramètresasset_id· string · requis
Asset ID returned by upload-asset or get-creative-library.rationale· string · requis
Why this new creative variant should be created.source_ad· string · requis
Numeric Meta ID of the ad to duplicate.account_id· integer · optionnel
Advertising account ID. Required when the workspace has more than one active account.name_suffix· string · optionnel
Optional suffix for the copied ad name.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.idempotency_key· string · requis
Stable key reused when retrying this duplicate proposal.
Exemple d'appel{"name": "duplicate-ad-with-creative", "arguments": {"asset_id": "texte", "rationale": "texte", "source_ad": "texte", "idempotency_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get-creative-library≈ 404 tokens
Return Meta image and video assets with the ads and last-30-day performance historically associated with each asset.
Paramètres, retour & exemple (8)
Paramètreslimit· integer · optionnel
Maximum assets requested per type; capped at 10 and the projection byte budget. Use pagination to continue.cursor· string · optionnel
Opaque Meta cursor returned by a previous call.ads_limit· integer · optionnel
Associated ads per asset, also capped at 30 across the requested asset pages.account_id· integer · optionnel
Advertising account ID. Required when the workspace has more than one active account.ads_cursor· integer · optionnel
Continue associated ads using performance.next_cursor, keeping the asset page arguments.asset_type· string · optionnel · all | image | video
Limit results to images or videos. Defaults to all.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.performance_cursor· string · optionnel
Continue the provider performance scan using performance_pagination.next_cursor.
Exemple d'appel{"name": "get-creative-library", "arguments": {"limit": 1, "cursor": "texte", "ads_limit": 1, "account_id": 1, "ads_cursor": 1, "asset_type": "all"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_account_inventory≈ 388 tokens
Read the authorized workspace account inventory from the Meta mirror, with optional level, status, parent, and ID cursor filters.
Paramètres, retour & exemple (8)
Paramètreslevel· string · optionnel · campaign | adset | ad
Limit results to campaign, adset, or ad objects.limit· integer · optionnel
Maximum complete objects, from 1 to 200; defaults to 25 and may return fewer to fit the JSON budget. Account summary totals are present on every page.adset_id· string · optionnel
Filter to objects under this parent ad set ID.after_id· integer · optionnel
Database ID cursor from the previous page; continue with its last object ID.account_id· integer · requis
Advertising account ID available to the authorized workspace.campaign_id· string · optionnel
Filter to objects under this parent campaign ID.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.effective_status· string · optionnel
Filter by Meta effective status, such as ACTIVE, PAUSED, or ARCHIVED.
Exemple d'appel{"name": "get_account_inventory", "arguments": {"account_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_account_state≈ 206 tokens
Return the authorized advertising account, workspace, connection, Signal destination, and currently available account capabilities. This read-only inspection tool does not change the account.
Paramètres, retour & exemple (2)
Paramètresaccount_id· integer · optionnel
Advertising account ID. Signals reads use the workspace Meta destination when omitted; other tools may require an ID when multiple accounts are active.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_account_state", "arguments": {"account_id": 1, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_action≈ 2170 tokens
Get one proposed action for the authorized workspace and advertising account. counted_evidence contains frozen target figures and coverage captured at proposal time; null means not captured. The figures inform and never gate.
Paramètres, retour & exemple (3)
Paramètresaction_id· string · requisaccount_id· integer · optionnel
Advertising account ID. Signals reads use the workspace Meta destination when omitted; other tools may require an ID when multiple accounts are active.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_action", "arguments": {"action_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}}} - get_action_batch≈ 2346 tokens
Get a proposed action batch for the authorized workspace and advertising account. Each action’s counted_evidence contains frozen proposal-time target figures and coverage; null means not captured.
Paramètres, retour & exemple (5)
Paramètreslimit· integer · optionnelcursor· integer · optionnel
Continue using next_cursor with the same account and filters.batch_id· string · requisaccount_id· integer · optionnel
Advertising account ID. Signals reads use the workspace Meta destination when omitted; other tools may require an ID when multiple accounts are active.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_action_batch", "arguments": {"batch_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}}} - get_action_decision_receipt≈ 1031 tokens
Get the persisted decision receipt for an authorized proposed action. Version 3 receipts include counted_evidence frozen at proposal time with account-currency values, coverage and the other-currency exclusion. Existing receipts are unchanged.
Paramètres, retour & exemple (3)
Paramètresaction_id· string · requisaccount_id· integer · optionnel
Advertising account ID. Signals reads use the workspace Meta destination when omitted; other tools may require an ID when multiple accounts are active.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_action_decision_receipt", "arguments": {"action_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"document": {}, "chain_entry": {}, "disposition": {}, "document_sha256": "texte"}} - get_action_policy≈ 181 tokens
Get the effective Actions policy for the authorized workspace without creating a policy row.
Paramètres, retour & exemple (2)
Paramètresaccount_id· integer · optionnel
Advertising account ID. Signals reads use the workspace Meta destination when omitted; other tools may require an ID when multiple accounts are active.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_action_policy", "arguments": {"account_id": 1, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_arrivals_comparison≈ 372 tokens
Return counted arrivals beside Meta outbound clicks for the authorized workspace and selected trailing window. The conversions block counts retained logical events under the current workspace conversion choices and publishes its selection version, completed local-day period, and availability. The purchases block shows Meta-reported Purchase counts under the account attribution setting beside Plainrouter accepted server-side Purchase counts, with its completed account-local window end date and no purchase gap or status. Days before 2026-06-29, or not re-read by the daily sync since 2026-09-27, may still hold Meta link clicks or all clicks. basis_note explains how the two counts differ.
Paramètres, retour & exemple (3)
Paramètresdays· integer · optionnel · 7 | 30 | 90
Trailing window in days. One of 7, 30, 90.months· integer · optionnel · 12
Trailing window of 12 calendar months, in place of days. Offered only where the workspace plan keeps that history and the workspace is set to keep it.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_arrivals_comparison", "arguments": {"days": 7, "months": 12, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_cac_by_channel≈ 462 tokens
Read stored ad spend and PlainRouter-earned conversions by channel, with cost per earned conversion by currency. Meta claims are shown separately from earned conversions. Spend and conversion dates are aligned; touch time does not move spend between days. basis_note explains how the two counts differ.
Paramètres, retour & exemple (7)
Paramètresto· string · optionnel
Inclusive end of the conversion window. Defaults to the current time.from· string · optionnel
Inclusive beginning of the conversion window. Defaults to 30 days before the end time.level· string · optionnel · platform | campaign_id | ad_set_id | ad_id | utm_source | utm_medium | utm_campaign
Channel dimension used for per-channel rows. The broadest level, platform, is the default.model· string · optionnel · position_based | first | last | linear
Journey credit model used for earned conversions.lookback· integer · optionnel · 7 | 30 | 60 | 90
Maximum time between a touch and conversion, in days.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.conversion_kind· string · optionnel · subscribed | purchase | trial_started
One conversion stage to count. Trial starts are reported separately from subscriptions.
Exemple d'appel{"name": "get_cac_by_channel", "arguments": {"to": "texte", "from": "texte", "level": "platform", "model": "position_based", "lookback": 7, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_consent_rates≈ 171 tokens
Read recorded consent rates and recent consent receipts for the requested authorized workspace. Rates cover the retained period and split Analytics and Marketing grants by day, country, language, and banner version. This tool does not change data or call advertising APIs.
Paramètres, retour & exemple (1)
Paramètresworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_consent_rates", "arguments": {"workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_conversion_journeys≈ 556 tokens
Read credited conversion journeys for an authorized workspace. Earned is counted by PlainRouter from its own journeys; claimed is reported by Meta. The two are shown side by side and are never reconciled. The output carries no PlainRouter person or visitor identifiers. UTM labels and ad ids appear exactly as the merchant's links sent them. basis_note explains how the two counts differ.
Paramètres, retour & exemple (9)
Paramètresto· string · optionnel
Inclusive end of the journey window. Defaults to the current time.from· string · optionnel
Inclusive beginning of the journey window. Defaults to 30 days before the end time.level· string · optionnel · platform | campaign_id | ad_set_id | ad_id | utm_source | utm_medium | utm_campaign
Channel dimension used for per-channel rows. The broadest level, platform, is the default.limit· integer · optionnel
Maximum credited journeys per page.model· string · optionnel · position_based | first | last | linear
Journey credit model.cursor· string · optionnel
Continue the journey page using next_cursor from the previous response.lookback· integer · optionnel · 7 | 30 | 60 | 90
Maximum time between a touch and conversion, in days.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.conversion_kinds· array · optionnel
Conversion kinds to count; defaults to subscribed and one-off purchase conversions.
Exemple d'appel{"name": "get_conversion_journeys", "arguments": {"to": "texte", "from": "texte", "level": "platform", "limit": 1, "model": "position_based", "cursor": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_cookie_scan≈ 212 tokens
Read the latest pre-consent cookie scan for the authorized workspace. Blocked and failed scans report findings as unavailable, never as a clean result. When bot protection blocks the start page, allowlist the PlainRouterScanner user agent before retrying.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnelcursor· integer · optionnel
Continue using next_cursor in the same workspace.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_cookie_scan", "arguments": {"limit": 1, "cursor": 1, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_install_instructions≈ 158 tokens
Return managed-hostname Path A installation material and first-arrival state for the authorized workspace. Includes ordered SaaS setup steps and owner handoffs. Returns no same-origin forwarding material.
Paramètres, retour & exemple (1)
Paramètresworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_install_instructions", "arguments": {"workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_inventory_metrics≈ 443 tokens
Read daily Meta metrics beside counted PlainRouter arrivals for mirrored campaigns, ad sets and ads. object_metrics contains account-timezone daily comparisons; unmatched_arrivals is one workspace/window count without unknown IDs. Counts are null when the arrivals store is disabled. Optional change history is retention-clamped.
Paramètres, retour & exemple (10)
Paramètresad_id· string · optionnel
Limit metrics to this ad ID.limit· integer · optionnel
Maximum rows per collection; byte budgets may return fewer.cursor· string · optionnel
Continue all three collections using next_cursor with the same filters and include_changes.adset_id· string · optionnel
Limit metrics to this ad set ID.end_date· string · optionnel
Inclusive end date in YYYY-MM-DD format.account_id· integer · requis
Advertising account ID available to the authorized workspace.start_date· string · optionnel
Inclusive start date in YYYY-MM-DD format.campaign_id· string · optionnel
Limit metrics to this campaign ID.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.include_changes· boolean · optionnel
Include object change history within the effective date window.
Exemple d'appel{"name": "get_inventory_metrics", "arguments": {"account_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_performance≈ 366 tokens
Admissible proposal evidence: reconciliation meta_reported is the existing Meta-reported conversions count compared with gateway_verified accepted conversions. The separate purchases block shows Meta-reported Purchase counts under the account attribution setting beside Plainrouter accepted server-side Purchase counts, with its completed account-local window start and end dates and no purchase gap or status. Includes stored daily Meta spend and delivery metrics. platform_claimed_clicks means Meta outbound clicks. Days before 2026-06-29, or not re-read by the daily sync since 2026-09-27, may still hold Meta link clicks or all clicks. purchases.basis_note explains how the two counts differ.
Paramètres, retour & exemple (3)
Paramètresdays· integer · optionnel
Number of reporting days to compare, from 1 to 90.account_id· integer · optionnel
Advertising account ID. Signals reads use the workspace Meta destination when omitted; other tools may require an ID when multiple accounts are active.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_performance", "arguments": {"days": 1, "account_id": 1, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_render≈ 130 tokens
Inspect a workspace render and its draft output creative ids.
Paramètres, retour & exemple (2)
Paramètresrender_id· string · requisworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_render", "arguments": {"render_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_signal_health≈ 308 tokens
Diagnostic view of first-party event flow, Meta delivery outcomes, match quality, and reconciliation gaps from Plainrouter stored measurements. Not admissible evidence for spend-affecting proposals. Does not call the Marketing API.
Paramètres, retour & exemple (4)
Paramètresdays· integer · optionnel · 7 | 30 | 90
Trailing window in days. One of 7, 30, 90.months· integer · optionnel · 12
Trailing window of 12 calendar months, in place of days. Offered only where the workspace plan keeps that history and the workspace is set to keep it.account_id· integer · optionnel
Advertising account ID. Signals reads use the workspace Meta destination when omitted; other tools may require an ID when multiple accounts are active.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "get_signal_health", "arguments": {"days": 7, "months": 12, "account_id": 1, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_signal_quality≈ 306 tokens
Read stored conversion delivery outcomes, delivery gaps, retained identity presence, and journey coverage for an authorized workspace. The response uses stored data only and does not call advertising APIs.
Paramètres, retour & exemple (4)
Paramètresto· string · optionnel
Inclusive end of the conversion window. Defaults to the current time.from· string · optionnel
Inclusive beginning of the conversion window. Defaults to 30 days before the end time.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.conversion_kinds· array · optionnel
Conversion kinds to include; defaults to trial_started and subscribed.
Exemple d'appel{"name": "get_signal_quality", "arguments": {"to": "texte", "from": "texte", "workspace_id": 1, "conversion_kinds": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - launch.creatives.index≈ 204 tokens
List creatives in the workspace bound to the authenticated execution token.
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnelcursor· integer · optionnel
Continue using creatives.next_cursor in the same workspace.per_page· integer · optionnel
Number of creatives to return per page.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "launch.creatives.index", "arguments": {"page": 1, "cursor": 1, "per_page": 1, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - launch.creatives.show≈ 160 tokens
Show one creative in the workspace bound to the authenticated execution token.
Paramètres, retour & exemple (2)
Paramètrescreative_id· string · requis
ULID of the creative to show.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "launch.creatives.show", "arguments": {"creative_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - launch.creatives.status≈ 198 tokens
Set the status of one creative in the workspace bound to the authenticated execution token.
Paramètres, retour & exemple (3)
Paramètresstatus· string · requis · draft | approved | retired
Target creative status.creative_id· string · requis
ULID of the creative to update.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "launch.creatives.status", "arguments": {"status": "draft", "creative_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - launch.creatives.store≈ 429 tokens
Store one JPEG, PNG, MP4, or QuickTime creative from strict base64 content in the token-bound workspace. When supplying output from an outside tool, set tags.generator, tags.generator_job and, for a variation, tags.parent_creative. PlainRouter’s own creative tools will set these tags on every creative they make; images enter the library by upload or launch.creatives.store-from-url.
Paramètres, retour & exemple (5)
Paramètrestags· object · optionnel
Optional flat map of up to 32 string tags, including reserved provenance keys. For output from an outside tool set generator (lowercase slug, 1-64 letters, digits or hyphens), generator_job (1-255 printable characters), and parent_creative for a variation (the API id of an existing creative in this workspace). Invalid reserved values return creative_provenance_invalid. Valid values are stored unchanged.mime_type· string|null · optionnel
Optional caller label accepted only for compatibility and ignored; creative type is derived from the bytes.source_ref· string|null · optionnel
Optional caller-supplied source reference.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.content_base64· string · requis
Strict standard base64 creative content, decoded to at most 5 MiB.
Exemple d'appel{"name": "launch.creatives.store", "arguments": {"content_base64": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - launch.creatives.store-from-url≈ 377 tokens
Fetch and store one creative from a vetted HTTPS URL in the token-bound workspace. When supplying output from an outside tool, set tags.generator, tags.generator_job and, for a variation, tags.parent_creative. PlainRouter’s own creative tools will set these tags on every creative they make; images enter the library by upload or launch.creatives.store-from-url.
Paramètres, retour & exemple (4)
Paramètresurl· string · requis
HTTPS URL of the creative to fetch.tags· object · optionnel
Optional flat map of up to 32 string tags, including reserved provenance keys. For output from an outside tool set generator (lowercase slug, 1-64 letters, digits or hyphens), generator_job (1-255 printable characters), and parent_creative for a variation (the API id of an existing creative in this workspace). Invalid reserved values return creative_provenance_invalid. Valid values are stored unchanged.source_ref· string|null · optionnel
Optional caller-supplied source reference.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "launch.creatives.store-from-url", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - launch.plans.copy≈ 248 tokens
Copy a failed plan to a new draft with the same content. Validate and submit the draft afresh; the failed plan and its history stay unchanged.
Paramètres, retour & exemple (2)
Paramètresplan_id· string · requis
The deployment plan ID.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "launch.plans.copy", "arguments": {"plan_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"plan": {}}} - launch.plans.create≈ 632 tokens
Create a deployment plan for the approved ad account.
Paramètres, retour & exemple (17)
Paramètrescopy· object · requisname· string|null · optionnelcurrency· string · requisplatform· string · requis · google | meta | microsoftad_set_ref· string|null · optionnelad_set_spec· object|null · optionnelbudget_type· string · requis · daily | lifetimecampaign_ref· string|null · optionnelcreative_ids· array · optionnellanding_page· string · requisworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.campaign_spec· object|null · optionnelutm_policy_name· string|null · optionnelcreative_overrides· array · optionnelnaming_policy_name· string|null · optionnelbudget_amount_minor· integer · requisplatform_ad_account_id· integer · requis
Exemple d'appel{"name": "launch.plans.create", "arguments": {"copy": {}, "currency": "texte", "platform": "google", "budget_type": "daily", "landing_page": "texte", "budget_amount_minor": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"plan": {}}} - launch.plans.execute≈ 549 tokens
Execute one deployment plan in the workspace and ad account bound to the execution token; requires the review_version returned by the plan read you acted on. Changed plans are refused before any intent or staging; identical intent_key and review_version retries replay. All provider mutations are proposed through Actions.
Paramètres, retour & exemple (4)
Paramètresplan_id· string · requis
The deployment plan ID.intent_key· string|null · optionnel
An optional idempotency key for this execution.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.review_version· string · requis
The review_version from the plan read you acted on. Reload and review if the plan changed.
Exemple d'appel{"name": "launch.plans.execute", "arguments": {"plan_id": "texte", "review_version": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"intent": {}}} - launch.plans.list≈ 300 tokens
List deployment plans for the approved ad account, including each current review_version to pass when executing the reviewed plan.
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnelcursor· integer · optionnel
Continue using plans.next_cursor with the same account.per_page· integer|string · optionnelworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "launch.plans.list", "arguments": {"page": 1, "cursor": 1, "per_page": 1, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"plans": {}}} - launch.plans.show≈ 642 tokens
Read one deployment plan and its current review_version and latest launch-intent status in the workspace and ad account bound to the execution token.
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionnelcursor· integer · optionnel
Continue plan creatives using plan.next_cursor.plan_id· string · requis
The deployment plan ID.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "launch.plans.show", "arguments": {"plan_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"plan": {}}} - launch.plans.update≈ 635 tokens
Update a deployment plan for the approved ad account.
Paramètres, retour & exemple (18)
Paramètrescopy· object · optionnelname· string|null · optionnelplan_id· string · requis
The deployment plan ID.currency· string · optionnelplatform· string · optionnel · google | meta | microsoftad_set_ref· string|null · optionnelad_set_spec· object|null · optionnelbudget_type· string · optionnel · daily | lifetimecampaign_ref· string|null · optionnelcreative_ids· array · optionnellanding_page· string · optionnelworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.campaign_spec· object|null · optionnelutm_policy_name· string|null · optionnelcreative_overrides· array · optionnelnaming_policy_name· string|null · optionnelbudget_amount_minor· integer · optionnelplatform_ad_account_id· integer · optionnel
Exemple d'appel{"name": "launch.plans.update", "arguments": {"plan_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"plan": {}}} - launch.plans.validate≈ 223 tokens
Validate a deployment plan for the approved ad account.
Paramètres, retour & exemple (2)
Paramètresplan_id· string · requis
The deployment plan ID.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "launch.plans.validate", "arguments": {"plan_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"plan": {}}} - list_actions≈ 2262 tokens
List proposed actions for the authorized workspace and advertising account.
Paramètres, retour & exemple (6)
Paramètrespage· integer · optionnellimit· integer · optionnelcursor· integer · optionnel
Continue using next_cursor with the same account and filters.status· string · optionnel · pending | approved_without_execution | rejected | executing | executed_pending_verification | compensating | measuring | verifiedaccount_id· integer · optionnel
Advertising account ID. Signals reads use the workspace Meta destination when omitted; other tools may require an ID when multiple accounts are active.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "list_actions", "arguments": {"page": 1, "limit": 1, "cursor": 1, "status": "pending", "account_id": 1, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": [], "meta": {}}} - list_creatives≈ 243 tokens
List workspace creative metadata and Library provenance. Images are available only through preview_creatives.
Paramètres, retour & exemple (5)
Paramètreskind· string · optionnel · generated | rendered | uploaded
Filter by the Library provenance kind.cursor· string · optionnel
The next_cursor returned by the previous page; keep the same filters.status· string · optionnel · draft | approved | retiredper_page· integer · optionnel
Number of matching creatives per page; defaults to 25.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "list_creatives", "arguments": {"kind": "generated", "cursor": "texte", "status": "draft", "per_page": 1, "workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_templates≈ 130 tokens
List the available versioned ad templates, usage descriptions, the default choice, copy slots and supported sizes.
Paramètres, retour & exemple (1)
Paramètresworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "list_templates", "arguments": {"workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_workspaces≈ 145 tokens
List the workspaces and effective access tiers in this credential scope.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnel
Maximum workspaces; the projection budget may return fewer.cursor· integer · optionnel
Continue using next_cursor in this credential scope.
Exemple d'appel{"name": "list_workspaces", "arguments": {"limit": 1, "cursor": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - preview_creatives≈ 178 tokens
Show workspace creatives to a person in the Creative Preview app. Missing derivatives return pending and queue a bounded build. Originals and image bytes are never returned.
Paramètres, retour & exemple (2)
Paramètrescreative_ids· array · requisworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "preview_creatives", "arguments": {"creative_ids": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - propose-actions≈ 3144 tokens
Propose a batch of budget, status, upload, or creative-duplication actions for the approved ad account. In Ask, every policy-allowed change waits for a person to approve it. In Full, policy-allowed changes run automatically. Rule violations are blocked and shown in the Inbox, and cannot be approved. The execution kill switch stops further writes and never undoes a landed change. Dispatch still requires a live grant, an account in the workspace, and no duplicate write. Legacy set_status and adjust_budget never run. Meta target proposals freeze counted_evidence over the last seven completed account-local days for display only. Evidence may cite get_inventory_metrics leaf fields for the proposed target: Meta inline link clicks, counted arrivals and Purchase count/value at that target’s own level. Spend, impressions, child-object rows, containers, ratios and other action types are refused.
Paramètres, retour & exemple (9)
Paramètreslimit· integer · optionnel
Maximum complete result actions; the shared JSON byte budget can return fewer.cursor· integer · optionnel
Continue using next_cursor. Read saved proposal actions with get_action_batch to avoid another write; dry runs repeat the same inputs.actions· array · requisevidence· array · requisrationale· string · requisaccount_id· integer · optionnelworkspace_id· integer · optionneltarget_source· string · requis · human_suppliedidempotency_key· string · requis
Exemple d'appel{"name": "propose-actions", "arguments": {"actions": [], "evidence": [], "rationale": "texte", "target_source": "human_supplied", "idempotency_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - render_ad≈ 299 tokens
Render ad copy over an image already in the workspace library using a template id and version, selected sizes, and a required request_key.
Paramètres, retour & exemple (7)
Paramètrescopy· object · requissizes· array · requisrequest_key· string · requistemplate_id· string · requisworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.template_version· integer · optionnel
Omit to use the latest published version.background_creative_id· string · requis
Exemple d'appel{"name": "render_ad", "arguments": {"copy": {}, "sizes": [], "request_key": "texte", "template_id": "texte", "background_creative_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resume_render≈ 139 tokens
Inspect a workspace render and resume only a held run. Running states return inspect guidance.
Paramètres, retour & exemple (2)
Paramètresrender_id· string · requisworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "resume_render", "arguments": {"render_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - revoke_grant≈ 174 tokens
Revoke an active workspace grant. The caller must hold the revoke_grant scope in the same workspace or be the human delegator of the granted agent.
Paramètres, retour & exemple (2)
Paramètresgrant_id· string · requis
The ULID of the grant to revoke.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "revoke_grant", "arguments": {"grant_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - submit_feedback≈ 190 tokens
Report a bug or a missing capability you hit while using this server. Say what you were trying to do and what happened. Nothing in the account changes and no reply is sent here.
Paramètres, retour & exemple (3)
Paramètreskind· string · requis · bug | missing_capability | othermessage· string · requisworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "submit_feedback", "arguments": {"kind": "bug", "message": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - upload-asset≈ 410 tokens
Stage a JPEG/PNG image and submit a canonical upload action through workspace policy. In Ask mode every change waits for your approval; in Full mode, changes that pass admission and workspace policy run automatically.
Paramètres, retour & exemple (7)
Paramètresfilename· string · requis
Bare filename with a matching .jpg, .jpeg, or .png extension, such as spring-hero.jpg. Path separators are rejected: send a name, not a path. The asset is never written to a filesystem path built from this value.rationale· string · requis
Why this asset should be added to the creative library.account_id· integer · optionnel
Advertising account ID. Required when the workspace has more than one active account.asset_type· string · requis · image
The creative asset type. M2 supports images only.workspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.content_base64· string · optionnel
Raw base64 content for image uploads. Do not use a data URI prefix.idempotency_key· string · requis
Stable key reused when retrying this upload proposal.
Exemple d'appel{"name": "upload-asset", "arguments": {"filename": "texte", "rationale": "texte", "asset_type": "image", "idempotency_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - verify_signal_ingestion≈ 166 tokens
Verify server-side Signal ingestion by writing one idempotent, identity-free modeled event for the authorized workspace. This confirms ledger receipt but does not count as real arrival evidence or complete onboarding. No spend capability.
Paramètres, retour & exemple (1)
Paramètresworkspace_id· integer · optionnel
Workspace ID returned by list_workspaces. Required when this credential reaches multiple workspaces.
Exemple d'appel{"name": "verify_signal_ingestion", "arguments": {"workspace_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».