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"
]
}社群
證據