Plainrouter is a remote MCP server that gives an AI agent 13 tools, among them duplicate-ad-with-creative, get-creative-library, get_account_state. It answers at https://plainrouter.com/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 5 September 2026; the last check, on 18 October 2026, succeeded.
Inspect an approved ad account and first-party signal health, then propose policy-gated actions.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
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. Inputs: source_ad, asset_id, rationale, name_suffix, idempotency_key |
get-creative-library | Return Meta image and video assets with the ads and last-30-day performance historically associated with each asset. Inputs: asset_type, limit, cursor |
get_account_state | Return the authorized advertising account, workspace, connection, Signal destination, and currently available read-only capabilities. |
get_performance | Admissible proposal evidence comparing Meta-reported conversions with gateway-verified accepted conversions from stored daily reconciliation reports. Inputs: days |
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. |
launcher.batch_status | Read the bounded status projection of one Launch batch in the workspace and ad account bound to the execution token. Inputs: batch_id |
launcher.draft_batch | Create a Launch draft batch from already-synced Drive assets in the workspace and ad account bound to the execution token. Inputs: source_adset_id, source_ad_id, mode, folder_to_adset, grouping_enabled, items |
launcher.execute_batch | Enter execution for one Launch batch in the workspace and ad account bound to the execution token; every mutation is proposed through Actions. Inputs: batch_id |
launcher.preview_batch | Run the authoritative Launch gate preview checkpoint over one batch in the workspace and ad account bound to the execution token. Inputs: batch_id |
propose-actions | Propose a batch of budget, status, upload, or creative-duplication actions for the approved ad account. Every proposal passes the workspace policy gate; suggest-only approval never executes it. Inputs: actions, rationale, idempotency_key, evidence, target_source |
show_spend_cap_approval | Render the static spend-cap approval preview card. Reads and writes nothing. |
upload-asset | Stage a JPEG/PNG image and submit a canonical upload action through the policy and approval gate. Inputs: asset_type, filename, content_base64, rationale, idempotency_key |
verify_signal_ingestion | Verify end-to-end server-side Signal ingestion for onboarding activation. Writes one idempotent, identity-free verification event for the authorized workspace Signal and confirms ledger receipt. No spend capability. |
Every block below points at https://plainrouter.com/mcp. Pick your client and copy.
claude mcp add --transport http plainrouter https://plainrouter.com/mcp
{
"mcpServers": {
"plainrouter": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://plainrouter.com/mcp"]
}
}
}{
"mcpServers": {
"plainrouter": {
"url": "https://plainrouter.com/mcp"
}
}
}{
"servers": {
"plainrouter": {
"type": "http",
"url": "https://plainrouter.com/mcp"
}
}
}{
"context_servers": {
"plainrouter": {
"url": "https://plainrouter.com/mcp"
}
}
}{
"mcpServers": {
"plainrouter": {
"serverUrl": "https://plainrouter.com/mcp"
}
}
}{
"mcpServers": {
"plainrouter": {
"url": "https://plainrouter.com/mcp"
}
}
}name: Plainrouter
version: 0.0.1
schema: v1
mcpServers:
- name: Plainrouter
type: streamable-http
url: https://plainrouter.com/mcp{
"mcpServers": {
"plainrouter": {
"httpUrl": "https://plainrouter.com/mcp"
}
}
}{
"mcpServers": {
"plainrouter": {
"type": "http",
"url": "https://plainrouter.com/mcp"
}
}
}{
"mcpServers": {
"plainrouter": {
"url": "https://plainrouter.com/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fplainrouter.com%2Fmcp&type=streamable_http&id=plainrouter&name=Plainrouter
It answered our last check on 18 October 2026 in 411 ms. Over 10 checks since 5 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by plainrouter.com and served from plainrouter.com, the vendor's own domain: https://plainrouter.com/mcp.
13, as returned by the server's own tools/list on 31 August 2026: duplicate-ad-with-creative, get-creative-library, get_account_state, get_performance, get_signal_health, launcher.batch_status, launcher.draft_batch, launcher.execute_batch, and 5 more.
It answered our last check on 18 October 2026 in 411 ms. Over 10 checks since 5 September 2026 it answered 10.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://plainrouter.com/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: com.plainrouter. Endpoint host: plainrouter.com. ARD identifier: urn:air:com.plainrouter:mcp:mcp.
First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.