Server definition
- Hash
- sha256:5f4bde0c32a49121edd2b13b6d5661cffc060f83038921cdf3f36bd3baebd604
- What it is
- What a remote MCP server returned when asked what it offers: 12 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "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.",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
},
"content_id": {
"description": "Required for regenerate_content. The id from the row's `content: <type> #<id>` — NOT feed_item_id.",
"type": "number"
},
"content_type": {
"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"
],
"type": "string"
},
"feed_item_id": {
"description": "Required for feed actions. The leading `feed_item #<id>` in an autowhisper_feed row — NOT the `content: <type> #<id>` on the same row.",
"type": "number"
},
"post_id": {
"description": "Required for post actions.",
"type": "number"
},
"reason": {
"description": "Optional reason for rejecting a feed item.",
"type": "string"
},
"scheduled_at": {
"description": "Required for reschedule_post; ISO8601 or natural language supported by AutoWhisper.",
"type": "string"
},
"tool": {
"enum": [
"approve_feed_item",
"reject_feed_item",
"dismiss_feed_item",
"publish_content",
"regenerate_content",
"reschedule_post",
"retry_post",
"mark_as_published",
"boost_post"
],
"type": "string"
},
"workspace_id": {
"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.",
"type": "number"
}
},
"required": [
"tool"
],
"type": "object"
},
"name": "autowhisper_action",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
},
"instruction": {
"description": "What you want the CMO to do, in natural language.",
"type": "string"
},
"product_id": {
"description": "Optional: act on a specific product by its id.",
"type": "string"
},
"workspace_id": {
"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.",
"type": "number"
}
},
"required": [
"instruction"
],
"type": "object"
},
"name": "autowhisper_cmo",
"outputSchema": null
},
{
"description": "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\".",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
},
"decision": {
"description": "\"yes\" to perform the action, \"no\" to decline.",
"enum": [
"yes",
"no"
],
"type": "string"
},
"message_id": {
"description": "The message_id from the confirmation request.",
"type": "number"
},
"workspace_id": {
"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.",
"type": "number"
}
},
"required": [
"message_id",
"decision"
],
"type": "object"
},
"name": "autowhisper_confirm",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
},
"body": {
"type": "string"
},
"content_id": {
"description": "The CONTENT id from the feed row's `content: <type> #<id>` — not the feed_item id.",
"type": "number"
},
"content_type": {
"description": "Content type in snake_case, as printed in the feed row's `content:` part.",
"enum": [
"social_copy",
"lookbook",
"feature_poster",
"idea"
],
"type": "string"
},
"cta": {
"type": "string"
},
"hook": {
"type": "string"
},
"keywords": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
},
"tone": {
"type": "string"
},
"workspace_id": {
"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.",
"type": "number"
}
},
"required": [
"content_type",
"content_id"
],
"type": "object"
},
"name": "autowhisper_edit_content",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
},
"status": {
"description": "Filter by feed status (pending / approved / rejected / executed / all).",
"enum": [
"pending",
"approved",
"rejected",
"executed",
"all"
],
"type": "string"
},
"workspace_id": {
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "autowhisper_feed",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
},
"window_days": {
"description": "Look-back window in days. The server clamps it to its own supported range and defaults when omitted.",
"type": "number"
},
"workspace_id": {
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "autowhisper_performance",
"outputSchema": null
},
{
"description": "Fast connected-platform list and connection health for ONE workspace.",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
},
"workspace_id": {
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "autowhisper_platforms",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
},
"status": {
"description": "Filter by post status.",
"type": "string"
},
"workspace_id": {
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "autowhisper_posts",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
},
"include_archived": {
"description": "Include archived products.",
"type": "boolean"
},
"limit": {
"description": "Maximum products to return, capped by the API.",
"type": "number"
},
"workspace_id": {
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "autowhisper_products",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
},
"workspace_id": {
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "autowhisper_products_summary",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
},
"workspace_id": {
"description": "Workspace to read. Omit for the user's CURRENT workspace — other workspaces are NOT included. Get other ids from autowhisper_status.",
"type": "number"
}
},
"required": [],
"type": "object"
},
"name": "autowhisper_status",
"outputSchema": null
},
{
"description": "Fast credit balance for the account.",
"inputSchema": {
"properties": {
"autowhisper_token": {
"description": "Optional: your AutoWhisper API token, for clients that cannot set an Authorization header. Takes precedence over the header. Never echoed back.",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "autowhisper_wallet",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:5f4bde0c32a49121edd2b13b6d5661cffc060f83038921cdf3f36bd3baebd604 | sha256sum