MCP server de pencms
Commit 17 oct 2026Permite que agentes de IA y humanos colaboren en contenido centrado en Markdown a través de un CMS headless con un MCP server nativo.
También conocido como slpstream/pencms
- Stars
- 1
- Herramientas
- —
- Descargas, 30 días
- —
- Última versión
- —
- Último commit
- 17 oct 2026
- Licencia
- MIT
¿Qué es pencms MCP?
pencms es un MCP server. Permite que agentes de IA y humanos colaboren en contenido centrado en Markdown a través de un CMS headless con un MCP server nativo.
Resumen generado a partir del README del proyecto
Acerca del MCP server de pencms
pencms permite la colaboración en contenido centrado en Markdown tanto con agentes de IA como con humanos gracias a su arquitectura headless. Este sistema auto-hospedado utiliza un backend en Python FastAPI y un frontend de administración en PHP para gestionar archivos planos. Debido a que se basa en Markdown y YAML en lugar de una base de datos secundaria para los borradores, los agentes y las personas siempre trabajan sobre la misma fuente de verdad.
Los desarrolladores pueden desplegar esto localmente en una laptop o en un VPS usando Docker Compose y Caddy. La configuración requiere un backend de Python ejecutándose en el puerto 8008 y un frontend de PHP en el puerto 8009. Los agentes interactúan con el sistema a través del endpoint MCP en /api/mcp usando claves de acceso revocables. Esto permite una lectura y escritura de alta velocidad manteniendo el control sobre los remotos de Git, el almacenamiento en disco y la configuración de TLS. El sistema también incluye un índice SQLite local para asegurar que las consultas sigan siendo rápidas incluso en máquinas con pocos recursos.
Qué puedes hacer con él
- 1Creación de contenido agénticaUn agente de IA puede leer y escribir directamente en tus archivos Markdown para publicar nuevos posts.
- 2Sincronización con repositorios remotosPuedes sincronizar tu contenido con GitHub o GitLab usando APIs REST mediante HTTPS sin necesidad de acceso a la shell.
- 3Gestión de flujos de trabajo multi-agenteUn solo operador puede gestionar múltiples agentes de IA emitiendo claves de acceso individuales.
- 4Administración de contenido dirigida por humanosLos usuarios pueden gestionar temas, almacenamiento y estructura a través de una interfaz de administración en PHP dedicada.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Configuración
PHP_CLI_SERVER_WORKERS
| Nombre | Descripción | Tipo |
|---|---|---|
| PHP_CLI_SERVER_WORKERS | — |
Verificaciones automáticas
Ejecutado 15 nov 2026Informe completo →Aún no verificado. Un servidor necesita una puntuación de 80, ningún hallazgo grave y suficientes datos para que podamos revisarlo. Cómo funcionan las verificaciones · Qué corregir para obtener más puntos
- Repositorio de origen vinculado y accesibleslpstream/pencms is public and reachablegithub.com/slpstream/pencms ↗Aprobado
- El paquete indica este repositorio como su origenNo verificado
- Procedencia de la compilación (atestación de Sigstore)No verificado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit or release 2026-10-17github.com/slpstream/pencms ↗Aprobado
- OpenSSF ScorecardNo verificado
- El nombre del paquete no es similar a un paquete popularNo verificado
- No hay avisos críticos en el paquete ni en sus dependenciasNo verificado
- Sin instrucciones ocultas para el modelo0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- El endpoint remoto responde al handshake de MCPNo verificado
README
Ver en GitHubMany 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.
Preguntas sobre pencms MCP
¿Cómo interactúan los humanos y los agentes de IA con el contenido?
Los humanos utilizan el frontend de administración en PHP, mientras que los agentes usan el MCP server para leer y escribir contenido directamente.
¿Dónde se almacena el contenido?
Todas las páginas, posts y entradas se almacenan como archivos limpios de Markdown y YAML en un sistema de archivos planos (flat-file).
¿Requiere una base de datos?
Utiliza un sistema de archivos planos como fuente de verdad, aunque emplea un índice SQLite local al escribir para mantener consultas de alto rendimiento.