Manage Audience Resolver content calendars, rows, and social scheduling on your AR project.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Copy an image or video already uploaded to the project Files drive (via upload_project_drive_file) into the asset library, so it can be linked to a calendar row as linked_asset_id. Does not remove the drive file.
Drive file id returned by upload_project_drive_file or list_project_drive.
Project id from list_projects or create_project.
Optional asset caption stored on the AR asset row.
Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http mcp-audience-resolver https://nova.civai.co/mcp/agents/mcp-audience-resolver
Copy an image or video already uploaded to the project Files drive (via upload_project_drive_file) into the asset library, so it can be linked to a calendar row as linked_asset_id. Does not remove the drive file.
| Argument | Type | Description |
|---|---|---|
| drive_file_id* | string | Drive file id returned by upload_project_drive_file or list_project_drive. |
| publisher_pid* | string | Project id from list_projects or create_project. |
| upload_caption | string | Optional asset caption stored on the AR asset row. |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"publisher_pid",
"drive_file_id"
],
"properties": {
"drive_file_id": {
"type": "string",
"description": "Drive file id returned by upload_project_drive_file or list_project_drive."
},
"publisher_pid": {
"type": "string",
"description": "Project id from list_projects or create_project."
},
"upload_caption": {
"type": "string",
"description": "Optional asset caption stored on the AR asset row."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Cancel in-progress generation for a project asset.
| Argument | Type | Description |
|---|---|---|
| asset_id* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"asset_id": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Cancel a scheduled or pending publish (Nova + local history). Only works when history status is pending, publishing, or scheduled; published rows return not cancellable. Uses publisher_pid in the URL path (same as schedule).
| Argument | Type | Description |
|---|---|---|
| history_id* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"history_id"
],
"properties": {
"history_id": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Add a draft row to a content calendar.
| Argument | Type | Description |
|---|---|---|
| cta | string | |
| day | string | Day column e.g. Day 1 or a date for schedule resolution. |
| caption | string | |
| hashtags | string | |
| post_type | string | |
| calendar_id* | string | |
| scheduled_at | string | |
| basic_graphics | string | Public HTTPS URL for row graphic (often from upload media_url). |
| linked_asset_id | string | |
| target_platform | string | |
| target_account_id | string | |
Create a blank or configured content calendar on the publisher-bound project.
| Argument | Type | Description |
|---|---|---|
| title* | string | |
| source | string | Use blank for MCP automation. |
| default_targets | array | Default social targets, e.g. [{"platform":"twitter","account_id":"โฆ"}]. |
| default_post_times | object | Per-platform post times UTC, e.g. {"default":"09:00","twitter":"09:00"}. |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"title"
],
"properties": {
"title": {
"type": "string"
},
"source": {
"type": "string",
"description": "Use blank for MCP automation."
},
"default_targets": {
"type": "array",
"items": {
"type": "object"
},
"description": "Default social targets, e.g. [{\"platform\":\"twitter\",\"account_id\":\"โฆ\"}]."
},
"default_post_times": {
"type": "object",
"description": "Per-platform post times UTC, e.g. {\"default\":\"09:00\",\"twitter\":\"09:00\"}."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Create a project and start background audience research.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| promo | boolean | |
| keywords | string | |
| days_back | integer | |
| max_query | integer | |
| min_query | integer | |
| export_pdf | boolean | |
| description* | string | |
| report_only | boolean | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"name",
"description"
],
"properties": {
"name": {
"type": "string"
},
"promo": {
"type": "boolean"
},
"keywords": {
"type": "string"
},
"days_back": {
"type": "integer"
},
"max_query": {
"type": "integer"
},
"min_query": {
"type": "integer"
},
"export_pdf": {
"type": "boolean"
},
"description": {
"type": "string"
},
"report_only": {
"type": "boolean"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Remove one post row from a content calendar (does not cancel Nova-queued posts).
| Argument | Type | Description |
|---|---|---|
| row_id* | string | |
| calendar_id* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"calendar_id",
"row_id"
],
"properties": {
"row_id": {
"type": "string"
},
"calendar_id": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Remove multiple post rows from a content calendar (does not cancel Nova-queued posts).
| Argument | Type | Description |
|---|---|---|
| row_ids* | array | |
| calendar_id* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"calendar_id",
"row_ids"
],
"properties": {
"row_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"calendar_id": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Audience Resolver publisher API: delete_content_calendar
| Argument | Type | Description |
|---|---|---|
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [],
"properties": {
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Delete a project asset from the library.
| Argument | Type | Description |
|---|---|---|
| asset_id* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"asset_id": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Pull a content calendar as portable JSON (format_version 1) including rows and default_targets. Save calendar_bundle for git or edit offline.
| Argument | Type | Description |
|---|---|---|
| calendar_id* | string | Calendar UUID to export. |
| publisher_pid* | string | Project UUID from create_project or list_projects. |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"publisher_pid",
"calendar_id"
],
"properties": {
"calendar_id": {
"type": "string",
"description": "Calendar UUID to export."
},
"publisher_pid": {
"type": "string",
"description": "Project UUID from create_project or list_projects."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Generate and optionally attach an image or video asset for a calendar row.
| Argument | Type | Description |
|---|---|---|
| attach | boolean | |
| row_id* | string | |
| asset_type* | string | |
| calendar_id* | string | |
| context_file_ids | array | |
| asset_instructions | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
| start_media_generation | boolean |
{
"type": "object",
"required": [
"calendar_id",
"row_id",
"asset_type"
],
"properties": {
"attach": {
"type": "boolean"
},
"row_id": {
"type": "string"
},
"asset_type": {
"enum": [
"image",
"video"
],
"type": "string"
},
"calendar_id": {
"type": "string"
},
"context_file_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"asset_instructions": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
},
"start_media_generation": {
"type": "boolean"
}
}
}Start or extend research for a project.
| Argument | Type | Description |
|---|---|---|
| report_only | boolean | |
| publisher_pid* | string | |
| included_sections | array | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
| require_product_name_in_queries | boolean |
{
"type": "object",
"required": [
"publisher_pid"
],
"properties": {
"report_only": {
"type": "boolean"
},
"publisher_pid": {
"type": "string"
},
"included_sections": {
"type": "array",
"items": {
"type": "string"
}
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
},
"require_product_name_in_queries": {
"type": "boolean"
}
}
}Audience Resolver publisher API: get_content_calendar
| Argument | Type | Description |
|---|---|---|
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [],
"properties": {
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Get one project asset by id.
| Argument | Type | Description |
|---|---|---|
| asset_id* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"asset_id": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Poll project initialization and research progress.
| Argument | Type | Description |
|---|---|---|
| publisher_pid* | string | Project UUID. |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"publisher_pid"
],
"properties": {
"publisher_pid": {
"type": "string",
"description": "Project UUID."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Get one publishing history record by id.
| Argument | Type | Description |
|---|---|---|
| history_id* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"history_id"
],
"properties": {
"history_id": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Get research job status for a project.
| Argument | Type | Description |
|---|---|---|
| publisher_pid* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"publisher_pid"
],
"properties": {
"publisher_pid": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Row context for AI image/video generation on a calendar row.
| Argument | Type | Description |
|---|---|---|
| row_id* | string | |
| calendar_id* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"calendar_id",
"row_id"
],
"properties": {
"row_id": {
"type": "string"
},
"calendar_id": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Push portable calendar JSON: calendar_import_mode create (new calendar) or replace (clear rows on replace_calendar_id, keep same id). Resolves twitter usernames like usecodenaija and NVA_AI to account_id.
| Argument | Type | Description |
|---|---|---|
| calendar_json* | string | Stringified JSON bundle from export or hand-authored file. |
| publisher_pid* | string | Project UUID from create_project or list_projects. |
| replace_calendar_id | string | Required when calendar_import_mode is replace. |
| calendar_import_mode* | string | create = new calendar; replace = wipe rows on replace_calendar_id then re-insert. |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"publisher_pid",
"calendar_json",
"calendar_import_mode"
],
"properties": {
"calendar_json": {
"type": "string",
"description": "Stringified JSON bundle from export or hand-authored file."
},
"publisher_pid": {
"type": "string",
"description": "Project UUID from create_project or list_projects."
},
"replace_calendar_id": {
"type": "string",
"description": "Required when calendar_import_mode is replace."
},
"calendar_import_mode": {
"enum": [
"create",
"replace"
],
"type": "string",
"description": "create = new calendar; replace = wipe rows on replace_calendar_id then re-insert."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Import a public webpage into a calendar draft (Nova extract + LLM). Requires Nova API key in AR Settings.
| Argument | Type | Description |
|---|---|---|
| import_url* | string | |
| import_notes | string | |
| import_title | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"import_url"
],
"properties": {
"import_url": {
"type": "string"
},
"import_notes": {
"type": "string"
},
"import_title": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Audience Resolver publisher API: list_content_calendars
| Argument | Type | Description |
|---|---|---|
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [],
"properties": {
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}List project media assets in the library (optional asset_type filter).
| Argument | Type | Description |
|---|---|---|
| asset_type_filter | string | Optional filter: image, video, etc. |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [],
"properties": {
"asset_type_filter": {
"type": "string",
"description": "Optional filter: image, video, etc."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}List the project Files tab drive: audience research .md reports plus uploaded context files (images, video, pdf, md, txt).
| Argument | Type | Description |
|---|---|---|
| publisher_pid* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"publisher_pid"
],
"properties": {
"publisher_pid": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}List Audience Resolver projects you can access with the publisher key.
| Argument | Type | Description |
|---|---|---|
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [],
"properties": {
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}List publishing history for the project (syncs pending items from Nova). Requires publisher_pid in the URL path (tenant global after create_project), same as schedule_calendar_row.
| Argument | Type | Description |
|---|---|---|
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [],
"properties": {
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}List research report files for a project.
| Argument | Type | Description |
|---|---|---|
| publisher_pid* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"publisher_pid"
],
"properties": {
"publisher_pid": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}List Nova-linked social accounts for a platform (twitter, instagram, facebook, tiktok, linkedin, youtube).
| Argument | Type | Description |
|---|---|---|
| platform* | string | Platform key, e.g. twitter, instagram, facebook, tiktok, linkedin, youtube. |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"platform"
],
"properties": {
"platform": {
"type": "string",
"description": "Platform key, e.g. twitter, instagram, facebook, tiktok, linkedin, youtube."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Audience Resolver publisher API: list_twitter_accounts
| Argument | Type | Description |
|---|---|---|
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [],
"properties": {
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Draft a content calendar with Nova (returns rows markdown; persist with create_content_calendar + create_calendar_row). Requires Nova API key in AR Settings.
| Argument | Type | Description |
|---|---|---|
| generate_brief* | string | |
| generate_scope* | string | |
| generate_title* | string | |
| generate_channels | array | Target channels e.g. twitter, instagram. |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"generate_title",
"generate_scope",
"generate_brief"
],
"properties": {
"generate_brief": {
"type": "string"
},
"generate_scope": {
"type": "string"
},
"generate_title": {
"type": "string"
},
"generate_channels": {
"type": "array",
"items": {
"type": "string"
},
"description": "Target channels e.g. twitter, instagram."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Publish or schedule an asset to one or many connected social accounts. Pass publish_targets for several accounts at once (each with its own optional caption and post type), or publish_platform + publish_account_id for one. publish_scheduled_at schedules the post; leave it empty to publish now.
| Argument | Type | Description |
|---|---|---|
| asset_id* | string | Asset to publish. |
| publisher_pid* | string | Audience Resolver project id the asset belongs to. |
| publish_caption | string | Caption applied to every target that has no caption of its own. Falls back to the asset's own caption when empty. |
| publish_targets | array | Publish the same asset to several accounts in one call. Each entry is one platform/account pair; account ids come from list_social_accounts. Omit (or send []) for a single target and use publish_platform/publish_account_id instead. A per-entry caption overrides publish_caption for that account. |
| publish_platform | string | Single-target platform (twitter, instagram, facebook, tiktok, linkedin, youtube). Ignored when publish_targets is set. |
| publish_post_type | string | Default post type for every target: reel, feed or carousel. Defaults to reel. |
| publish_account_id | string |
Regenerate row asset with new instructions (same as generate with required instructions).
| Argument | Type | Description |
|---|---|---|
| attach | boolean | |
| row_id* | string | |
| asset_type* | string | |
| calendar_id* | string | |
| context_file_ids | array | |
| asset_instructions* | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
| start_media_generation | boolean |
{
"type": "object",
"required": [
"calendar_id",
"row_id",
"asset_type",
"asset_instructions"
],
"properties": {
"attach": {
"type": "boolean"
},
"row_id": {
"type": "string"
},
"asset_type": {
"enum": [
"image",
"video"
],
"type": "string"
},
"calendar_id": {
"type": "string"
},
"context_file_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"asset_instructions": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
},
"start_media_generation": {
"type": "boolean"
}
}
}Audience Resolver publisher API: schedule_all_calendar_rows
| Argument | Type | Description |
|---|---|---|
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [],
"properties": {
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Schedule one calendar row on Nova. Reads the row Post Type (set via update_calendar_row) and media URL: YouTube short vs video; LinkedIn video vs feed; Instagram reel for video files.
| Argument | Type | Description |
|---|---|---|
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [],
"properties": {
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Unschedule one calendar row: cancel linked publishing history when still cancellable, then set row back to draft (clears publishing_history_id and scheduled_at). Prefer this over PATCH scheduled_at alone.
| Argument | Type | Description |
|---|---|---|
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [],
"properties": {
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Patch one calendar row (only pass fields you intend to change).
| Argument | Type | Description |
|---|---|---|
| cta | string | |
| day | string | |
| row_id* | string | |
| caption | string | |
| hashtags | string | |
| post_type | string | Channel + format for schedule, e.g. YouTube short, YouTube video, LinkedIn feed, LinkedIn short (video), Instagram reel. Used by schedule_calendar_row with linked media. |
| calendar_id* | string | |
| scheduled_at | string | |
| basic_graphics | string | |
| linked_asset_id | string | |
| target_platform | string |
Patch calendar title, default_targets, or default_post_times.
| Argument | Type | Description |
|---|---|---|
| calendar_id* | string | |
| patch_title | string | |
| default_targets | array | |
| default_post_times | object | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"calendar_id"
],
"properties": {
"calendar_id": {
"type": "string"
},
"patch_title": {
"type": "string"
},
"default_targets": {
"type": "array",
"items": {
"type": "object"
}
},
"default_post_times": {
"type": "object"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Update caption, prompt, or guidelines on a project asset.
| Argument | Type | Description |
|---|---|---|
| asset_id* | string | |
| patch_asset_prompt | string | |
| patch_asset_caption | string | |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
| patch_asset_guidelines | string |
{
"type": "object",
"required": [
"asset_id"
],
"properties": {
"asset_id": {
"type": "string"
},
"patch_asset_prompt": {
"type": "string"
},
"patch_asset_caption": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
},
"patch_asset_guidelines": {
"type": "string"
}
}
}Upload a file into the project Files tab (context/). Use file_url (https) for large files. Returns drive file id for calendar generate context attachment.
| Argument | Type | Description |
|---|---|---|
| file_url | string | Public https URL (preferred for PDFs, video, large images). |
| file_base64 | string | Base64 bytes; up to 1 MB decoded (typical PDFs). Larger: file_url or local upload script. |
| publisher_pid* | string | |
| upload_filename | string | Filename with extension (e.g. brand-guide.pdf). |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"publisher_pid"
],
"properties": {
"file_url": {
"type": "string",
"description": "Public https URL (preferred for PDFs, video, large images)."
},
"file_base64": {
"type": "string",
"description": "Base64 bytes; up to 1 MB decoded (typical PDFs). Larger: file_url or local upload script."
},
"publisher_pid": {
"type": "string"
},
"upload_filename": {
"type": "string",
"description": "Filename with extension (e.g. brand-guide.pdf)."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Upload a PNG/JPEG to the publisher-bound AR project (image_url or small image_base64). Returns asset_id and media_url for row linking.
| Argument | Type | Description |
|---|---|---|
| image_url | string | Public https URL to download the image (preferred for large promo assets; avoids MCP env size limits). |
| image_base64 | string | Base64-encoded image bytes (optional data: URL prefix stripped). Use only for small images (~150 KB decoded max). |
| upload_caption | string | Optional asset caption stored on the AR asset row. |
| upload_filename | string | Filename hint for multipart upload (e.g. bgpt-chowdeck-square-dark.png). |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [],
"properties": {
"image_url": {
"type": "string",
"description": "Public https URL to download the image (preferred for large promo assets; avoids MCP env size limits)."
},
"image_base64": {
"type": "string",
"description": "Base64-encoded image bytes (optional data: URL prefix stripped). Use only for small images (~150 KB decoded max)."
},
"upload_caption": {
"type": "string",
"description": "Optional asset caption stored on the AR asset row."
},
"upload_filename": {
"type": "string",
"description": "Filename hint for multipart upload (e.g. bgpt-chowdeck-square-dark.png)."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}Upload a video (mp4/webm/mov, up to 200MB) into the publisher-bound AR project's asset library via video_url. Returns asset_id for linking to a calendar row (linked_asset_id).
| Argument | Type | Description |
|---|---|---|
| video_url* | string | Public https URL to download the video from (mp4/webm/mov, up to 200MB). |
| publisher_pid* | string | Project id from list_projects or create_project. |
| upload_caption | string | Optional asset caption stored on the AR asset row. |
| upload_filename | string | Filename hint with extension (e.g. launch-promo.mp4). |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"publisher_pid",
"video_url"
],
"properties": {
"video_url": {
"type": "string",
"description": "Public https URL to download the video from (mp4/webm/mov, up to 200MB)."
},
"publisher_pid": {
"type": "string",
"description": "Project id from list_projects or create_project."
},
"upload_caption": {
"type": "string",
"description": "Optional asset caption stored on the AR asset row."
},
"upload_filename": {
"type": "string",
"description": "Filename hint with extension (e.g. launch-promo.mp4)."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.
| notification_message |
| string |
| Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"calendar_id"
],
"properties": {
"cta": {
"type": "string"
},
"day": {
"type": "string",
"description": "Day column e.g. Day 1 or a date for schedule resolution."
},
"caption": {
"type": "string"
},
"hashtags": {
"type": "string"
},
"post_type": {
"type": "string"
},
"calendar_id": {
"type": "string"
},
"scheduled_at": {
"type": "string"
},
"basic_graphics": {
"type": "string",
"description": "Public HTTPS URL for row graphic (often from upload media_url)."
},
"linked_asset_id": {
"type": "string"
},
"target_platform": {
"type": "string"
},
"target_account_id": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}| Single-target account id from list_social_accounts. Ignored when publish_targets is set. |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
| publish_scheduled_at | string | When to post. ISO-8601 (2026-11-20T18:42:00Z or +01:00) or 'YYYY-MM-DD HH:MM:SS+0000'. Leave empty to publish now. |
{
"type": "object",
"required": [
"publisher_pid",
"asset_id"
],
"properties": {
"asset_id": {
"type": "string",
"description": "Asset to publish."
},
"publisher_pid": {
"type": "string",
"description": "Audience Resolver project id the asset belongs to."
},
"publish_caption": {
"type": "string",
"description": "Caption applied to every target that has no caption of its own. Falls back to the asset's own caption when empty."
},
"publish_targets": {
"type": "array",
"items": {
"type": "object",
"required": [
"platform",
"account_id"
],
"properties": {
"caption": {
"type": "string",
"description": "Caption for this account only."
},
"platform": {
"type": "string",
"description": "twitter, instagram, facebook, tiktok, linkedin or youtube."
},
"post_type": {
"type": "string",
"description": "reel, feed or carousel. Defaults to publish_post_type."
},
"account_id": {
"type": "string"
}
}
},
"description": "Publish the same asset to several accounts in one call. Each entry is one platform/account pair; account ids come from list_social_accounts. Omit (or send []) for a single target and use publish_platform/publish_account_id instead. A per-entry caption overrides publish_caption for that account."
},
"publish_platform": {
"type": "string",
"description": "Single-target platform (twitter, instagram, facebook, tiktok, linkedin, youtube). Ignored when publish_targets is set."
},
"publish_post_type": {
"type": "string",
"description": "Default post type for every target: reel, feed or carousel. Defaults to reel."
},
"publish_account_id": {
"type": "string",
"description": "Single-target account id from list_social_accounts. Ignored when publish_targets is set."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
},
"publish_scheduled_at": {
"type": "string",
"description": "When to post. ISO-8601 (2026-11-20T18:42:00Z or +01:00) or 'YYYY-MM-DD HH:MM:SS+0000'. Leave empty to publish now."
}
}
}| target_account_id | string |
| notification_message | string | Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names. |
{
"type": "object",
"required": [
"calendar_id",
"row_id"
],
"properties": {
"cta": {
"type": "string"
},
"day": {
"type": "string"
},
"row_id": {
"type": "string"
},
"caption": {
"type": "string"
},
"hashtags": {
"type": "string"
},
"post_type": {
"type": "string",
"description": "Channel + format for schedule, e.g. YouTube short, YouTube video, LinkedIn feed, LinkedIn short (video), Instagram reel. Used by schedule_calendar_row with linked media."
},
"calendar_id": {
"type": "string"
},
"scheduled_at": {
"type": "string"
},
"basic_graphics": {
"type": "string"
},
"linked_asset_id": {
"type": "string"
},
"target_platform": {
"type": "string"
},
"target_account_id": {
"type": "string"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
}
}