Content Calendar Agent by Nova (CIVAI)
I create markdown content calendars and export them as PDFs via PDF Generator MCP
사용해야 할까요
품질 및 안전성
발견 사항 (2)
- LOWslide__converse에서
- LOWslide__generate_multiple_graphics에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"content-calendar-agent": {
"url": "https://nova.civai.co/mcp/agents/content-calendar-agent"
}
}
}원격 엔드포인트
https://nova.civai.co/mcp/agents/content-calendar-agentstreamable-http할 수 있는 일
도구 목록
도구 (9)
🟢pdf__list_previews(notification_message)
List all stored PDF drafts in this session. Returns previews[{preview_id, title}], count, and most_recent_preview_id. Use when the user taps List PDFs or asks which drafts exist. Does not show document body — follow with get_preview after they pick.
입력 스키마
{
"type": "object",
"properties": {
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
},
"required": [
"notification_message"
]
}🟢pdf__get_preview(preview_id, notification_message)
Preview PDF button. Call with no args first: if one draft exists, returns document_markdown; if multiple, returns needs_selection + previews — emit_display layout P (interaction_mode none) numbered picker only. NEVER collect_user_input or emit_display input for preview_id. After user replies with a number/title, call again with preview_id.
입력 스키마
{
"type": "object",
"properties": {
"preview_id": {
"type": "string",
"description": "Optional. Omit on first Preview PDF tap so the tool can list drafts. Pass only after the user picks from the numbered list (or when chat already has a clear id)."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
},
"required": [
"notification_message"
]
}🟡pdf__preview_document(title, content, update_preview_id, notification_message)
Write or revise draft markdown into session storage (creates preview_id). Agent-only — not a suggestion button. Use when the user asks to create/write/edit document content. For showing an existing draft use get_preview (Preview PDF). Never put emit_display chrome into content.
입력 스키마
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Document title (real topic title, not 'Preview')"
},
"content": {
"type": "string",
"description": "Full substantive markdown for the PDF pages (use --- between pages; each page needs a heading). Must be the document the user requested — never UI phrases like 'Here is a preview of your PDF document.'"
},
"update_preview_id": {
"type": "string",
"description": "When the user asks to adjust an existing preview, set this to that preview's preview_id. Omit to create a new preview."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
},
"required": [
"content",
"notification_message"
]
}⚪pdf__generate_pdf(preview_id, notification_message)
Generate a PDF from a preview. Call with no args first: if multiple previews exist, returns needs_selection + previews (title + preview_id) — ask the user which one, then call again with preview_id. If only one preview exists, generates it immediately. Returns pdf_url when generated.
입력 스키마
{
"type": "object",
"properties": {
"preview_id": {
"type": "string",
"description": "Unique preview_id from a prior preview_document result. Omit to list choices (when multiple) or generate the only/last preview."
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
},
"required": [
"notification_message"
]
}🔴pdf__delete_preview(preview_id, notification_message)
Delete one stored PDF draft by preview_id from this chat session only. Hidden from suggestion buttons — agent-only. Returns deleted true/false. Does not remove already-generated public PDF files. Never accept path-like ids.
입력 스키마
{
"type": "object",
"properties": {
"preview_id": {
"type": "string",
"description": "Hex preview_id from list_previews / get_preview in THIS session only"
},
"notification_message": {
"type": "string",
"description": "Short user-facing sentence for this action if the follow-up reply fails. Plain text only; do not mention template syntax or variable names."
}
},
"required": [
"preview_id",
"notification_message"
]
}⚪slide__generate_single_graphic(detail)
🖼️ Slidegen: generate single graphic
입력 스키마
{
"type": "object",
"properties": {
"detail": {
"type": "string",
"description": "Specific parameters for this action."
}
}
}⚪slide__generate_image(detail)
🖼️ Slidegen: generate image
입력 스키마
{
"type": "object",
"properties": {
"detail": {
"type": "string",
"description": "Specific parameters for this action."
}
}
}⚪slide__generate_multiple_graphics(detail)
🖼️ Slidegen: generate multiple graphics
입력 스키마
{
"type": "object",
"properties": {
"detail": {
"type": "string",
"description": "Specific parameters for this action."
}
}
}⚪slide__converse(reply_hint)
Reply conversationally when the request is ambiguous or needs clarification.
입력 스키마
{
"type": "object",
"properties": {
"reply_hint": {
"type": "string",
"description": "Optional hint for the conversational reply."
}
}
}권장 프롬프트
bgpt_pdf_generator__get_previewbgpt_pdf_generator__list_previewsbgpt_pdf_generator__list_previewsbgpt_pdf_generator__get_previewbgpt_pdf_generator__get_previewbgpt_pdf_generator__list_previews커뮤니티
증거