I manage your Nova products, create/update/delete, payment & logistics config, icons, webhook secre…
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.
Approve a pending/expired deposit and run fulfillment.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Approve a pending/expired deposit and run fulfillment.
| Argument | Type | Description |
|---|---|---|
| deposit_id* | string | |
| product_id* | string |
{
"type": "object",
"required": [
"product_id",
"deposit_id"
],
"properties": {
"deposit_id": {
"type": "string"
},
"product_id": {
"type": "string"
}
}
}Assign an unmatched bank credit to a pending deposit.
| Argument | Type | Description |
|---|---|---|
| credit_id* | string | |
| deposit_id* | string |
{
"type": "object",
"required": [
"credit_id",
"deposit_id"
],
"properties": {
"credit_id": {
"type": "string"
},
"deposit_id": {
"type": "string"
}
}
}Connect an Audience Resolver publisher token to this product, so it can push content to an AR project's calendar. The token must be minted by hand from the Audience Resolver dashboard first — there's no way to generate one here.
| Argument | Type | Description |
|---|---|---|
| product_id* | string | |
| publisher_token* | string |
{
"type": "object",
"required": [
"product_id",
"publisher_token"
],
"properties": {
"product_id": {
"type": "string"
},
"publisher_token": {
"type": "string"
}
}
}Create a new product.
| Argument | Type | Description |
|---|---|---|
| id* | string | Lowercase product id (letters, digits, hyphen, underscore). |
| name* | string | |
| site_url* | string | |
| mobile_push | object | |
| pipeline_type | string | |
| payment_config | object | |
| content_enabled | boolean | Enable/disable the content pipeline for this product. |
| default_country | string | |
| logistics_config | object | |
| opportunity_rules | string | What counts as a worthwhile trend/opportunity for this product — used when picking seeds and expanding opportunities. |
| seed_picker_rules |
Permanently delete a product.
| Argument | Type | Description |
|---|---|---|
| product_id* | string |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string"
}
}
}Dismiss a bank credit as not a sale.
| Argument | Type | Description |
|---|---|---|
| credit_id* | string |
{
"type": "object",
"required": [
"credit_id"
],
"properties": {
"credit_id": {
"type": "string"
}
}
}Bank-transfer onboarding status (merchant bank, alert inbox, auto-approve).
| Argument | Type | Description |
|---|---|---|
| product_id | string |
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
}
}
}Return full product detail including payment/logistics/mobile-push config.
| Argument | Type | Description |
|---|---|---|
| product_id* | string |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string"
}
}
}Return the product's fulfillment webhook signing secret.
| Argument | Type | Description |
|---|---|---|
| product_id* | string |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string"
}
}
}List the content calendars within an Audience Resolver project.
| Argument | Type | Description |
|---|---|---|
| product_id* | string | |
| project_id* | string |
{
"type": "object",
"required": [
"product_id",
"project_id"
],
"properties": {
"product_id": {
"type": "string"
},
"project_id": {
"type": "string"
}
}
}List the Audience Resolver projects reachable by this product's connected publisher token.
| Argument | Type | Description |
|---|---|---|
| product_id* | string |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string"
}
}
}List supported banks and their alert-forwarding setup guides.
No arguments.
{
"type": "object",
"properties": {}
}List unmatched/review bank credits for reconciliation.
| Argument | Type | Description |
|---|---|---|
| status | string |
{
"type": "object",
"properties": {
"status": {
"enum": [
"unmatched",
"review",
"matched",
"dismissed"
],
"type": "string"
}
}
}List payment deposits for a product.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| offset | integer | |
| status | string | |
| product_id* | string |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"limit": {
"type": "integer"
},
"offset": {
"type": "integer"
},
"status": {
"enum": [
"pending",
"approved",
"rejected",
"expired"
],
"type": "string"
},
"product_id": {
"type": "string"
}
}
}List all products for the signed-in owner.
No arguments.
{
"type": "object",
"properties": {}
}List connected X/Twitter accounts available to use as an x_post publish destination.
No arguments.
{
"type": "object",
"properties": {}
}Reject a deposit.
| Argument | Type | Description |
|---|---|---|
| reason | string | |
| deposit_id* | string | |
| product_id* | string |
{
"type": "object",
"required": [
"product_id",
"deposit_id"
],
"properties": {
"reason": {
"type": "string"
},
"deposit_id": {
"type": "string"
},
"product_id": {
"type": "string"
}
}
}Remove the product's icon/logo.
| Argument | Type | Description |
|---|---|---|
| product_id* | string |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string"
}
}
}Resend/retry fulfillment for an approved deposit.
| Argument | Type | Description |
|---|---|---|
| deposit_id* | string | |
| product_id* | string |
{
"type": "object",
"required": [
"product_id",
"deposit_id"
],
"properties": {
"deposit_id": {
"type": "string"
},
"product_id": {
"type": "string"
}
}
}Rotate the bank-alert forwarding inbox address.
No arguments.
{
"type": "object",
"properties": {}
}Rotate the product's fulfillment webhook signing secret.
| Argument | Type | Description |
|---|---|---|
| product_id* | string |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string"
}
}
}Save the allowlist of bank-alert source email addresses.
| Argument | Type | Description |
|---|---|---|
| alert_source_emails* | array |
{
"type": "object",
"required": [
"alert_source_emails"
],
"properties": {
"alert_source_emails": {
"type": "array",
"items": {
"type": "string"
}
}
}
}Save the merchant bank account used to receive bank-transfer payments.
| Argument | Type | Description |
|---|---|---|
| bank_name* | string | |
| product_id | string | |
| account_name* | string | |
| account_number* | string | 10-digit NUBAN account number. |
| alert_source_emails | array | |
| auto_approve_enabled | boolean |
{
"type": "object",
"required": [
"bank_name",
"account_name",
"account_number"
],
"properties": {
"bank_name": {
"type": "string"
},
"product_id": {
"type": "string"
},
"account_name": {
"type": "string"
},
"account_number": {
"type": "string",
"description": "10-digit NUBAN account number."
},
"alert_source_emails": {
"type": "array",
"items": {
"type": "string"
}
},
"auto_approve_enabled": {
"type": "boolean"
}
}
}Set the refund_status on an approved deposit.
| Argument | Type | Description |
|---|---|---|
| note | string | |
| deposit_id* | string | |
| product_id* | string | |
| refund_status* | string |
{
"type": "object",
"required": [
"product_id",
"deposit_id",
"refund_status"
],
"properties": {
"note": {
"type": "string"
},
"deposit_id": {
"type": "string"
},
"product_id": {
"type": "string"
},
"refund_status": {
"type": "string"
}
}
}Set the product's logistics_config.
| Argument | Type | Description |
|---|---|---|
| product_id* | string | |
| logistics_config* | object |
{
"type": "object",
"required": [
"product_id",
"logistics_config"
],
"properties": {
"product_id": {
"type": "string"
},
"logistics_config": {
"type": "object"
}
}
}Set the product's mobile_push config.
| Argument | Type | Description |
|---|---|---|
| product_id* | string | |
| mobile_push* | object |
{
"type": "object",
"required": [
"product_id",
"mobile_push"
],
"properties": {
"product_id": {
"type": "string"
},
"mobile_push": {
"type": "object"
}
}
}Set/merge the product's payment_config (enable payments, catalog_mode, skus, discount, custom_fields, webhook URLs, return URLs, sandbox).
| Argument | Type | Description |
|---|---|---|
| product_id* | string | |
| payment_config* | object |
{
"type": "object",
"required": [
"product_id",
"payment_config"
],
"properties": {
"product_id": {
"type": "string"
},
"payment_config": {
"type": "object"
}
}
}Test-parse a bank alert email (debug the alert parser).
| Argument | Type | Description |
|---|---|---|
| html | string | |
| text* | string | |
| subject | string | |
| from_addr* | string |
{
"type": "object",
"required": [
"from_addr",
"text"
],
"properties": {
"html": {
"type": "string"
},
"text": {
"type": "string"
},
"subject": {
"type": "string"
},
"from_addr": {
"type": "string"
}
}
}Update product fields (partial patch — only send fields to change).
| Argument | Type | Description |
|---|---|---|
| id | string | Lowercase product id (letters, digits, hyphen, underscore). |
| name | string | |
| site_url | string | |
| mobile_push | object | |
| pipeline_type | string | |
| payment_config | object | |
| content_enabled | boolean | Enable/disable the content pipeline for this product. |
| default_country | string | |
| logistics_config | object | |
| opportunity_rules | string | What counts as a worthwhile trend/opportunity for this product — used when picking seeds and expanding opportunities. |
| seed_picker_rules | string |
Upload a product icon/logo (base64-encoded JPEG/PNG/WebP, max 2MB).
| Argument | Type | Description |
|---|---|---|
| product_id* | string | |
| content_type* | string | |
| image_base64* | string |
{
"type": "object",
"required": [
"product_id",
"image_base64",
"content_type"
],
"properties": {
"product_id": {
"type": "string"
},
"content_type": {
"enum": [
"image/jpeg",
"image/jpg",
"image/png",
"image/webp"
],
"type": "string"
},
"image_base64": {
"type": "string"
}
}
}| string |
| Guidance for the seed-selection step specifically. |
| opportunity_system | string | System context for generation prompts: what this product is, in the product's own voice. |
| article_intent_rules | string | Structure/intent guidance for generated articles. |
| publish_destinations | array | Where generated content publishes to. Each entry is one of {type: 'webhook', webhook_url, webhook_secret?}, {type: 'x_post', twitter_account_id}, or {type: 'ar_calendar', audience_resolver_project_id, audience_resolver_calendar_id} (requires audience_resolver_publisher_token to be connected first). |
| content_target_markets | array | ISO-2 country codes this product's autonomous trend tweets should draw trends from (e.g. ['NG'] for a Nigeria-only product, ['NG','US'] to target more than one market). Empty/unset falls back to [default_country]. Without this, trend-driven tweets pull from a US-only trend pool regardless of the product's actual audience. |
| content_posting_frequency | any | When this product's connected X account posts autonomous trend tweets. Either the legacy string preset ('daily' | '3x_week' | 'weekly' | 'off', defaults to 3x_week = Mon/Wed/Fri) or the object {days: ['mon','wed','fri'], time: '09:00' (Africa/Lagos, 24h), posts_per_day: 1-5}. |
| intent_creative_direction | string | Free-form style/voice guidance for generated content. |
| audience_resolver_publisher_token | string | Publisher JWT minted from the Audience Resolver dashboard, connecting this product to an AR account so content can be pushed to its calendars. Set via connect_audience_resolver, not directly. |
{
"type": "object",
"required": [
"id",
"name",
"site_url"
],
"properties": {
"id": {
"type": "string",
"description": "Lowercase product id (letters, digits, hyphen, underscore)."
},
"name": {
"type": "string"
},
"site_url": {
"type": "string"
},
"mobile_push": {
"type": "object"
},
"pipeline_type": {
"enum": [
"seo_intent",
"reward_intent"
],
"type": "string"
},
"payment_config": {
"type": "object"
},
"content_enabled": {
"type": "boolean",
"description": "Enable/disable the content pipeline for this product."
},
"default_country": {
"type": "string"
},
"logistics_config": {
"type": "object"
},
"opportunity_rules": {
"type": "string",
"description": "What counts as a worthwhile trend/opportunity for this product — used when picking seeds and expanding opportunities."
},
"seed_picker_rules": {
"type": "string",
"description": "Guidance for the seed-selection step specifically."
},
"opportunity_system": {
"type": "string",
"description": "System context for generation prompts: what this product is, in the product's own voice."
},
"article_intent_rules": {
"type": "string",
"description": "Structure/intent guidance for generated articles."
},
"publish_destinations": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"webhook",
"x_post",
"ar_calendar"
],
"type": "string"
},
"webhook_url": {
"type": "string"
},
"webhook_secret": {
"type": "string"
},
"twitter_account_id": {
"type": "string"
},
"audience_resolver_project_id": {
"type": "string"
},
"audience_resolver_calendar_id": {
"type": "string"
}
}
},
"description": "Where generated content publishes to. Each entry is one of {type: 'webhook', webhook_url, webhook_secret?}, {type: 'x_post', twitter_account_id}, or {type: 'ar_calendar', audience_resolver_project_id, audience_resolver_calendar_id} (requires audience_resolver_publisher_token to be connected first)."
},
"content_target_markets": {
"type": "array",
"items": {
"type": "string"
},
"description": "ISO-2 country codes this product's autonomous trend tweets should draw trends from (e.g. ['NG'] for a Nigeria-only product, ['NG','US'] to target more than one market). Empty/unset falls back to [default_country]. Without this, trend-driven tweets pull from a US-only trend pool regardless of the product's actual audience."
},
"content_posting_frequency": {
"anyOf": [
{
"enum": [
"daily",
"3x_week",
"weekly",
"off"
],
"type": "string"
},
{
"type": "object",
"required": [
"days"
],
"properties": {
"days": {
"type": "array",
"items": {
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri",
"sat",
"sun"
],
"type": "string"
}
},
"time": {
"type": "string",
"description": "HH:MM, 24-hour, Africa/Lagos"
},
"posts_per_day": {
"type": "integer",
"maximum": 5,
"minimum": 1
}
}
}
],
"description": "When this product's connected X account posts autonomous trend tweets. Either the legacy string preset ('daily' | '3x_week' | 'weekly' | 'off', defaults to 3x_week = Mon/Wed/Fri) or the object {days: ['mon','wed','fri'], time: '09:00' (Africa/Lagos, 24h), posts_per_day: 1-5}."
},
"intent_creative_direction": {
"type": "string",
"description": "Free-form style/voice guidance for generated content."
},
"audience_resolver_publisher_token": {
"type": "string",
"description": "Publisher JWT minted from the Audience Resolver dashboard, connecting this product to an AR account so content can be pushed to its calendars. Set via connect_audience_resolver, not directly."
}
}
}| Guidance for the seed-selection step specifically. |
| opportunity_system | string | System context for generation prompts: what this product is, in the product's own voice. |
| article_intent_rules | string | Structure/intent guidance for generated articles. |
| publish_destinations | array | Where generated content publishes to. Each entry is one of {type: 'webhook', webhook_url, webhook_secret?}, {type: 'x_post', twitter_account_id}, or {type: 'ar_calendar', audience_resolver_project_id, audience_resolver_calendar_id} (requires audience_resolver_publisher_token to be connected first). |
| content_target_markets | array | ISO-2 country codes this product's autonomous trend tweets should draw trends from (e.g. ['NG'] for a Nigeria-only product, ['NG','US'] to target more than one market). Empty/unset falls back to [default_country]. Without this, trend-driven tweets pull from a US-only trend pool regardless of the product's actual audience. |
| content_posting_frequency | any | When this product's connected X account posts autonomous trend tweets. Either the legacy string preset ('daily' | '3x_week' | 'weekly' | 'off', defaults to 3x_week = Mon/Wed/Fri) or the object {days: ['mon','wed','fri'], time: '09:00' (Africa/Lagos, 24h), posts_per_day: 1-5}. |
| intent_creative_direction | string | Free-form style/voice guidance for generated content. |
| audience_resolver_publisher_token | string | Publisher JWT minted from the Audience Resolver dashboard, connecting this product to an AR account so content can be pushed to its calendars. Set via connect_audience_resolver, not directly. |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"id": {
"type": "string",
"description": "Lowercase product id (letters, digits, hyphen, underscore)."
},
"name": {
"type": "string"
},
"site_url": {
"type": "string"
},
"mobile_push": {
"type": "object"
},
"pipeline_type": {
"enum": [
"seo_intent",
"reward_intent"
],
"type": "string"
},
"payment_config": {
"type": "object"
},
"content_enabled": {
"type": "boolean",
"description": "Enable/disable the content pipeline for this product."
},
"default_country": {
"type": "string"
},
"logistics_config": {
"type": "object"
},
"opportunity_rules": {
"type": "string",
"description": "What counts as a worthwhile trend/opportunity for this product — used when picking seeds and expanding opportunities."
},
"seed_picker_rules": {
"type": "string",
"description": "Guidance for the seed-selection step specifically."
},
"opportunity_system": {
"type": "string",
"description": "System context for generation prompts: what this product is, in the product's own voice."
},
"article_intent_rules": {
"type": "string",
"description": "Structure/intent guidance for generated articles."
},
"publish_destinations": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"webhook",
"x_post",
"ar_calendar"
],
"type": "string"
},
"webhook_url": {
"type": "string"
},
"webhook_secret": {
"type": "string"
},
"twitter_account_id": {
"type": "string"
},
"audience_resolver_project_id": {
"type": "string"
},
"audience_resolver_calendar_id": {
"type": "string"
}
}
},
"description": "Where generated content publishes to. Each entry is one of {type: 'webhook', webhook_url, webhook_secret?}, {type: 'x_post', twitter_account_id}, or {type: 'ar_calendar', audience_resolver_project_id, audience_resolver_calendar_id} (requires audience_resolver_publisher_token to be connected first)."
},
"content_target_markets": {
"type": "array",
"items": {
"type": "string"
},
"description": "ISO-2 country codes this product's autonomous trend tweets should draw trends from (e.g. ['NG'] for a Nigeria-only product, ['NG','US'] to target more than one market). Empty/unset falls back to [default_country]. Without this, trend-driven tweets pull from a US-only trend pool regardless of the product's actual audience."
},
"content_posting_frequency": {
"anyOf": [
{
"enum": [
"daily",
"3x_week",
"weekly",
"off"
],
"type": "string"
},
{
"type": "object",
"required": [
"days"
],
"properties": {
"days": {
"type": "array",
"items": {
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri",
"sat",
"sun"
],
"type": "string"
}
},
"time": {
"type": "string",
"description": "HH:MM, 24-hour, Africa/Lagos"
},
"posts_per_day": {
"type": "integer",
"maximum": 5,
"minimum": 1
}
}
}
],
"description": "When this product's connected X account posts autonomous trend tweets. Either the legacy string preset ('daily' | '3x_week' | 'weekly' | 'off', defaults to 3x_week = Mon/Wed/Fri) or the object {days: ['mon','wed','fri'], time: '09:00' (Africa/Lagos, 24h), posts_per_day: 1-5}."
},
"intent_creative_direction": {
"type": "string",
"description": "Free-form style/voice guidance for generated content."
},
"audience_resolver_publisher_token": {
"type": "string",
"description": "Publisher JWT minted from the Audience Resolver dashboard, connecting this product to an AR account so content can be pushed to its calendars. Set via connect_audience_resolver, not directly."
}
}
}