Server data from the Official MCP Registry
Plan a social campaign calendar across brands and platforms.
About
Plan a social campaign calendar across brands and platforms.
Security Report
The reviewed code is a local campaign planner with deterministic draft generation, approval flags, and queue export, and it makes no network calls on its default paths. The main concerns are that the approval gate is just caller-supplied boolean flags, which an agent can set itself, and that the MCP tool definitions, index module, and Worker source were not provided, so those parts could not be verified. The only network code is a user-configured generic HTTP text router that is not used by the campaign workflow. Supply chain analysis found 8 known vulnerabilities in dependencies (2 critical, 4 high severity). Package verification found 1 issue.
7 files analyzed · 14 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-pooriaarab-agentic-campaign": {
"args": [
"-y",
"agentic-campaign"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
agentic-campaign
Package · Quickstart · Runtime surfaces
agentic-campaign is an open-source social campaign planner for developers who need draft calendars, explicit slot approval, and text queue exports. It runs as a TypeScript SDK, command-line interface (CLI), or Model Context Protocol (MCP) server. Campaign planning and approval run locally; this package never publishes social posts.
Install
npm install agentic-campaign
Node.js 18 or later is required. TypeScript declarations are included, with two direct runtime dependencies.
Export your first campaign draft
Save this as campaign-demo.mjs. No credentials, environment variables, or .env loader are required.
import { createCampaign, approveSlot, exportQueue } from "agentic-campaign";
const campaign = createCampaign({
brand: "Acme",
goal: "launch a feature",
platforms: ["linkedin", "x"],
weeks: 1,
postsPerWeek: 2,
startDate: "2026-11-01",
});
console.log(campaign.schedule.length);
console.log(exportQueue(campaign).length);
const approved = approveSlot(campaign, "slot-1", { live: true, approved: true });
const queue = exportQueue(approved);
console.log(queue.length, queue[0].brand, queue[0].targets[0]);
node campaign-demo.mjs
Success prints 2, 0, and 1 Acme linkedin.
The approval flags change local state; they do not send a post.
Export text includes an AI-assistance disclosure and needs editorial review.
How it works
Brief -> deterministic pillars and daily draft slots
Draft slot + explicit approval -> approved slot
Approved or scheduled slots -> { brand, text, targets } queue
Queue -> a downstream publisher you implement separately
Why it exists
Developers need campaign planning data they can inspect and pass between tools. Buffer and Hootsuite provide social calendars with publishing workflows. agentic-campaign supplies local plan generation and approval-filtered text exports for code and agent sessions.
Compare
Scope checked on 2026-10-14 against the official pages linked below.
| Scope | agentic-campaign | Buffer | Hootsuite |
|---|---|---|---|
| Main workflow | Generate local plans and export drafts | Plan, schedule, and publish social posts | Plan, schedule, and publish social posts |
| Calendar representation | In-memory campaign objects | Product content calendar | Product content calendar |
| Publishing in this package | None | No Buffer adapter | No Hootsuite adapter |
Coverage
| Surface | Status | Behavior |
|---|---|---|
| Campaign brief | ✓ | Brand, goal, platform labels, slot count, and start date |
| Content pillars | ✓ | Three fixed pillars: Educate, Proof, Engage |
| Format labels | ✓ | Four rotating labels: short post, carousel, video, story |
| Slot approval | ✓ | Draft-to-approved transition with two explicit flags |
| Queue export | ✓ | Approved and scheduled slots become text queue items |
| LinkedIn and X (Twitter) | Labels only | Example target strings; no network adapters |
| Other platform names | Labels only | Arbitrary nonempty strings; no support registry |
| Local text router | scaffold | Receipt generation only |
| Generic HTTP text router | ✓ | Posts {text} to your endpoint; separate from campaign export |
| Cloudflare Workers handler | scaffold for campaigns | Health and text summary only; no campaign routes |
There are zero social publishing connectors, two shared text-routing adapters, three fixed pillars, and four format labels. The source and local tests verify planning behavior. Zero external integrations were credential-checked for this rewrite.
Common use cases
- Node.js release teams generate draft slots for LinkedIn and X (Twitter) labels.
- TypeScript agencies plan separate campaign objects for client brands.
- MCP client developers review and approve slots within one agent session.
- Custom publisher developers consume
{brand, text, targets}queue items through their own pipeline.
Features
- Campaign plans:
createCampaignbuilds draft slots; see the quickstart. - Explicit approvals:
approveSlotrequireslive: trueandapproved: true. - Queue exports:
exportQueuekeeps approved or scheduled slots and includes draft disclosure text. - Agent sessions: MCP tools retain campaigns in the server's in-memory map.
- Shared utilities: Text summaries, generic dispatch, guards, logging, and in-memory cost reports are SDK exports.
Runtime surfaces
The Node.js SDK exports createCampaign, approveSlot, exportQueue, and shared text utilities.
| CLI command | Behavior |
|---|---|
campaign create --brand Acme --goal launch --platforms linkedin,x --weeks 1 --posts-per-week 2 | Print a new campaign; accepts --start-date |
campaign list | List campaigns from the current process map |
campaign show --id <id> | Read a campaign from that map |
campaign approve-slot --id <id> --slot slot-1 --live --approve | Approve a draft in that map |
campaign export --id <id> | Export approved or scheduled slots from that map |
costs | Print current process cost units |
mcp | Start the stdio server |
Run commands with npx agentic-campaign. --help and --version print help and version output.
Separate CLI invocations start fresh maps. Use the SDK or a persistent MCP session for the full lifecycle.
All six MCP tools: create_campaign, list_campaigns, show_campaign, approve_campaign_slot, export_campaign_queue, and get_cost_report.
Start them with npx agentic-campaign mcp or npx agentic-campaign-mcp.
The Worker source exposes GET /health and POST /summarize only.
Optional PACK_NAME changes its health response label. You deploy and secure the Worker yourself.
Delivery and behavior limits
weeks * postsPerWeeksets total slots across all labels, rather than slots per platform.- Slots advance one calendar day each.
weeksdoes not bound the schedule to that many weeks. - Brief
quietHoursis accepted but ignored. Slots contain dates, without posting times. - The daily cap is SDK-only input; the generator still advances a day after each slot.
- Pillars, hooks, and formats use fixed code templates. No language model generates campaign text.
- Format labels do not create carousel images, videos, stories, or attachments.
- Campaign IDs use normalized brand and start date. Same-brand, same-date plans can overwrite a session map entry.
- CLI and MCP storage is in memory. There is no file store, database, or restart recovery.
- Only draft-to-approved transitions have an exported helper. Scheduling and completion need application code.
- Queue items omit dates, slot IDs, and media. Downstream code must preserve scheduling metadata separately.
- There is no automatic delivery, retry, deduplication, platform authentication, or engagement analytics.
- Cost reports track generic text dispatch units. Campaign planning and approvals record no costs.
Integration guides
- Node.js campaign approval and export example
- CLI and MCP campaign lifecycle reference
- Export and storage constraints
The export tool describes its shape as agentic-publish-compatible in source. This package does not call agentic-publish or verify delivery compatibility. No separate public documentation site is configured.
Status
Version 0.1.0 is an early release; APIs can change before 1.0. Report problems through GitHub issues. Public case studies are not published in this repository.
FAQ
What is agentic-campaign?
agentic-campaign generates local campaign plans and exports reviewed draft text. It provides SDK, CLI, and MCP interfaces for developers.
Which integrations are verified?
agentic-campaign has no social publishing connectors or platform credential verification. Its shared generic HTTP text router is separate from the campaign workflow.
Does agentic-campaign provide a managed publishing service?
agentic-campaign produces data inside your process. You supply storage, deployment, editorial review, and any publisher.
How is agentic-campaign different from Buffer?
agentic-campaign generates campaign objects and approval-filtered queues in code. Buffer provides a social planning and publishing product; see its publishing overview.
How is agentic-campaign different from Hootsuite?
agentic-campaign exposes a local planning SDK and agent tools. Hootsuite provides a content calendar and publishing workflows; see its publishing overview.
Does agentic-campaign publish to LinkedIn or X (Twitter)?
agentic-campaign stores those names as target labels. It makes no social network requests and validates no platform-specific constraints.
Why does agentic-campaign list show no campaigns after create?
agentic-campaign starts a fresh in-memory map for each standalone CLI invocation. Use a shared SDK object or one persistent MCP server session to retain campaigns.
Does agentic-campaign generate copy with a language model?
agentic-campaign uses fixed pillar descriptions and hook templates. Its export includes an AI-assistance disclosure, but no model API is called.
What does live approval do?
agentic-campaign requires both live and approval flags to change a draft slot to approved. That local state change makes the slot eligible for export and sends nothing externally.
Contributing
Run npm ci, npm run build, npm run typecheck, and npm test from the repository.
License
MIT. See the license text.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
FinAgent
Freeby mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
