Mutator
REMOTE · MUTATOR.APP · SCANNED OCT 2
Build and test short-form marketing automations from your agent. Nothing it does can post.
Available components
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
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability0
- Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http. See how to fix → View diagnostics → Unverified
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.
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
claude mcp add --transport http app-mutator-mutator 'https://mutator.app/mcp'
{
"mcpServers": {
"app-mutator-mutator": {
"url": "https://mutator.app/mcp"
}
}
} {
"servers": {
"app-mutator-mutator": {
"type": "http",
"url": "https://mutator.app/mcp"
}
}
} [mcp_servers.app-mutator-mutator] url = "https://mutator.app/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"app-mutator-mutator": {
"type": "remote",
"url": "https://mutator.app/mcp",
"enabled": true
}
}
} openclaw mcp add app-mutator-mutator --url 'https://mutator.app/mcp' --transport streamable-http
mcp_servers:
app-mutator-mutator:
url: "https://mutator.app/mcp" {
"McpServers": {
"app-mutator-mutator": {
"Transport": "http",
"Url": "https://mutator.app/mcp"
}
}
} assistant mcp add app-mutator-mutator -t streamable-http -u 'https://mutator.app/mcp'
{
"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.
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.
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 |
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 →
mutator_create_automation Create a draft 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.
| Name | Type | Req | Description |
|---|---|---|---|
| brandId | string | yes | From mutator_list_brands. |
| description | string | – | – |
| graph | object | – | Optional. The steps and their connections. Omit to create an empty draft. |
| name | string | yes | – |
No output schema declared.
No examples provided.
mutator_get_analytics Get performance ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | Window in days. Defaults to 30. |
No output schema declared.
No examples provided.
mutator_get_automation Get one 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.
| Name | Type | Req | Description |
|---|---|---|---|
| automationId | string | yes | Automation id from mutator_list_automations. |
No output schema declared.
No examples provided.
mutator_get_run Get one 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.
| Name | Type | Req | Description |
|---|---|---|---|
| runId | string | yes | Run id, as returned by mutator_start_run. |
No output schema declared.
No examples provided.
mutator_get_spend_limits Get spending 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 List what is waiting for approval (nothing, since 20 September 2026) ~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 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 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 List connected accounts ~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 List content 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.
| Name | Type | Req | Description |
|---|---|---|---|
| niche | string | – | 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 List recent 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'.
| Name | Type | Req | Description |
|---|---|---|---|
| automationId | string | yes | Automation id from mutator_list_automations. |
| limit | integer | – | How many runs to return. Defaults to 10. |
No output schema declared.
No examples provided.
mutator_list_step_types List the steps an automation can be built from ~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 Save an automation's steps as a draft ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| automationId | string | yes | Automation id from mutator_list_automations. |
| graph | object | yes | – |
No output schema declared.
No examples provided.
mutator_set_schedule Set an automation's 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.
| Name | Type | Req | Description |
|---|---|---|---|
| automationId | string | yes | Automation id from mutator_list_automations. |
| frequency | string | yes | – |
| timeOfDay | string | yes | 24-hour local time, "HH:mm". |
| timezone | string | yes | IANA zone, e.g. "America/New_York". |
| weekdays | array | – | ISO weekdays, Monday is 1. Used by weekly and custom. |
No output schema declared.
No examples provided.
mutator_start_run Start a 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.
| Name | Type | Req | Description |
|---|---|---|---|
| automationId | string | yes | Automation id from mutator_list_automations. |
| dryRun | boolean | – | Defaults to true. Pass false only when the user has explicitly asked for a real run. |
| idempotencyKey | string | yes | Your own key for this attempt, 8-80 characters. Reuse it verbatim when retrying. |
No output schema declared.
No examples provided.
mutator_whoami Check the connection ~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.
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.