# io.github.xnjiang/autowhisper-mcp (remote · autowhisper.xyz)

Drive your AutoWhisper AI CMO to generate and publish marketing content from any MCP client.

- Trust score: 38/100 (low)
- Change this week: −27
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-07

> **Recent critical change**: Authorization (2026-10-03). See the changelog below before you install this server.

## Components

- remote · `autowhisper.xyz`: 38/100 (this document), [markdown](https://verifymcp.io/servers/xnjiang-autowhisper-mcp/autowhisper.md), [page](https://verifymcp.io/servers/xnjiang-autowhisper-mcp/autowhisper)
- npm · `autowhisper-mcp`: 73/100, [markdown](https://verifymcp.io/servers/xnjiang-autowhisper-mcp/autowhisper-mcp.md), [page](https://verifymcp.io/servers/xnjiang-autowhisper-mcp/autowhisper-mcp)

## Channel facts

- Endpoint: `https://autowhisper.xyz/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.9.0`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-07.

- **Endpoint Security**: 94/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - The endpoint enforces authorisation, advertised via RFC 9728 protected-resource metadata.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 0/100
  - Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http.
- **Schema Quality & AI Usability**: 0/100
  - Schema blocked by authentication: the endpoint requires auth we don't have to read it.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Tool Safety**: 0/100
  - Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Capabilities**: 0/100
  - Capabilities blocked by authentication: the endpoint requires auth we don't have to read them.

**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.

## Install

### How do I install the io.github.xnjiang/autowhisper-mcp server?

io.github.xnjiang/autowhisper-mcp is a hosted endpoint at https://autowhisper.xyz/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.

### Claude

```bash
claude mcp add --transport http xnjiang-autowhisper-mcp 'https://autowhisper.xyz/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "xnjiang-autowhisper-mcp": {
      "url": "https://autowhisper.xyz/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "xnjiang-autowhisper-mcp": {
      "type": "http",
      "url": "https://autowhisper.xyz/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.xnjiang-autowhisper-mcp]
url = "https://autowhisper.xyz/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "xnjiang-autowhisper-mcp": {
      "type": "remote",
      "url": "https://autowhisper.xyz/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add xnjiang-autowhisper-mcp --url 'https://autowhisper.xyz/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  xnjiang-autowhisper-mcp:
    url: "https://autowhisper.xyz/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "xnjiang-autowhisper-mcp": {
      "Transport": "http",
      "Url": "https://autowhisper.xyz/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add xnjiang-autowhisper-mcp -t streamable-http -u 'https://autowhisper.xyz/mcp'
```

### Other

```json
{
  "mcpServers": {
    "xnjiang-autowhisper-mcp": {
      "type": "http",
      "url": "https://autowhisper.xyz/mcp"
    }
  }
}
```

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-07 (score 38, −30)

- [security regression] Endpoint reachability: reachable → behind authorisation
- [security regression] Stability: 0.23 → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] Transport: pass → unverified
- [security improvement] Authorization: fail → pass
- [security] First check of Authorization: partial
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-10-03 (score 68, +2)

- [critical regression] Authorization: unverified → fail
- [security] Tool “autowhisper_edit_content” is now declared destructive
- [security] Tool “autowhisper_action” is now declared destructive
- [security] Tool “autowhisper_confirm” is now declared destructive
- [functional] Destructive annotations: All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.

### 2026-10-02 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-30 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-28 (score 64, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-27 (score 63)

First indexed and scored.

## MCP tools (12)

### `autowhisper_products_summary` (~121 tokens)

Fast product counts by account/workspace. Use this for "how many products do I have?" instead of spending a CMO chat turn. Counts by workspace come with it.

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.
- `workspace_id` (number): Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.

### `autowhisper_products` (~152 tokens)

Fast product list with optional workspace/archive filters. Each row carries the product id used by autowhisper_cmo, its type, whether it has a main image, and its storefront link.

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.
- `include_archived` (boolean): Include archived products.
- `limit` (number): Maximum products to return, capped by the API.
- `workspace_id` (number): Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.

### `autowhisper_status` (~142 tokens)

Fast CMO/account snapshot for the current workspace: products, feed, platforms, wallet, settings — plus the directory of workspaces (with ids) to pass as workspace_id. Every count is for the CURRENT workspace; account-wide product counts are in autowhisper_products_summary.

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.
- `workspace_id` (number): Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.

### `autowhisper_feed` (~173 tokens)

Fast CMO feed list with status counts and the actions available on each row (with their arguments). Each row prints BOTH ids: `feed_item #<id>` addresses the review card (autowhisper_action) while `content: <type> #<id>` addresses the content itself (autowhisper_edit_content).

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.
- `status` (string): Filter by feed status (pending / approved / rejected / executed / all).
- `workspace_id` (number): Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.

### `autowhisper_posts` (~130 tokens)

Fast post queue list, optionally filtered by status. Failed rows carry the reason and whether a retry can help (needs reconnect means a human must re-authorise that channel).

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.
- `status` (string): Filter by post status.
- `workspace_id` (number): Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.

### `autowhisper_wallet` (~56 tokens)

Fast credit balance for the account.

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.

### `autowhisper_platforms` (~97 tokens)

Fast connected-platform list and connection health for ONE workspace.

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.
- `workspace_id` (number): Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.

### `autowhisper_performance` (~218 tokens)

Read-only cross-channel results for ONE workspace: a four-layer funnel, a per-channel breakdown, and ad spend over the window. Use this to answer how published content is actually doing, and before advising which creative to fund or scale — autowhisper_feed and autowhisper_posts only say what was made and sent, never whether it worked. ad_spend_cents is null (not 0) when the account has no active workspace: null means we cannot answer, 0 would assert nothing was spent.

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.
- `window_days` (number): Look-back window in days. The server clamps it to its own supported range and defaults when omitted.
- `workspace_id` (number): Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.

### `autowhisper_action` (~404 tokens)

Run an explicit feed or post action without an AI chat turn. High-impact actions return a confirmation message_id; confirm it with autowhisper_confirm. approve_feed_item PUBLISHES: it schedules the piece to every connected platform, and for a video draft it also starts the render and charges credits for it — approving is the spend, not a bookmark. When nothing is connected it schedules nothing, and connecting a platform later does NOT go back for it; the result line says which happened. regenerate_content rewrites an existing draft IN PLACE (same record id, new text) — it takes content_type + content_id, not feed_item_id, and always returns a confirmation because it spends credits.

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.
- `content_id` (number): Required for regenerate_content. The id from the row's `content: <type> #<id>` — NOT feed_item_id.
- `content_type` (string): Required for regenerate_content. The snake_case value from the row's `content: <type> #<id>` — NOT the class name.
- `feed_item_id` (number): Required for feed actions. The leading `feed_item #<id>` in an autowhisper_feed row — NOT the `content: <type> #<id>` on the same row.
- `post_id` (number): Required for post actions.
- `reason` (string): Optional reason for rejecting a feed item.
- `scheduled_at` (string): Required for reschedule_post; ISO8601 or natural language supported by AutoWhisper.
- `tool` (string, required)
- `workspace_id` (number): Workspace to act in. Omit for the user's CURRENT workspace. The target item must live in that workspace — an id from another workspace will not be found.

### `autowhisper_edit_content` (~267 tokens)

Directly update exact content fields without a generation run or credit spend. Pass body for the full replacement copy/story. IDs: content_id is the CONTENT id — in autowhisper_feed output that is the `content: <type> #<id>` part of a row, NOT the leading `feed_item #<id>` (that one belongs to autowhisper_action).

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.
- `body` (string)
- `content_id` (number, required): The CONTENT id from the feed row's `content: <type> #<id>` — not the feed_item id.
- `content_type` (string, required): Content type in snake_case, as printed in the feed row's `content:` part.
- `cta` (string)
- `hook` (string)
- `keywords` (array)
- `title` (string)
- `tone` (string)
- `workspace_id` (number): Workspace to act in. Omit for the user's CURRENT workspace. The target item must live in that workspace — an id from another workspace will not be found.

### `autowhisper_cmo` (~333 tokens)

Send a natural-language instruction to your AutoWhisper AI CMO and get its reply. Best at: (1) generating batches of on-brand ad creatives (UGC video, posts, images) for paid campaigns, (2) advising which creative to fund and how to target, (3) keeping every social channel alive across 30+ networks, plus analytics. Examples: "Make a batch of ad creatives for my product https://mystore.com/widget", "Which creative should I run first, and how should I target?", "Keep my channels posted this week". Honest scope: posting ≠ traffic — reach comes from the user's paid ads. To add a product, pass a product URL (the CMO extracts the image from the page) — a text-only description will not create it, and placeholder/stock images are rejected.

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.
- `instruction` (string, required): What you want the CMO to do, in natural language.
- `product_id` (string): Optional: act on a specific product by its id.
- `workspace_id` (number): Workspace to act in. Omitting it uses the account's FIRST active workspace, which may not be the one you were just reading — and the workspace decides the generated content's LANGUAGE. Pass the works…

### `autowhisper_confirm` (~174 tokens)

Approve or decline a high-impact action the CMO or autowhisper_action asked you to confirm. Pass the message_id it gave you and decision "yes" or "no".

Input parameters:

- `autowhisper_token` (string): Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.
- `decision` (string, required): "yes" to perform the action, "no" to decline.
- `message_id` (number, required): The message_id from the confirmation request.
- `workspace_id` (number): The workspace the confirmation lives in — pass the SAME one you used for autowhisper_cmo. Omitting it falls back to the account's first active workspace and 404s on a bubble that lives anywhere else.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/xnjiang-autowhisper-mcp/autowhisper#diagnostics

## Score history

- 2026-10-07: 38
- 2026-10-04: 68
- 2026-10-03: 68
- 2026-10-02: 66
- 2026-10-01: 65
- 2026-09-30: 65
- 2026-09-29: 64
- 2026-09-28: 64
- 2026-09-27: 63

## Common questions

### What is the io.github.xnjiang/autowhisper-mcp server?

io.github.xnjiang/autowhisper-mcp is listed in the public MCP registry as io.github.xnjiang/autowhisper-mcp. Drive your AutoWhisper AI CMO to generate and publish marketing content from any MCP client. This page covers its hosted endpoint (https://autowhisper.xyz/mcp).

### Is the io.github.xnjiang/autowhisper-mcp server safe to use?

io.github.xnjiang/autowhisper-mcp scores 38 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 io.github.xnjiang/autowhisper-mcp server expose?

io.github.xnjiang/autowhisper-mcp exposes 12 tools: autowhisper_products_summary, autowhisper_products, autowhisper_status, autowhisper_feed, autowhisper_posts, and 7 more. Their descriptions and schemas cost roughly 2,267 tokens of context every time the server is loaded.

### Does the io.github.xnjiang/autowhisper-mcp server require authentication?

Yes. io.github.xnjiang/autowhisper-mcp 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 io.github.xnjiang/autowhisper-mcp server still maintained?

io.github.xnjiang/autowhisper-mcp is still listed as active in the MCP registry. We last reached this channel on 7 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://autowhisper.xyz/mcp
- Website: https://autowhisper.xyz/skill
- Changelog RSS feed: https://verifymcp.io/servers/xnjiang-autowhisper-mcp/autowhisper.xml
- Changelog JSON feed: https://verifymcp.io/servers/xnjiang-autowhisper-mcp/autowhisper.json
- HTML version of this page: https://verifymcp.io/servers/xnjiang-autowhisper-mcp/autowhisper
