Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Mutator

REMOTE · MUTATOR.APP · SCANNED OCT 2

Build and test short-form marketing automations from your agent. Nothing it does can post.

Available components

39 Trust /100
Trust breakdown (7 categories)

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 Security97
Transport & Reachability0
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.

Install

How do I install the Mutator MCP server?

Mutator is a hosted endpoint at https://mutator.app/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 · mutator.app

# add to Claude Code
claude mcp add --transport http app-mutator-mutator 'https://mutator.app/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "app-mutator-mutator": {
      "url": "https://mutator.app/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "app-mutator-mutator": {
      "type": "http",
      "url": "https://mutator.app/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.app-mutator-mutator]
url = "https://mutator.app/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-mutator-mutator": {
      "type": "remote",
      "url": "https://mutator.app/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add app-mutator-mutator --url 'https://mutator.app/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  app-mutator-mutator:
    url: "https://mutator.app/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "app-mutator-mutator": {
      "Transport": "http",
      "Url": "https://mutator.app/mcp"
    }
  }
}
# add to Vellum
assistant mcp add app-mutator-mutator -t streamable-http -u 'https://mutator.app/mcp'
// mcp.json
{
  "mcpServers": {
    "app-mutator-mutator": {
      "type": "http",
      "url": "https://mutator.app/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

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 Oct 26 +1
    • Authorization: partial → pass ▲ security
  • 28 Sept 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
  • 27 Sept 26 +2
    • Endpoint reachability: reachable → behind authorisation ▼ security
    • Transport: unverified → pass ▲ security
    • Injection markers: unverified → pass ▲ security
    • Authorization: fail → pass ▲ security
    • First check of Authorization: partial security
    • First check of Judged manipulation: pass security
    • Authorization: Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token. security
    • MCP protocol: unverified → fail ▼ functional
    • Tool coverage: unverified → 100 ▲ functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Destructive annotations: pass functional
    • First check of Schema quality: fail functional
    • First check of Tool coverage: 80 functional
  • 26 Sept 26 36

    First indexed and scored.

Diagnostics

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 2 Oct 2026 · Probed https://mutator.app/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mutator.app CN=YR2,O=Let's Encrypt,C=US 14 Aug 2026 12 Nov 2026 RSA 2048 SHA256-RSA 5fb04976dfda4dafe27b8184ceadbdd3d65
SANs: mutator.app
CN=YR2,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA 4ebd24947e24d394802d84a52fd5b319
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 mutator.app. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
app. present 23684 8 Verified
mutator.app. 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 resource_metadata="https://mutator.app/.well-known/oauth-protected-resource/mcp", scope="read write"

Bearer resource_metadata="https://mutator.app/.well-known/oauth-protected-resource/mcp", scope="read write"
Header Value
strict-transport-security max-age=31536000
content-security-policy default-src 'self'; script-src 'self' 'nonce-a5d6d858c6d3409e85b004a3e1665b44' https://challenges.cloudflare.com https://static.ads-twitter.com https://www.googletagmanager.com https://www.googleadservices.com https://www.google.com https://connect.facebook.net; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https://*.cdninstagram.com https://*.fbcdn.net https://*.tiktokcdn.com https://*.tiktokcdn-us.com https://yt3.ggpht.com https://*.googleusercontent.com https://api.producthunt.com https://786fff8771b5747e860d3d0551328692.r2.cloudflarestorage.com https://t.co https://analytics.twitter.com https://www.googletagmanager.com https://www.googleadservices.com https://googleads.g.doubleclick.net https://pagead2.googlesyndication.com https://www.google.com https://ad.doubleclick.net https://www.facebook.com https://connect.facebook.net; media-src 'self' data: blob: https://786fff8771b5747e860d3d0551328692.r2.cloudflarestorage.com; font-src 'self'; connect-src 'self' https://786fff8771b5747e860d3d0551
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(), interest-cohort=()
www-authenticate Bearer resource_metadata="https://mutator.app/.well-known/oauth-protected-resource/mcp", scope="read write"

Protected resource metadata

Document https://mutator.app/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://mutator.app/mcp
Authorisation server https://mutator.app

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mutator.app/mcp Auth required 401
http (plaintext) http://mutator.app/mcp HTTPS enforced 301 https://mutator.app/mcp
MCP tools · 16 exposed · ~1,583 tokens

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 →

Tool Tokens
mutator_create_automation ~168

Create a new automation as a DRAFT, optionally with its steps already wired. It is never activated and never runs: a draft has no active version, the scheduler only fires active automations, and nothing here can activate one. The person opens it, reads it, and turns it on. An invalid graph is still saved — the problems come back as `issues` for you to fix and save again, rather than the whole call failing. Report what you built and what is left to decide; do not describe it as live.

NameTypeReqDescription
brandIdstringyesFrom mutator_list_brands.
descriptionstring––
graphobject–Optional. The steps and their connections. Omit to create an empty draft.
namestringyes–

No output schema declared.

No examples provided.

mutator_get_analytics ~58

Read how published content performed over a window of days — the same report the dashboard shows. Use it to answer what worked and to suggest what to run next.

NameTypeReqDescription
daysinteger–Window in days. Defaults to 30.

No output schema declared.

No examples provided.

mutator_get_automation ~68

Read one automation in detail: status, its schedule if it has one, and its own spending limits. Use it before starting a run to check the automation is active and what a run may cost.

NameTypeReqDescription
automationIdstringyesAutomation id from mutator_list_automations.

No output schema declared.

No examples provided.

mutator_get_run ~69

Read one run with its per-step detail, so a failure can be traced to the step that caused it. Runs are asynchronous: a run still marked running has not finished, so poll rather than assume.

NameTypeReqDescription
runIdstringyesRun id, as returned by mutator_start_run.

No output schema declared.

No examples provided.

mutator_get_spend_limits ~75

Report the workspace's daily and monthly spending ceilings and how much of each is already committed. Generation runs on Mutator's own accounts and is paid for in credits, and the ceilings still apply, so check this before starting anything that generates — a run that would pass a ceiling is refused before any provider is contacted.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

mutator_list_approvals ~82

Always empty. Approvals were removed on 20 September 2026: a run publishes nothing, and a post is made by a person picking a file, an account and a time in Mutator. Tell the person that, rather than reporting an empty queue as if something were wrong. Use mutator_get_run to report what a run made.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

mutator_list_automations ~49

List every automation in the workspace with its id, name and status (draft, active or paused). Start here when the user refers to an automation by name and you need its id.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

mutator_list_brands ~64

List the brands in the workspace. Every automation belongs to one, so this is the first call when creating anything: mutator_create_automation needs a brandId from here. The brand carries the voice an automation writes in — audience, tone, call to action.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

mutator_list_connections ~90

List the accounts and providers this workspace has connected, with the id a publishing step needs. A publish step points at a connection, not at a platform name — there is no 'post to TikTok' field, only 'post to this account, which happens to be TikTok'. Read this before wiring one, because a publish step with no connection is refused at activation rather than saved and forgotten.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

mutator_list_formats ~136

The content formats this product actually knows, and the niches they suit. Use one of these when building — do not invent a format. There is no trend, virality or discovery data anywhere in Mutator: nothing here knows what is performing on any platform this week, and a niche only ORDERS this list, it never filters it. If a user asks for 'viral formats in my niche', these are the formats, ordered by fit, and the word viral is not something this tool can stand behind.

NameTypeReqDescription
nichestring–Optional niche id to order the list by fit. Formats that suit no niche still appear.

No output schema declared.

No examples provided.

mutator_list_runs ~85

List recent runs of one automation, newest first, with status, whether each was a dry run, and what it cost. Use it to answer 'did it work' and 'what did it cost'.

NameTypeReqDescription
automationIdstringyesAutomation id from mutator_list_automations.
limitinteger–How many runs to return. Defaults to 10.

No output schema declared.

No examples provided.

mutator_list_step_types ~80

The complete vocabulary of steps, with the settings each one takes. An automation is a graph of these joined by edges. Read this before building one: the step list is closed, and a graph naming a type that is not here is refused. Most settings have defaults, so a step can usually be sent with an empty config and still run.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

mutator_save_automation_graph ~95

Replace an automation's steps with the ones given, saved as a DRAFT. An active automation keeps running its current version until a person activates the draft, so editing something live is safe. Problems come back as `issues` rather than failing the call — read them and save a corrected graph.

NameTypeReqDescription
automationIdstringyesAutomation id from mutator_list_automations.
graphobjectyes–

No output schema declared.

No examples provided.

mutator_set_schedule ~189

Set when an automation would run, saved switched OFF. Turning a schedule on requires an already-active automation, so this can only ever prepare one — the settings survive until a person activates it. A schedule runs an automation AT MOST ONCE A DAY: it holds a single time, and frequency chooses which days rather than how many times within one. Two posts a day is not a schedule setting: it is one daily run producing two items, with maxPostsPerDay on the publishing step.

NameTypeReqDescription
automationIdstringyesAutomation id from mutator_list_automations.
frequencystringyes–
timeOfDaystringyes24-hour local time, "HH:mm".
timezonestringyesIANA zone, e.g. "America/New_York".
weekdaysarray–ISO weekdays, Monday is 1. Used by weekly and custom.

No output schema declared.

No examples provided.

mutator_start_run ~227

Start a run of an automation. Defaults to a DRY RUN, which skips publishing but not generation: it makes the same paid generation calls a real run makes, costs the same credits or provider charges, and counts against the same spend limits. So start one only when the user wants a run, and leave it dry unless they have asked for a real run in this conversation. A real run still publishes nothing on its own: anything it generates goes to the workspace's library, and is posted only when a person schedules it in Mutator. Requires an idempotencyKey; replaying the same value returns the original run instead of starting a second one, so retry with the same key rather than a new one.

NameTypeReqDescription
automationIdstringyesAutomation id from mutator_list_automations.
dryRunboolean–Defaults to true. Pass false only when the user has explicitly asked for a real run.
idempotencyKeystringyesYour own key for this attempt, 8-80 characters. Reuse it verbatim when retrying.

No output schema declared.

No examples provided.

mutator_whoami ~48

Confirm the API key works and report which Mutator workspace it reaches and what it may do. Call this first when the connection is new or a later call fails with an authorization error.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Common questions

What is the Mutator MCP server?

Mutator is an MCP server listed in the public MCP registry as app.mutator/mutator. Build and test short-form marketing automations from your agent. Nothing it does can post. This page covers its hosted endpoint (https://mutator.app/mcp).

Is the Mutator MCP server safe to use?

Mutator scores 39 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 Mutator MCP server expose?

Mutator exposes 16 tools: mutator_whoami, mutator_list_automations, mutator_get_automation, mutator_list_runs, mutator_get_run, and 11 more. Their descriptions and schemas cost roughly 1,583 tokens of context every time the server is loaded.

Does the Mutator MCP server require authentication?

Yes. Mutator 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 Mutator MCP server still maintained?

Mutator is still listed as active in the MCP registry. We last reached this channel on 2 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.