pencms MCP server
2026년 10월 17일 커밋네이티브 MCP server를 갖춘 headless CMS를 통해 AI agent와 사람이 Markdown 중심의 콘텐츠를 협업할 수 있습니다.
다른 이름 slpstream/pencms
- 스타
- 1
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 10월 17일
- 라이선스
- MIT
pencms MCP란?
pencms은(는) MCP server입니다. 네이티브 MCP server를 갖춘 headless CMS를 통해 AI agent와 사람이 Markdown 중심의 콘텐츠를 협업할 수 있습니다.
프로젝트 README에서 생성된 요약
pencms MCP server 정보
pencms는 headless 아키텍처를 통해 AI agent와 사람이 Markdown 중심의 콘텐츠를 함께 작업할 수 있도록 지원합니다. 이 self-hosted 시스템은 Python FastAPI 백엔드와 PHP 관리 프론트엔드를 사용하여 flat file을 관리합니다. 초안 저장을 위해 별도의 데이터베이스 대신 Markdown과 YAML에 의존하므로, agent와 사람 모두 항상 동일한 소스에서 작업합니다.
개발자는 Docker Compose와 Caddy를 사용하여 노트북이나 VPS에 로컬로 배포할 수 있습니다. 설정 시 8008 포트에서 실행되는 Python 백엔드와 8009 포트의 PHP 프론트엔드가 필요합니다. agent는 취소 가능한 액세스 키를 사용하여 /api/mcp의 MCP 엔드포인트를 통해 시스템과 상호작용합니다. 이를 통해 Git remote, 디스크 스토리지 및 TLS 설정을 제어하면서도 빠른 속도로 읽기 및 쓰기가 가능합니다. 또한 시스템에는 로컬 SQLite 인덱스가 포함되어 있어 저사양 기기에서도 쿼리 응답성을 유지합니다.
활용 사례
- 1Agentic 콘텐츠 생성AI agent가 Markdown 파일을 직접 읽고 써서 새로운 포스트를 게시할 수 있습니다.
- 2원격 저장소 동기화shell 액세스 없이 HTTPS REST API를 사용하여 콘텐츠를 GitHub 또는 GitLab과 동기화할 수 있습니다.
- 3멀티 agent 워크플로우 관리개별 액세스 키를 발급하여 한 명의 운영자가 여러 AI agent를 관리할 수 있습니다.
- 4사람 중심의 콘텐츠 관리사용자는 전용 PHP 관리 인터페이스를 통해 테마, 스토리지 및 구조를 관리할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
구성
PHP_CLI_SERVER_WORKERS
| 이름 | 설명 | 유형 |
|---|---|---|
| PHP_CLI_SERVER_WORKERS | — |
자동 검사
2026년 11월 15일에 실행됨전체 보고서 →아직 인증되지 않았습니다. 서버는 80점 이상의 점수, 심각한 결함 없음, 그리고 검사에 충분한 데이터를 갖추어야 합니다. 검사 방식 · 점수를 높이기 위해 수정할 항목
- 소스 저장소 연결 및 접근 가능slpstream/pencms is public and reachablegithub.com/slpstream/pencms ↗통과
- 패키지가 이 저장소를 소스로 명시검사되지 않음
- 빌드 출처(Sigstore 증명)검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-10-17github.com/slpstream/pencms ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음검사되지 않음
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기Many agents via keys. One operator.
PenCMS is a self-hosted, MIT-licensed Markdown and Git CMS with a Python (FastAPI) backend and a PHP admin frontend. Humans and agents edit the same flat files with no hidden state or secondary database. You control the machine — disk, Git remotes, TLS, and revocable access keys — while agents read and publish directly through MCP.
Self-Hosting PenCMS? Follow the step-by-step Quickstart Guide to get the Python Backend and PHP Frontend running on your machine in 5 minutes.
Key Principles
- Contract-First: Every backend endpoint, schema, and validation rule is defined in a hand-written OpenAPI specification (
core/openapi.yaml). - Flat-File Source of Truth: All pages, posts, and entries are stored as clean Markdown + YAML files. No second database of “AI drafts.”
- Two doors: PHP admin for humans (structure, keys, themes, storage); MCP (
/api/mcp) for agents (read/write at agent speed). - High-Performance Query Cache: Reads use a local SQLite index on write, so the CMS stays responsive on small machines.
- Shell-Free Git Syncing: Remote repos (GitHub/GitLab) via HTTPS REST APIs when a shell is restricted.
- Selfhosting: Run locally, on LAN HTTPS, or a small VPS.
PenCMS v0.2.0 explicitly bundles Traven Editor v0.3.0.
Repository Structure
pencms/
├── core/ # Contract & Specifications
│ ├── openapi.yaml # API Spec (Source of Truth)
│ ├── schemas/ # Document Schemas
│ └── docs/ # Guides (incl. quickstart.md, mcp_guide.md)
│
├── backend-python/ # FastAPI CMS + MCP + OAuth (the product brain, its backend)
│
└── frontend-php/ # Admin UI client (bundles Traven Editor v0.3.0)
Run / Deploy
| Path | Doc |
|---|---|
| Self-hosting on your own hardware (ELI5 Quickstart) | Step-by-step beginner guide — core/docs/quickstart.md |
| VPS / public HTTPS | Docker Compose + Caddy — core/docs/deploy_compose.md (deploy/) |
| LAN home server | mkcert + reverse proxy — core/docs/lan_https.md |
| An agent’s own site | core/docs/agent-owned-site.md |
| Agents / MCP / OAuth | core/docs/mcp_guide.md |
| Users + agent keys | core/docs/users-and-access.md |
2-Minute Local Quickstart (Laptop / Desktop)
PenCMS runs as two coordinated engines—the Python Backend (API & storage on :8008) and the PHP Frontend (Admin UI & Blog on :8009).
-
Start the Backend (Terminal 1):
cd backend-python python3 -m venv venv && source venv/bin/activate pip install -r requirements.txt playwright install chromium uvicorn app.main:app --reload --port 8008 -
Start the Frontend (Terminal 2):
cd frontend-php PHP_CLI_SERVER_WORKERS=8 php -c php.ini -S 127.0.0.1:8009 -t public router.php -
Initialize & Explore:
- Create your admin account: http://127.0.0.1:8009/admin/setup.php
- Admin Dashboard: http://127.0.0.1:8009/admin/
- Public Blog: http://127.0.0.1:8009/blog/
👉 For full step-by-step guidance, home server setup, and troubleshooting, read the ELI5 Quickstart Guide.
Docker Compose (VPS / Public HTTPS)
For cloud VPS deployments with automatic Let's Encrypt TLS:
cd deploy
cp .env.example .env # set PUBLIC_HOST, JWT_SECRET, JWT_ISSUER, MCP_RESOURCE_URL, CORS_ALLOW_ORIGINS
docker compose up -d --build
See core/docs/deploy_compose.md for full VPS configuration and reverse proxy details.
License
Open-source, licensed under the MIT License.
pencms MCP 질문
사람과 AI agent는 콘텐츠에 어떻게 상호작용하나요?
사람은 PHP 관리 프론트엔드를 사용하고, agent는 MCP server를 사용하여 콘텐츠를 직접 읽고 씁니다.
콘텐츠는 어디에 저장되나요?
모든 페이지, 포스트, 엔트리는 flat-file 시스템 내에 깔끔한 Markdown 및 YAML 파일로 저장됩니다.
데이터베이스가 필요한가요?
flat-file을 단일 진실 공급원(source of truth)으로 사용하지만, 고성능 쿼리를 유지하기 위해 쓰기 작업 시 로컬 SQLite 인덱스를 활용합니다.