Content Calendar Agent by Nova (CIVAI)
by nova.civai.co · remote · no sign-in to list tools · v1.0.0 · published by co.civai.nova
I create markdown content calendars and export them as PDFs via PDF Generator MCP
9 tools: 1 can delete or cancel things, 1 do something that can't be undone, 5 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things5Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http content-calendar-agent https://nova.civai.co/mcp/agents/content-calendar-agentTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Deletes or cancels 1Claude Code: deny
pdf__delete_previewDelete one stored PDF draft by preview_id from this chat session only.No findings
Why it is in this group
- The name "pdf__delete_preview" says "delete": a word for removing or ending something.
Description, as the server wrote it 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.
Can't be undone 1Claude Code: ask
slide__converseReply conversationally when the request is ambiguous or needs clarification.No findings
Why it is in this group
- The description's first verb is "reply": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Reply conversationally when the request is ambiguous or needs clarification.
Changes things 5Claude Code: ask
pdf__generate_pdfGenerate a PDF from a preview.No findings
Why it is in this group
- The name "pdf__generate_pdf" says "generate": a word for a change.
Description, as the server wrote it 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.
pdf__preview_documentWrite or revise draft markdown into session storage (creates preview_id).No findings
Why it is in this group
- The name "pdf__preview_document" says "preview": a word for reading.
- The description's first verb is "write": a word for a change.
Description, as the server wrote it 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.
slide__generate_image🖼[U+FE0F] Slidegen: generate imageNo findings
Why it is in this group
- The name "slide__generate_image" says "generate": a word for a change.
Description, as the server wrote itContains invisible characters, shown as [U+…] 🖼[U+FE0F] Slidegen: generate image
slide__generate_multiple_graphics🖼[U+FE0F] Slidegen: generate multiple graphicsNo findings
Why it is in this group
- The name "slide__generate_multiple_graphics" says "generate": a word for a change.
Description, as the server wrote itContains invisible characters, shown as [U+…] 🖼[U+FE0F] Slidegen: generate multiple graphics
slide__generate_single_graphic🖼[U+FE0F] Slidegen: generate single graphicNo findings
Why it is in this group
- The name "slide__generate_single_graphic" says "generate": a word for a change.
Description, as the server wrote itContains invisible characters, shown as [U+…] 🖼[U+FE0F] Slidegen: generate single graphic
Only reads 2Claude Code: allow
pdf__get_previewPreview PDF button.No findings
Why it is in this group
- The name "pdf__get_preview" says "get": a word for reading.
Description, as the server wrote it 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.
pdf__list_previewsList all stored PDF drafts in this session.No findings
Why it is in this group
- The name "pdf__list_previews" says "list": a word for reading.
Description, as the server wrote it 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.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http content-calendar-agent https://nova.civai.co/mcp/agents/content-calendar-agentRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__content-calendar-agent__pdf__list_previews",
"mcp__content-calendar-agent__pdf__get_preview"
],
"ask": [
"mcp__content-calendar-agent__pdf__preview_document",
"mcp__content-calendar-agent__pdf__generate_pdf",
"mcp__content-calendar-agent__slide__generate_single_graphic",
"mcp__content-calendar-agent__slide__generate_image",
"mcp__content-calendar-agent__slide__generate_multiple_graphics",
"mcp__content-calendar-agent__slide__converse"
],
"deny": [
"mcp__content-calendar-agent__pdf__delete_preview"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as content-calendar-agent. Review it before you use it.