Skip to content

Audience Resolver MCP by Nova (CIVAI)

co.civai.nova/mcp-audience-resolvernova.civai.costreamable-httpv1.0.0Scanned

Manage Audience Resolver content calendars, rows, and social scheduling on your AR project.

41 tools: 6 can delete or cancel things, 1 do something that can't be undone, 20 change things and 14 only read.

Tools: 6 delete, 1 irreversible, 20 write, 14 read.
  • Reads private data · 5
  • Reads text others write · 0
  • Can send data out · 1
  • No findings

Anlyon alternative

27 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

41 tools

Deletes or cancels 6Claude Code: deny
  • cancel_project_assetCancel in-progress generation for a project asset.No findings

    Why it is in this group

    • The name "cancel_project_asset" says "cancel": a word for removing or ending something.
    Description, as the server wrote it
    Cancel in-progress generation for a project asset.
  • cancel_publishing_historyCancel a scheduled or pending publish (Nova + local history).No findings

    Why it is in this group

    • The name "cancel_publishing_history" says "cancel": a word for removing or ending something.
    Description, as the server wrote it
    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).
  • delete_calendar_rowRemove one post row from a content calendar (does not cancel Nova-queued posts).No findings

    Why it is in this group

    • The name "delete_calendar_row" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Remove one post row from a content calendar (does not cancel Nova-queued posts).
  • delete_calendar_rowsRemove multiple post rows from a content calendar (does not cancel Nova-queued posts).No findings

    Why it is in this group

    • The name "delete_calendar_rows" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Remove multiple post rows from a content calendar (does not cancel Nova-queued posts).
  • delete_content_calendarAudience Resolver publisher API: delete_content_calendarNo findings

    Why it is in this group

    • The name "delete_content_calendar" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Audience Resolver publisher API: delete_content_calendar
  • delete_project_assetDelete a project asset from the library.No findings

    Why it is in this group

    • The name "delete_project_asset" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Delete a project asset from the library.
Can't be undone 1Claude Code: ask
  • publish_assetPublish or schedule an asset to one or many connected social accounts.Can send data outNo findings

    Why it is in this group

    • The name "publish_asset" says "publish": a word for a change that another call does not undo.

    What it can reach

    • outboundThe name "publish_asset" says "publish": it sends or publishes something to other people.
    Description, as the server wrote it
    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.
Changes things 20Claude Code: ask
  • asset_from_driveCopy 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.No findings

    Why it is in this group

    • The description's first verb is "copy": a word for a change.
    Description, as the server wrote 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.
  • create_calendar_rowAdd a draft row to a content calendar.No findings

    Why it is in this group

    • The name "create_calendar_row" says "create": a word for a change.
    Description, as the server wrote it
    Add a draft row to a content calendar.
  • create_content_calendarCreate a blank or configured content calendar on the publisher-bound project.No findings

    Why it is in this group

    • The name "create_content_calendar" says "create": a word for a change.
    Description, as the server wrote it
    Create a blank or configured content calendar on the publisher-bound project.
  • create_projectCreate a project and start background audience research.No findings

    Why it is in this group

    • The name "create_project" says "create": a word for a change.
    Description, as the server wrote it
    Create a project and start background audience research.
  • export_content_calendar_jsonPull a content calendar as portable JSON (format_version 1) including rows and default_targets.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Pull a content calendar as portable JSON (format_version 1) including rows and default_targets. Save calendar_bundle for git or edit offline.
  • generate_calendar_row_assetGenerate and optionally attach an image or video asset for a calendar row.No findings

    Why it is in this group

    • The name "generate_calendar_row_asset" says "generate": a word for a change.
    Description, as the server wrote it
    Generate and optionally attach an image or video asset for a calendar row.
  • generate_researchStart or extend research for a project.No findings

    Why it is in this group

    • The name "generate_research" says "generate": a word for a change.
    Description, as the server wrote it
    Start or extend research for a project.
  • import_content_calendar_jsonPush portable calendar JSON: calendar_import_mode create (new calendar) or replace (clear rows on replace_calendar_id, keep same id).No findings

    Why it is in this group

    • The name "import_content_calendar_json" says "import": a word for a change.
    Description, as the server wrote it
    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.
  • import_webpage_calendarImport a public webpage into a calendar draft (Nova extract + LLM).No findings

    Why it is in this group

    • The name "import_webpage_calendar" says "import": a word for a change.
    Description, as the server wrote it
    Import a public webpage into a calendar draft (Nova extract + LLM). Requires Nova API key in AR Settings.
  • nova_generate_calendarDraft a content calendar with Nova (returns rows markdown; persist with create_content_calendar + create_calendar_row).No findings

    Why it is in this group

    • The name "nova_generate_calendar" says "generate": a word for a change.
    Description, as the server wrote it
    Draft a content calendar with Nova (returns rows markdown; persist with create_content_calendar + create_calendar_row). Requires Nova API key in AR Settings.
  • regenerate_calendar_row_assetRegenerate row asset with new instructions (same as generate with required instructions).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Regenerate row asset with new instructions (same as generate with required instructions).
  • schedule_all_calendar_rowsAudience Resolver publisher API: schedule_all_calendar_rowsNo findings

    Why it is in this group

    • The name "schedule_all_calendar_rows" says "schedule": a word for a change.
    Description, as the server wrote it
    Audience Resolver publisher API: schedule_all_calendar_rows
  • schedule_calendar_rowSchedule one calendar row on Nova.No findings

    Why it is in this group

    • The name "schedule_calendar_row" says "schedule": a word for a change.
    Description, as the server wrote it
    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.
  • unschedule_calendar_rowUnschedule one calendar row: cancel linked publishing history when still cancellable, then set row back to draft (clears publishing_history_id and scheduled_at).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.
  • update_calendar_rowPatch one calendar row (only pass fields you intend to change).No findings

    Why it is in this group

    • The name "update_calendar_row" says "update": a word for a change.
    Description, as the server wrote it
    Patch one calendar row (only pass fields you intend to change).
  • update_content_calendarPatch calendar title, default_targets, or default_post_times.No findings

    Why it is in this group

    • The name "update_content_calendar" says "update": a word for a change.
    Description, as the server wrote it
    Patch calendar title, default_targets, or default_post_times.
  • update_project_assetUpdate caption, prompt, or guidelines on a project asset.No findings

    Why it is in this group

    • The name "update_project_asset" says "update": a word for a change.
    Description, as the server wrote it
    Update caption, prompt, or guidelines on a project asset.
  • upload_project_drive_fileUpload a file into the project Files tab (context/).No findings

    Why it is in this group

    • The name "upload_project_drive_file" says "upload": a word for a change.
    Description, as the server wrote it
    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.
  • upload_publisher_imageUpload a PNG/JPEG to the publisher-bound AR project (image_url or small image_base64).No findings

    Why it is in this group

    • The name "upload_publisher_image" says "upload": a word for a change.
    Description, as the server wrote it
    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.
  • upload_publisher_videoUpload a video (mp4/webm/mov, up to 200MB) into the publisher-bound AR project's asset library via video_url.No findings

    Why it is in this group

    • The name "upload_publisher_video" says "upload": a word for a change.
    Description, as the server wrote it
    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).
