Product Admin by Nova (CIVAI)
I manage your Nova products, create/update/delete, payment & logistics config, icons, webhook secre…
我该使用它吗
质量与安全性
发现(6)
- LOW在 get_webhook_secret 中
- LOW在 rotate_webhook_secret 中
- LOW在 assign_bank_credit 中
- LOW在 dismiss_bank_credit 中
- LOW在 list_audience_resolver_projects 中
- LOW在 list_audience_resolver_calendars 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"product-admin": {
"url": "https://nova.civai.co/mcp/agents/product-admin"
}
}
}远程端点
https://nova.civai.co/mcp/agents/product-adminstreamable-http它能做什么
工具清单
工具(30)
🟢list_products
List all products for the signed-in owner.
输入模式
{
"type": "object",
"properties": {}
}🟢get_product(product_id)
Return full product detail including payment/logistics/mobile-push config.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
}
},
"required": [
"product_id"
]
}🟡list_twitter_accounts
List connected X/Twitter accounts available to use as an x_post publish destination.
输入模式
{
"type": "object",
"properties": {}
}⚪connect_audience_resolver(product_id, publisher_token)
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.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"publisher_token": {
"type": "string"
}
},
"required": [
"product_id",
"publisher_token"
]
}🟢list_audience_resolver_projects(product_id)
List the Audience Resolver projects reachable by this product's connected publisher token.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
}
},
"required": [
"product_id"
]
}🟢list_audience_resolver_calendars(product_id, project_id)
List the content calendars within an Audience Resolver project.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"project_id": {
"type": "string"
}
},
"required": [
"product_id",
"project_id"
]
}🟡create_product(id, name, site_url, default_country, content_enabled, ...)
Create a new product.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Lowercase product id (letters, digits, hyphen, underscore)."
},
"name": {
"type": "string"
},
"site_url": {
"type": "string"
},
"default_country": {
"type": "string"
},
"content_enabled": {
"type": "boolean",
"description": "Enable/disable the content pipeline for this product."
},
"pipeline_type": {
"type": "string",
"enum": [
"seo_intent",
"reward_intent"
]
},
"opportunity_system": {
"type": "string",
"description": "System context for generation prompts: what this product is, in the product's own voice."
},
"opportunity_rules": {
"type": "string",
"description": "What counts as a worthwhile trend/opportunity for this product — used when picking seeds and expanding opportunities."
},
"article_intent_rules": {
"type": "string",
"description": "Structure/intent guidance for generated articles."
},
"intent_creative_direction": {
"type": "string",
"description": "Free-form style/voice guidance for generated content."
},
"seed_picker_rules": {
"type": "string",
"description": "Guidance for the seed-selection step specifically."
},
"content_posting_frequency": {
"type": "string",
"enum": [
"daily",
"3x_week",
"weekly",
"off"
],
"description": "How often this product's connected X account posts autonomous trend tweets. Defaults to 3x_week (Mon/Wed/Fri)."
},
"publish_destinations": {
"type": "array",
"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).",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"webhook",
"x_post",
"ar_calendar"
]
},
"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"
}
},
"required": [
"type"
]
}
},
"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."
},
"payment_config": {
"type": "object"
},
"logistics_config": {
"type": "object"
},
"mobile_push": {
"type": "object"
}
},
"required": [
"id",
"name",
"site_url"
]
}🟡update_product(id, name, site_url, default_country, content_enabled, ...)
Update product fields (partial patch — only send fields to change).
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Lowercase product id (letters, digits, hyphen, underscore)."
},
"name": {
"type": "string"
},
"site_url": {
"type": "string"
},
"default_country": {
"type": "string"
},
"content_enabled": {
"type": "boolean",
"description": "Enable/disable the content pipeline for this product."
},
"pipeline_type": {
"type": "string",
"enum": [
"seo_intent",
"reward_intent"
]
},
"opportunity_system": {
"type": "string",
"description": "System context for generation prompts: what this product is, in the product's own voice."
},
"opportunity_rules": {
"type": "string",
"description": "What counts as a worthwhile trend/opportunity for this product — used when picking seeds and expanding opportunities."
},
"article_intent_rules": {
"type": "string",
"description": "Structure/intent guidance for generated articles."
},
"intent_creative_direction": {
"type": "string",
"description": "Free-form style/voice guidance for generated content."
},
"seed_picker_rules": {
"type": "string",
"description": "Guidance for the seed-selection step specifically."
},
"content_posting_frequency": {
"type": "string",
"enum": [
"daily",
"3x_week",
"weekly",
"off"
],
"description": "How often this product's connected X account posts autonomous trend tweets. Defaults to 3x_week (Mon/Wed/Fri)."
},
"publish_destinations": {
"type": "array",
"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).",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"webhook",
"x_post",
"ar_calendar"
]
},
"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"
}
},
"required": [
"type"
]
}
},
"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."
},
"payment_config": {
"type": "object"
},
"logistics_config": {
"type": "object"
},
"mobile_push": {
"type": "object"
}
},
"required": [
"product_id"
]
}🔴delete_product(product_id)
Permanently delete a product.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
}
},
"required": [
"product_id"
]
}🟡set_payment_config(product_id, payment_config)
Set/merge the product's payment_config (enable payments, catalog_mode, skus, discount, custom_fields, webhook URLs, return URLs, sandbox).
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"payment_config": {
"type": "object"
}
},
"required": [
"product_id",
"payment_config"
]
}🟡set_logistics_config(product_id, logistics_config)
Set the product's logistics_config.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"logistics_config": {
"type": "object"
}
},
"required": [
"product_id",
"logistics_config"
]
}🟡set_mobile_push_config(product_id, mobile_push)
Set the product's mobile_push config.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"mobile_push": {
"type": "object"
}
},
"required": [
"product_id",
"mobile_push"
]
}🟡upload_product_icon(product_id, image_base64, content_type)
Upload a product icon/logo (base64-encoded JPEG/PNG/WebP, max 2MB).
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"image_base64": {
"type": "string"
},
"content_type": {
"type": "string",
"enum": [
"image/jpeg",
"image/jpg",
"image/png",
"image/webp"
]
}
},
"required": [
"product_id",
"image_base64",
"content_type"
]
}🔴remove_product_icon(product_id)
Remove the product's icon/logo.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
}
},
"required": [
"product_id"
]
}🟢get_webhook_secret(product_id)
Return the product's fulfillment webhook signing secret.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
}
},
"required": [
"product_id"
]
}⚪rotate_webhook_secret(product_id)
Rotate the product's fulfillment webhook signing secret.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
}
},
"required": [
"product_id"
]
}🟢get_onboarding_status(product_id)
Bank-transfer onboarding status (merchant bank, alert inbox, auto-approve).
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
}
}
}🟡save_merchant_bank(bank_name, account_name, account_number, auto_approve_enabled, product_id, ...)
Save the merchant bank account used to receive bank-transfer payments.
输入模式
{
"type": "object",
"properties": {
"bank_name": {
"type": "string"
},
"account_name": {
"type": "string"
},
"account_number": {
"type": "string",
"description": "10-digit NUBAN account number."
},
"auto_approve_enabled": {
"type": "boolean"
},
"product_id": {
"type": "string"
},
"alert_source_emails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"bank_name",
"account_name",
"account_number"
]
}🟡save_alert_sources(alert_source_emails)
Save the allowlist of bank-alert source email addresses.
输入模式
{
"type": "object",
"properties": {
"alert_source_emails": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"alert_source_emails"
]
}⚪rotate_inbox
Rotate the bank-alert forwarding inbox address.
输入模式
{
"type": "object",
"properties": {}
}🟢list_bank_alert_guides
List supported banks and their alert-forwarding setup guides.
输入模式
{
"type": "object",
"properties": {}
}🟢test_parse_bank_alert(from_addr, subject, text, html)
Test-parse a bank alert email (debug the alert parser).
输入模式
{
"type": "object",
"properties": {
"from_addr": {
"type": "string"
},
"subject": {
"type": "string"
},
"text": {
"type": "string"
},
"html": {
"type": "string"
}
},
"required": [
"from_addr",
"text"
]
}🟢list_deposits(product_id, status, limit, offset)
List payment deposits for a product.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"approved",
"rejected",
"expired"
]
},
"limit": {
"type": "integer"
},
"offset": {
"type": "integer"
}
},
"required": [
"product_id"
]
}⚪approve_deposit(product_id, deposit_id)
Approve a pending/expired deposit and run fulfillment.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"deposit_id": {
"type": "string"
}
},
"required": [
"product_id",
"deposit_id"
]
}⚪reject_deposit(product_id, deposit_id, reason)
Reject a deposit.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"deposit_id": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"product_id",
"deposit_id"
]
}🟡set_deposit_refund_status(product_id, deposit_id, refund_status, note)
Set the refund_status on an approved deposit.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"deposit_id": {
"type": "string"
},
"refund_status": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"product_id",
"deposit_id",
"refund_status"
]
}⚪resend_deposit_fulfillment(product_id, deposit_id)
Resend/retry fulfillment for an approved deposit.
输入模式
{
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"deposit_id": {
"type": "string"
}
},
"required": [
"product_id",
"deposit_id"
]
}🟢list_bank_credits(status)
List unmatched/review bank credits for reconciliation.
输入模式
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"unmatched",
"review",
"matched",
"dismissed"
]
}
}
}⚪assign_bank_credit(credit_id, deposit_id)
Assign an unmatched bank credit to a pending deposit.
输入模式
{
"type": "object",
"properties": {
"credit_id": {
"type": "string"
},
"deposit_id": {
"type": "string"
}
},
"required": [
"credit_id",
"deposit_id"
]
}⚪dismiss_bank_credit(credit_id)
Dismiss a bank credit as not a sale.
输入模式
{
"type": "object",
"properties": {
"credit_id": {
"type": "string"
}
},
"required": [
"credit_id"
]
}社区
证据