create_content_sourceCreate content source
Queue a public HTTPS article for asynchronous repurposing into post ideas. Poll get_content_source for results.
Authorization and permissions
Requires a valid delegated OAuth token and access to the selected workspace.
- OAuth scope
mcp:ai- Workspace requirement
- Authorized workspace and current membership required
Current workspace member; AI usage is tracked and the MCP AI limit is 30 calls per user per hour.
Input schema
{
"additionalProperties": false,
"properties": {
"requested_post_count": {
"default": 10,
"description": "Requested post count.",
"maximum": 20,
"minimum": 5,
"type": "integer"
},
"team_id": {
"description": "Consented workspace ID.",
"minimum": 1,
"type": "integer"
},
"url": {
"description": "Url.",
"format": "uri",
"maxLength": 2000,
"type": "string"
}
},
"required": [
"team_id",
"url"
],
"type": "object"
}Result schema
{
"additionalProperties": false,
"properties": {
"source": {
"additionalProperties": false,
"description": "Source.",
"properties": {
"created_at": {
"description": "Created at.",
"type": "string"
},
"error": {
"description": "Error.",
"type": "string"
},
"id": {
"description": "Public content-source sqid.",
"maxLength": 32,
"minLength": 1,
"type": "string"
},
"ideas": {
"description": "Ideas.",
"items": {
"additionalProperties": false,
"description": "Ideas item.",
"properties": {
"content": {
"description": "Content.",
"type": "string"
},
"id": {
"description": "Id.",
"minimum": 1,
"type": "integer"
},
"order": {
"description": "Order.",
"minimum": 0,
"type": "integer"
},
"post_id": {
"description": "Post id.",
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"content",
"order",
"post_id"
],
"type": "object"
},
"type": "array"
},
"requested_post_count": {
"description": "Requested post count.",
"type": "integer"
},
"status": {
"description": "Status.",
"enum": [
"pending",
"processing",
"completed",
"failed"
]
},
"title": {
"description": "Title.",
"type": "string"
},
"url": {
"description": "Url.",
"format": "uri",
"type": "string"
}
},
"required": [
"id",
"url",
"title",
"status",
"error",
"requested_post_count",
"created_at"
],
"type": "object"
}
},
"required": [
"source"
],
"type": "object"
}Example arguments
{
"requested_post_count": 10,
"team_id": 42,
"url": "https://example.com/research/customer-interviews"
}Example result
{
"source": {
"created_at": "2026-10-01T14:05:00+00:00",
"error": "",
"id": "S4n8Qp2L",
"requested_post_count": 10,
"status": "pending",
"title": "Customer interview research",
"url": "https://example.com/research/customer-interviews"
}
}Errors and retry
Requires current workspace membership; conversion also requires draft creation permission or an owned profile. Unknown and cross-workspace source/idea IDs return not found. Source creation accepts public HTTPS HTML only (1 MB maximum); fetch failures appear asynchronously in status=failed and error. AI usage is tracked and mcp:ai creation is limited to 30 calls per user per hour; no additional MCP AI quota is enforced.
Reads are safe to retry and pending/processing sources should be polled with get_content_source. Before retrying source creation after an ambiguous response, list sources to avoid duplicate jobs. Idea conversion is atomic and returns the existing draft on retry; read state before retrying deletion.
Effects, limits, and source
Workspace roles, subscription and AI usage limits, approval rules, and server rate limits are enforced at call time. Rate-limit responses identify when to retry; scheduled work returns state rather than holding the request open.
services.repurposing.create_content_source