Only reads 14Show 14 read-only tools
  • get_content_calendarAudience Resolver publisher API: get_content_calendarReads private dataNo findings

    Why it is in this group

    • The name "get_content_calendar" says "get": a word for reading.

    What it can reach

    • private-dataThe name "get_content_calendar" says "get" and "calendar": it reads calendars.
    • private-dataThe description's first sentence says "calendar": it reads calendars.
    Description, as the server wrote it
    Audience Resolver publisher API: get_content_calendar
  • get_project_assetGet one project asset by id.No findings

    Why it is in this group

    • The name "get_project_asset" says "get": a word for reading.
    Description, as the server wrote it
    Get one project asset by id.
  • get_project_initialization_statusPoll project initialization and research progress.No findings

    Why it is in this group

    • The name "get_project_initialization_status" says "get": a word for reading.
    Description, as the server wrote it
    Poll project initialization and research progress.
  • get_publishing_history_itemGet one publishing history record by id.No findings

    Why it is in this group

    • The name "get_publishing_history_item" says "get": a word for reading.
    Description, as the server wrote it
    Get one publishing history record by id.
  • get_research_statusGet research job status for a project.No findings

    Why it is in this group

    • The name "get_research_status" says "get": a word for reading.
    Description, as the server wrote it
    Get research job status for a project.
  • get_row_generate_asset_contextRow context for AI image/video generation on a calendar row.Reads private dataNo findings

    Why it is in this group

    • The name "get_row_generate_asset_context" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "calendar": it reads calendars.
    • private-dataThe input names a calendar (input.calendar_id), and the tool reads: it reads calendars.
    Description, as the server wrote it
    Row context for AI image/video generation on a calendar row.
  • list_content_calendarsAudience Resolver publisher API: list_content_calendarsReads private dataNo findings

    Why it is in this group

    • The name "list_content_calendars" says "list": a word for reading.

    What it can reach

    • private-dataThe name "list_content_calendars" says "list" and "calendar": it reads calendars.
    • private-dataThe description's first sentence says "calendar": it reads calendars.
    Description, as the server wrote it
    Audience Resolver publisher API: list_content_calendars
  • list_project_assetsList project media assets in the library (optional asset_type filter).No findings

    Why it is in this group

    • The name "list_project_assets" says "list": a word for reading.
    Description, as the server wrote it
    List project media assets in the library (optional asset_type filter).
  • list_project_driveList the project Files tab drive: audience research .md reports plus uploaded context files (images, video, pdf, md, txt).Reads private dataNo findings

    Why it is in this group

    • The name "list_project_drive" says "list": a word for reading.

    What it can reach

    • private-dataThe name "list_project_drive" says "list" and "drive": it reads files.
    • private-dataThe description's first sentence says "list" and "file": it reads files.
    Description, as the server wrote it
    List the project Files tab drive: audience research .md reports plus uploaded context files (images, video, pdf, md, txt).
  • list_projectsList Audience Resolver projects you can access with the publisher key.No findings

    Why it is in this group

    • The name "list_projects" says "list": a word for reading.
    Description, as the server wrote it
    List Audience Resolver projects you can access with the publisher key.
  • list_publishing_historyList publishing history for the project (syncs pending items from Nova).No findings

    Why it is in this group

    • The name "list_publishing_history" says "list": a word for reading.
    Description, as the server wrote it
    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.
  • list_research_reportsList research report files for a project.Reads private dataNo findings

    Why it is in this group

    • The name "list_research_reports" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "list" and "file": it reads files.
    Description, as the server wrote it
    List research report files for a project.
  • list_social_accountsList Nova-linked social accounts for a platform (twitter, instagram, facebook, tiktok, linkedin, youtube).No findings

    Why it is in this group

    • The name "list_social_accounts" says "list": a word for reading.
    Description, as the server wrote it
    List Nova-linked social accounts for a platform (twitter, instagram, facebook, tiktok, linkedin, youtube).
  • list_twitter_accountsAudience Resolver publisher API: list_twitter_accountsNo findings

    Why it is in this group

    • The name "list_twitter_accounts" says "list": a word for reading.
    Description, as the server wrote it
    Audience Resolver publisher API: list_twitter_accounts

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged untrusted-input.

