autowhisper-mcp
Drive your AutoWhisper AI CMO to generate and publish marketing content from any MCP client.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (4)
- HIGH
- MEDIUMin autowhisper_cmo
- MEDIUMin autowhisper_cmo
- INFOin autowhisper_cmo
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"autowhisper-mcp": {
"command": "npx",
"args": [
"autowhisper-mcp"
]
}
}
}Ausführbare Pakete
0.9.0stdioRemote-Endpunkte
https://autowhisper.xyz/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (12)
⚪autowhisper_products_summary(workspace_id, autowhisper_token)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspace_id": {
"type": "number",
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status."
},
"autowhisper_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": []
}🟢autowhisper_products(include_archived, workspace_id, limit, autowhisper_token)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"include_archived": {
"type": "boolean",
"description": "Include archived products."
},
"workspace_id": {
"type": "number",
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status."
},
"limit": {
"type": "number",
"description": "Maximum products to return, capped by the API."
},
"autowhisper_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": []
}🟢autowhisper_status(workspace_id, autowhisper_token)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspace_id": {
"type": "number",
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status."
},
"autowhisper_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": []
}🟡autowhisper_feed(status, workspace_id, autowhisper_token)
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).
Eingabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Filter by feed status (pending / approved / rejected / executed / all).",
"enum": [
"pending",
"approved",
"rejected",
"executed",
"all"
]
},
"workspace_id": {
"type": "number",
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status."
},
"autowhisper_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": []
}🟡autowhisper_posts(status, workspace_id, autowhisper_token)
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).
Eingabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Filter by post status."
},
"workspace_id": {
"type": "number",
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status."
},
"autowhisper_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": []
}⚪autowhisper_wallet(autowhisper_token)
Fast credit balance for the account.
Eingabe-Schema
{
"type": "object",
"properties": {
"autowhisper_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": []
}🟢autowhisper_platforms(workspace_id, autowhisper_token)
Fast connected-platform list and connection health for ONE workspace.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspace_id": {
"type": "number",
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status."
},
"autowhisper_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": []
}🟢autowhisper_performance(workspace_id, window_days, autowhisper_token)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"workspace_id": {
"type": "number",
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status."
},
"window_days": {
"type": "number",
"description": "Look-back window in days. The server clamps it to its own supported range and defaults when omitted."
},
"autowhisper_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": []
}🟡autowhisper_action(tool, feed_item_id, post_id, scheduled_at, reason, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"enum": [
"approve_feed_item",
"reject_feed_item",
"dismiss_feed_item",
"publish_content",
"regenerate_content",
"reschedule_post",
"retry_post",
"mark_as_published",
"boost_post"
]
},
"feed_item_id": {
"type": "number",
"description": "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": {
"type": "number",
"description": "Required for post actions."
},
"scheduled_at": {
"type": "string",
"description": "Required for reschedule_post; ISO8601 or natural language supported by AutoWhisper."
},
"reason": {
"type": "string",
"description": "Optional reason for rejecting a feed item."
},
"content_type": {
"type": "string",
"description": "Required for regenerate_content. The snake_case value from the row's `content: <type> #<id>` — NOT the class name.",
"enum": [
"social_copy",
"lookbook",
"feature_poster",
"idea"
]
},
"content_id": {
"type": "number",
"description": "Required for regenerate_content. The id from the row's `content: <type> #<id>` — NOT feed_item_id."
},
"workspace_id": {
"type": "number",
"description": "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_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": [
"tool"
]
}🟡autowhisper_edit_content(content_type, content_id, title, body, hook, ...)
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).
Eingabe-Schema
{
"type": "object",
"properties": {
"content_type": {
"type": "string",
"description": "Content type in snake_case, as printed in the feed row's `content:` part.",
"enum": [
"social_copy",
"lookbook",
"feature_poster",
"idea"
]
},
"content_id": {
"type": "number",
"description": "The CONTENT id from the feed row's `content: <type> #<id>` — not the feed_item id."
},
"title": {
"type": "string"
},
"body": {
"type": "string"
},
"hook": {
"type": "string"
},
"cta": {
"type": "string"
},
"tone": {
"type": "string"
},
"keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"workspace_id": {
"type": "number",
"description": "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_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": [
"content_type",
"content_id"
]
}🟡autowhisper_cmo(instruction, product_id, workspace_id, autowhisper_token)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"instruction": {
"type": "string",
"description": "What you want the CMO to do, in natural language."
},
"product_id": {
"type": "string",
"description": "Optional: act on a specific product by its id."
},
"workspace_id": {
"type": "number",
"description": "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 workspace_id shown by autowhisper_feed / autowhisper_platforms / autowhisper_products whenever you are working on a specific one."
},
"autowhisper_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": [
"instruction"
]
}⚪autowhisper_confirm(message_id, decision, workspace_id, autowhisper_token)
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".
Eingabe-Schema
{
"type": "object",
"properties": {
"message_id": {
"type": "number",
"description": "The message_id from the confirmation request."
},
"decision": {
"type": "string",
"enum": [
"yes",
"no"
],
"description": "\"yes\" to perform the action, \"no\" to decline."
},
"workspace_id": {
"type": "number",
"description": "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."
},
"autowhisper_token": {
"type": "string",
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back."
}
},
"required": [
"message_id",
"decision"
]
}Community
Nachweis