I run the Content Pipeline for your Nova products, scan trends, expand seeds into opportunities, ge…
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.
Delete staged opportunities that shouldn't be generated.
The content product id (from list_products on Product Admin).
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 content-pipeline-agent https://nova.civai.co/mcp/agents/content-pipeline-agent
Delete staged opportunities that shouldn't be generated.
| Argument | Type | Description |
|---|---|---|
| product_id* | string | The content product id (from list_products on Product Admin). |
| opportunity_ids* | array |
{
"type": "object",
"required": [
"product_id",
"opportunity_ids"
],
"properties": {
"product_id": {
"type": "string",
"description": "The content product id (from list_products on Product Admin)."
},
"opportunity_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}Expand selected seeds into content opportunities (level 2 of the pipeline).
| Argument | Type | Description |
|---|---|---|
| seed_ids | array | |
| product_id* | string | The content product id (from list_products on Product Admin). |
| country_code | string | |
| limit_per_seed | integer | |
| lookback_hours | integer |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"seed_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"product_id": {
"type": "string",
"description": "The content product id (from list_products on Product Admin)."
},
"country_code": {
"type": "string"
},
"limit_per_seed": {
"type": "integer"
},
"lookback_hours": {
"type": "integer"
}
}
}Generate draft articles for selected opportunities (seo_intent or reward_intent, per the product's pipeline_type).
| Argument | Type | Description |
|---|---|---|
| product_id* | string | The content product id (from list_products on Product Admin). |
| opportunity_ids* | array |
{
"type": "object",
"required": [
"product_id",
"opportunity_ids"
],
"properties": {
"product_id": {
"type": "string",
"description": "The content product id (from list_products on Product Admin)."
},
"opportunity_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}Check the status/result of a background pipeline job (scan, expand, generate, publish, index all run as jobs).
| Argument | Type | Description |
|---|---|---|
| job_id* | string |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string"
}
}
}Submit published URLs to Google Search Console for indexing.
| Argument | Type | Description |
|---|---|---|
| urls* | array | |
| product_id* | string | The content product id (from list_products on Product Admin). |
{
"type": "object",
"required": [
"product_id",
"urls"
],
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string"
}
},
"product_id": {
"type": "string",
"description": "The content product id (from list_products on Product Admin)."
}
}
}List staged article drafts for a product (unpublished by default).
| Argument | Type | Description |
|---|---|---|
| published | boolean | |
| product_id* | string | The content product id (from list_products on Product Admin). |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"published": {
"type": "boolean"
},
"product_id": {
"type": "string",
"description": "The content product id (from list_products on Product Admin)."
}
}
}List recent pipeline jobs.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| status | string |
{
"type": "object",
"properties": {
"limit": {
"type": "integer"
},
"status": {
"type": "string"
}
}
}List staged content opportunities for a product.
| Argument | Type | Description |
|---|---|---|
| status | string | |
| product_id* | string | The content product id (from list_products on Product Admin). |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"status": {
"type": "string"
},
"product_id": {
"type": "string",
"description": "The content product id (from list_products on Product Admin)."
}
}
}List the most recently scanned seeds for a product.
| Argument | Type | Description |
|---|---|---|
| product_id* | string | The content product id (from list_products on Product Admin). |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"product_id": {
"type": "string",
"description": "The content product id (from list_products on Product Admin)."
}
}
}Publish drafts to the product's configured publish destination(s) (webhook and/or a connected X account).
| Argument | Type | Description |
|---|---|---|
| auto_index | boolean | |
| product_id* | string | The content product id (from list_products on Product Admin). |
| article_ids | array | |
| public_urls | object | Deprecated manual id->url map, only needed if no webhook destination is configured. |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"auto_index": {
"type": "boolean"
},
"product_id": {
"type": "string",
"description": "The content product id (from list_products on Product Admin)."
},
"article_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"public_urls": {
"type": "object",
"description": "Deprecated manual id->url map, only needed if no webhook destination is configured."
}
}
}Scan trends for a product and stage candidate seeds (level 1 of the pipeline).
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| product_id* | string | The content product id (from list_products on Product Admin). |
| country_code | string | |
| lookback_hours | integer |
{
"type": "object",
"required": [
"product_id"
],
"properties": {
"limit": {
"type": "integer"
},
"product_id": {
"type": "string",
"description": "The content product id (from list_products on Product Admin)."
},
"country_code": {
"type": "string"
},
"lookback_hours": {
"type": "integer"
}
}
}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.