Reads private data5
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write0
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http audience-resolver https://nova.civai.co/mcp/agents/mcp-audience-resolver
claude mcp add --transport http audience-resolver https://nova.civai.co/mcp/agents/mcp-audience-resolver

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__audience-resolver__list_content_calendars",
      "mcp__audience-resolver__get_content_calendar",
      "mcp__audience-resolver__list_twitter_accounts",
      "mcp__audience-resolver__list_social_accounts",
      "mcp__audience-resolver__get_row_generate_asset_context",
      "mcp__audience-resolver__list_publishing_history",
      "mcp__audience-resolver__get_publishing_history_item",
      "mcp__audience-resolver__list_project_assets",
      "mcp__audience-resolver__get_project_asset",
      "mcp__audience-resolver__list_projects",
      "mcp__audience-resolver__get_project_initialization_status",
      "mcp__audience-resolver__get_research_status",
      "mcp__audience-resolver__list_research_reports",
      "mcp__audience-resolver__list_project_drive"
    ],
    "ask": [
      "mcp__audience-resolver__create_content_calendar",
      "mcp__audience-resolver__update_content_calendar",
      "mcp__audience-resolver__create_calendar_row",
      "mcp__audience-resolver__update_calendar_row",
      "mcp__audience-resolver__schedule_calendar_row",
      "mcp__audience-resolver__schedule_all_calendar_rows",
      "mcp__audience-resolver__upload_publisher_image",
      "mcp__audience-resolver__upload_publisher_video",
      "mcp__audience-resolver__export_content_calendar_json",
      "mcp__audience-resolver__import_content_calendar_json",
      "mcp__audience-resolver__nova_generate_calendar",
      "mcp__audience-resolver__import_webpage_calendar",
      "mcp__audience-resolver__generate_calendar_row_asset",
      "mcp__audience-resolver__regenerate_calendar_row_asset",
      "mcp__audience-resolver__unschedule_calendar_row",
      "mcp__audience-resolver__asset_from_drive",
      "mcp__audience-resolver__update_project_asset",
      "mcp__audience-resolver__create_project",
      "mcp__audience-resolver__generate_research",
      "mcp__audience-resolver__upload_project_drive_file",
      "mcp__audience-resolver__publish_asset"
    ],
    "deny": [
      "mcp__audience-resolver__delete_content_calendar",
      "mcp__audience-resolver__delete_calendar_row",
      "mcp__audience-resolver__delete_calendar_rows",
      "mcp__audience-resolver__cancel_publishing_history",
      "mcp__audience-resolver__delete_project_asset",
      "mcp__audience-resolver__cancel_project_asset"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as audience-resolver. Review it before you use it.

Capability tags behind 6 rules
  • mcp__audience-resolver__list_content_calendars private-data
  • mcp__audience-resolver__get_content_calendar private-data
  • mcp__audience-resolver__get_row_generate_asset_context private-data
  • mcp__audience-resolver__list_research_reports private-data
  • mcp__audience-resolver__list_project_drive private-data
  • mcp__audience-resolver__publish_asset outbound

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/co.civai.nova/mcp-audience-resolver/verify?hash=a35b280755f72106bc310dadb930d4c4f743a383399015be1098cc2782218ef5" | jq -e '.changed == false'

Pinned hash a35b280755f7, from Nov 2, 2026, 09:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/co.civai.nova/mcp-audience-resolver/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for co.civai.nova/mcp-audience-resolver
[![anlyon.dev](https://anlyon.dev/badge/co.civai.nova/mcp-audience-resolver.svg)](https://anlyon.dev/servers/co.civai.nova/mcp-audience-resolver)

Source: MCP Registry. Synced Nov 2, 2026, 09:17 UTC.