Agentic CMS
БесплатноНе проверенOpen-source MCP server that turns any CMS backend into an AI-agent-ready content management system. It provides tools for content CRUD, idea management, and pub
Описание
Open-source MCP server that turns any CMS backend into an AI-agent-ready content management system. It provides tools for content CRUD, idea management, and publication tracking, with safety features requiring human approval for publishing.
README
Open-source MCP server that turns any CMS backend into an AI-agent-ready content management system.
What is this?
Agentic CMS is a Model Context Protocol (MCP) server that gives AI agents full access to your content management workflows — create, read, update, publish, and track content through a standardized protocol.
Instead of building AI features into your CMS, Agentic CMS wraps around it. Your CMS stays as-is. The agents get a clean interface to work with.
┌─────────────────┐ MCP Protocol ┌──────────────┐
│ AI Agents │ ◄──────────────────► │ Agentic CMS │
│ │ stdio / SSE │ MCP Server │
│ · Claude │ │ │
│ · OpenClaw │ │ Adapters: │
│ · Cursor │ │ · Supabase │
│ · Any MCP client│ │ · Payload │
└─────────────────┘ │ · Strapi │
│ · (yours) │
└───────┬───────┘
│
┌───────▼───────┐
│ Your CMS DB │
└───────────────┘
Why?
- Your CMS, your data — Self-hosted, no vendor lock-in
- Adapter pattern — Supabase today, Payload/Strapi/anything tomorrow
- MCP standard — Works with Claude Desktop, OpenClaw, Cursor, and any MCP-compatible client
- Safety first — Publishing requires human approval by default. Agents create drafts, humans publish.
- Open source — MIT licensed. Use it, fork it, extend it.
Features
Tools (MCP)
| Tool | Description |
|---|---|
list_contents |
List content with filters (status, category, tags) |
get_content |
Get a single content item by slug or ID |
create_content |
Create new content (always starts as draft) |
update_content |
Update content fields (title, body, tags, etc.) |
list_ideas |
List content ideas |
promote_idea |
Promote an idea to a draft content item |
create_publication |
Record a publication event (channel, URL, metrics) |
get_metrics |
Get performance metrics for content |
Safety
create_contentalways sets status todraft— agents cannot publish directlyupdate_contentblocks status changes topublished— human approval required- All operations are logged and auditable
Quick Start
1. Install
npm install @brxce/agentic-cms
2. Configure
Create .env:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
3. Run
npx agentic-cms
4. Connect to Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"agentic-cms": {
"command": "npx",
"args": ["@brxce/agentic-cms"],
"env": {
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_SERVICE_ROLE_KEY": "your-key"
}
}
}
}
5. Connect to OpenClaw
# ~/.openclaw/config.yaml
mcp:
servers:
agentic-cms:
command: npx
args: ["@brxce/agentic-cms"]
env:
SUPABASE_URL: https://your-project.supabase.co
SUPABASE_SERVICE_ROLE_KEY: your-key
Adapters
Agentic CMS uses an adapter pattern to support different CMS backends.
Available
- Supabase — For Supabase/PostgreSQL-based CMS setups
Planned
- Payload CMS — TypeScript-native headless CMS
- Strapi — Popular open-source headless CMS
- Directus — SQL-based headless CMS
- Custom — Implement the
CMSAdapterinterface for any backend
Writing Your Own Adapter
import { CMSAdapter } from '@brxce/agentic-cms';
export class MyAdapter implements CMSAdapter {
async listContents(filter?: ContentFilter): Promise<Content[]> {
// Your implementation
}
async getContent(idOrSlug: string): Promise<Content> {
// Your implementation
}
// ... other methods
}
Architecture
src/
├── server.ts # MCP server entry point
├── tools/ # MCP tool definitions
│ ├── contents.ts # Content CRUD tools
│ ├── ideas.ts # Idea management tools
│ └── publications.ts # Publication tracking tools
├── adapters/
│ ├── interface.ts # CMSAdapter interface
│ ├── supabase.ts # Supabase adapter
│ └── (future adapters)
└── types.ts # Shared types
Supabase Schema
If you're starting fresh, here's the minimum schema:
-- Contents
create table contents (
id uuid primary key default gen_random_uuid(),
title text not null,
slug text unique not null,
status text default 'draft' check (status in ('draft', 'review', 'published')),
category text,
body_md text,
tags text[],
hook text,
created_at timestamptz default now(),
updated_at timestamptz default now()
);
-- Ideas
create table ideas (
id uuid primary key default gen_random_uuid(),
raw_text text not null,
source text default 'manual',
promoted_to uuid references contents(id),
created_at timestamptz default now()
);
-- Publications
create table publications (
id uuid primary key default gen_random_uuid(),
content_id uuid references contents(id),
channel text not null,
url text,
published_at timestamptz default now(),
metrics jsonb default '{}'
);
Multi-tenant deployment
agentic-cms 는 env 기반 multi-tenant 구조입니다. 같은 코드베이스로 여러 고객을 각자의 Supabase · Storage · 브랜딩으로 서비스할 수 있습니다.
시스템 prerequisites (모든 tenant 공통)
# macOS
brew install ffmpeg yt-dlp node pnpm [email protected]
# Ubuntu/Debian
sudo apt install ffmpeg python3.12 python3.12-venv
pip install yt-dlp
npm install -g pnpm
# Node.js 22+: https://nodejs.org/
새 고객 onboarding 체크리스트
- Supabase 프로젝트 생성 (고객 전용)
- Free/Pro plan, project_ref 기록
supabase/migrations/*.sql전부 적용 (Studio SQL Editor, 파일명 오름차순 순서대로)- 자동 적용 항목:
- 14+ 테이블 생성 (contents/ideas/variants/blog_posts/carousels/video_projects 등)
- 5 storage bucket 생성 (content-media, studio-renders, references, finished, blog-images) — migration
20260419000000이 자동 처리 - RLS policies 공개 읽기 + service_role 관리
.env파일 3개 작성 (각 프로젝트 루트의.env.example기준)./.env— MCP 서버용./dashboard/.env.local— Next.js dashboard./editor/.env— Python 영상 편집 서버
- Multi-tenant 핵심 env (반드시 고객별로 교체)
SUPABASE_URL/SUPABASE_SERVICE_ROLE_KEY(혹은SUPABASE_SERVICE_KEY)NEXT_PUBLIC_SITE_URL— 고객 웹사이트 URLNEXT_PUBLIC_BRAND_NAME— 뉴스레터 헤더 · meta title suffix 에 노출NEXT_PUBLIC_BRAND_HANDLE/NEXT_PUBLIC_BRAND_EMOJI/NEXT_PUBLIC_BRAND_AVATAR_URL— 캐러셀 워터마크/아바타NEXT_PUBLIC_CONTACT_EMAIL/NEXT_PUBLIC_CONTACT_DOMAIN— 캐러셀 CTA 슬라이드ANALYTICS_OWN_DOMAINS— self-referrer whitelist (쉼표 구분)ANALYTICS_VERCEL_KEYWORDS— vercel preview 도메인 자사 식별NEWSLETTER_FROM— 뉴스레터 발신인"Display Name <addr@domain>"META_TITLE_SUFFIX— blog post meta_title 꼬리TABLE_PROJECTS=video_projects(editor/.env, 필수)STORAGE_MODE=cloud(editor/.env, 권장)
- 외부 API Key (선택 기능)
RESEND_API_KEY— 뉴스레터 발송GOOGLE_SERVICE_ACCOUNT_KEY— GA4/GSC analyticsPOSTIZ_API_URL+POSTIZ_API_KEY— 소셜 채널 발행
- 로컬 개발 기동
# MCP 서버용 의존성 npm install && npm run build # dashboard 의존성 cd dashboard && npm install && cd .. # editor Python 가상환경 cd editor && python3 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt && cd .. # editor Remotion 의존성 cd editor/remotion && pnpm install && cd ../.. # Next.js dashboard + Python editor 동시 기동 cd dashboard && npm run dev:all - Claude Code 에서 MCP 서버 연결
.mcp.json을 repo 루트에 생성 (AGENTS.md예시 참고)- Claude Code 재시작 → 43+ MCP 도구 자동 노출
고객 분리 원칙
- DB 분리 — 고객마다 별도 Supabase 프로젝트 (데이터 완전 격리)
- 코드 공유 — 동일 git branch, env 주입만 다름
- 브랜딩 격리 — 위 env 교체만으로 로고·이메일·도메인 전부 고객 것으로 전환
- 배포 분리 — 고객마다 별도 Vercel/Cloud Run 배포 권장 (env 분리 확실)
코드에 하드코딩된 브랜딩 없음 원칙
신규 기능 추가 시 "AWC", "agenticworkflows.club", "특정 이메일" 등 구체 값을 직접 박지 말고 env 로 주입. 테넌트별 차이가 생길 여지는 전부 env 통로를 둔다.
Philosophy
"Nobody cares about your tech. They care that their problem got solved."
Agentic CMS isn't about adding AI to your CMS. It's about making your content workflow AI-native — so agents handle the repetitive work and humans focus on judgment and creativity.
Built by IntelliEffect as part of the Agentic Workflow Club.
Contributing
Contributions welcome! Please read CONTRIBUTING.md before submitting PRs.
License
Установка Agentic CMS
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/intellieffect/agentic-cmsFAQ
Agentic CMS MCP бесплатный?
Да, Agentic CMS MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Agentic CMS?
Нет, Agentic CMS работает без API-ключей и переменных окружения.
Agentic CMS — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Agentic CMS в Claude Desktop, Claude Code или Cursor?
Открой Agentic CMS на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Agentic CMS with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
