# PlainRouter Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## PlainRouter

Inspect ad account health and first-party signal quality, then propose policy-gated optimizations for Meta ads.

- Record: https://musedirectory.ai/connector/plainrouter
- Category: Marketing & Ads
- Developer: PlainRouter (https://plainrouter.com)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 1988ms, checked 2026-09-28T09:00:55Z
- Endpoint: https://plainrouter.com/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-09-24T01:51:15Z)
- Source: Found in the official MCP Registry (com.plainrouter/mcp) https://registry.modelcontextprotocol.io/v0/servers?search=com.plainrouter%2Fmcp

Connects to Meta advertising accounts to diagnose event flow, match quality, and reconciliation gaps. Lets marketers review performance data, verify signal ingestion, propose budget or creative changes, and manage the approval workflow, all subject to workspace policies.

Example request: "Show me the health of my first-party conversion tracking over the last 30 days and suggest any creative tests I should run."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use PlainRouter to help me. It is a free service with an MCP server at https://plainrouter.com/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- get_account_state: Return the authorized advertising account, workspace, connection, Signal destination, and currently available read-only capabilities.
- get_signal_health: 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.
- get_performance: Admissible proposal evidence comparing Meta-reported conversions with gateway-verified accepted conversions, plus the latest 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 
- verify_signal_ingestion: 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.
- propose-actions: Propose a batch of budget, status, upload, or creative-duplication actions for the approved ad account. In this release, canonical pause, resume, increase_budget, and decrease_budget action types execute only after a person approves the batch. Workspace policy can block a change 
- dry_run_actions: Preview policy decisions and execution diffs for a proposed Action batch without writing it.
- list_actions: List proposed actions for the authorized workspace and advertising account.
- get_action_batch: Get a proposed action batch for the authorized workspace and advertising account.
- get_action: Get one proposed action for the authorized workspace and advertising account.
- get_action_decision_receipt: Get the persisted decision receipt for an authorized proposed action.
- get_action_policy: Get the effective Actions policy for the authorized workspace without creating a policy row.
- get-creative-library: Return Meta image and video assets with the ads and last-30-day performance historically associated with each asset.
- launch.creatives.index: List creatives in the workspace bound to the authenticated execution token.
- launch.creatives.show: Show one creative in the workspace bound to the authenticated execution token.
- launch.creatives.store: Store one JPEG, PNG, MP4, or QuickTime creative from strict base64 content in the token-bound workspace.
- launch.creatives.store-from-url: Fetch and store one creative from a vetted HTTPS URL in the token-bound workspace.
- launch.creatives.status: Set the status of one creative in the workspace bound to the authenticated execution token.
- upload-asset: Stage a JPEG/PNG image and submit a canonical upload action through the policy and approval gate.
- duplicate-ad-with-creative: Submit a canonical proposal to duplicate a source Meta ad with a different creative asset. Approved copies are always created PAUSED.
- launch.plans.execute: Execute one deployment plan in the workspace and ad account bound to the execution token; all provider mutations are proposed through Actions.
- launch.plans.show: Read one deployment plan and its latest launch-intent status in the workspace and ad account bound to the execution token.
- launch.plans.list: List deployment plans for the approved ad account.
- launch.plans.create: Create a deployment plan for the approved ad account.
- launch.plans.update: Update a deployment plan for the approved ad account.
- launch.plans.validate: Validate a deployment plan for the approved ad account.
- show_spend_cap_approval: Render the static spend-cap approval preview card. Reads and writes nothing.
- revoke_grant: 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.
- get_install_instructions: Return managed-hostname Path A installation material and first-arrival state for the authorized workspace. Returns no same-origin forwarding material.
- get_arrivals_comparison: Return counted arrivals beside Meta outbound clicks for the authorized workspace and selected trailing window. 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.

Screening checks:
- MCP handshake: pass (Answered in 350ms)
- Domain against threat feeds (Cloudflare security DNS): pass (plainrouter.com not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (17 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
