Ppa
FreeNot checkedAnti-procrastination MCP server using ClickUp for task management. Enables capture, planning, micro-steps, and reflection through tools and prompts.
About
Anti-procrastination MCP server using ClickUp for task management. Enables capture, planning, micro-steps, and reflection through tools and prompts.
README
Convierte un sistema anti-procrastinación (Inbox de cero fricción + máx 3 tareas/día + micro-pasos + anti-parálisis) en un MCP server accesible desde cualquier entorno: Claude Code en cualquier máquina, claude.ai web y móvil.
- Tools (hablan directo con la API de ClickUp):
captura,plan_contexto,procesar_inbox_item,planificar_tarea,siguiente_paso,marcar_hecho. - Prompts (viajan con el servidor, aparecen como comandos en el cliente):
captura,proyecto,plan-hoy,trabado,checkin.
El método
Diseñado para procrastinadores crónicos, con las técnicas que tienen evidencia detrás:
- Captura sin fricción — todo entra al 📥 Inbox en una línea, sin categorizar ni decidir.
- Máximo 3 tareas al día — el backlog no se mira; compite por 3 cupos.
- Micro-pasos — cada tarea se divide en pasos de ≤15 min; el primero de ≤5 min.
- Anti-parálisis — el prompt
trabadodevuelve UN solo micro-paso, nunca una lista. - Cierre sin culpa — el
checkinregistra hechos, no reproches.
Requisitos en ClickUp
Dos listas en tu workspace: 📥 Inbox (captura cruda) y 🎯 Tareas (accionables). Copia sus IDs (visibles en la URL de cada lista) al .env.
Configuración
cp .env.example .env
# 1) CLICKUP_TOKEN: ClickUp → avatar → Settings → Apps → API Token (pk_...)
# 2) PPA_SECRET: openssl rand -hex 24
# 3) INBOX_LIST_ID y TAREAS_LIST_ID: los IDs de tus dos listas
npm install && npm start
# health: curl http://127.0.0.1:5071/ppa-mcp/health
La URL del endpoint MCP es http://127.0.0.1:5071/ppa-mcp/<PPA_SECRET> (el secreto va en el path para que funcione en clientes sin headers personalizados; también acepta Authorization: Bearer <PPA_SECRET>).
Despliegue en un servidor (detrás de Caddy)
El servicio escucha solo en 127.0.0.1:5071; Caddy pone el TLS sin abrir puertos nuevos.
# 1. Copiar el proyecto (sin node_modules ni .env)
rsync -a --exclude node_modules --exclude .env --exclude .git ./ tu-servidor:~/ppa-mcp/
# 2. En el servidor: node >= 20, deps y .env
ssh tu-servidor
cd ~/ppa-mcp && npm install --omit=dev
cp .env.example .env && nano .env
# 3. Servicio systemd (user-level; habilita lingering si no lo tienes:
# sudo loginctl enable-linger $USER)
mkdir -p ~/.config/systemd/user
cp deploy/ppa-mcp.service ~/.config/systemd/user/
systemctl --user daemon-reload && systemctl --user enable --now ppa-mcp
curl http://127.0.0.1:5071/ppa-mcp/health
# 4. Ruta en Caddy (en el bloque de tu sitio)
# handle /ppa-mcp/* {
# reverse_proxy 127.0.0.1:5071
# }
sudo systemctl reload caddy
Endpoint público: https://<tu-dominio>/ppa-mcp/<PPA_SECRET>
Conectar clientes
Claude Code (cualquier máquina):
claude mcp add --transport http --scope user ppa "https://<tu-dominio>/ppa-mcp/<PPA_SECRET>"
Los prompts aparecen como /ppa:captura, /ppa:plan-hoy, /ppa:trabado, /ppa:checkin.
claude.ai (web/móvil): Settings → Connectors → Add custom connector → URL del endpoint (el secreto va en la URL, no requiere OAuth). El conector se sincroniza solo con la app móvil.
Proyectos (un contexto por sesión)
Puedes hacer que una sesión solo vea las tareas de un proyecto. Un proyecto se aplica como etiqueta de ClickUp: cada tarea se crea y se filtra con ese tag, así que la sesión solo ve (y crea) lo de su proyecto. Las etiquetas se autocrean en ClickUp la primera vez que capturas.
Forma recomendada — un solo cliente. Con tu conexión ppa de siempre, fija el proyecto al empezar la sesión con el prompt /ppa:proyecto:
/ppa:proyecto trabajo → el resto de la conversación trabaja solo en "trabajo"
/ppa:plan-hoy → plan de hoy, solo tareas de trabajo
/ppa:trabado → siguiente paso, solo de trabajo
El proyecto viaja como argumento en cada tool durante esa conversación; al abrir una sesión nueva, vuelve a fijarlo (o no, y trabajas en modo global = todas las tareas). Todas las tools (captura, plan_contexto, procesar_inbox_item, planificar_tarea, siguiente_paso) aceptan un argumento opcional proyecto.
Alternativa — aislamiento duro por URL. Si prefieres separación a nivel de conexión (un server distinto por proyecto, sin depender de que el modelo arrastre el argumento), el proyecto también puede ir en la URL y registras un server por proyecto:
claude mcp add --transport http --scope user ppa-trabajo "https://<tu-dominio>/ppa-mcp/<PPA_SECRET>/trabajo"
claude mcp add --transport http --scope user ppa-personal "https://<tu-dominio>/ppa-mcp/<PPA_SECRET>/personal"
El argumento de la tool tiene prioridad sobre el proyecto de la URL. Opcional: define PPA_PROYECTOS=trabajo,personal en el .env como allowlist (rechaza proyectos no listados en la URL; evita tags por typo). Sin esa variable, cualquier proyecto vale.
Notas: las tareas creadas antes de usar proyectos no llevan tag, así que solo aparecen en modo global; etiquétalas en ClickUp si quieres verlas en un proyecto. Una tarea puede llevar varios tags y aparecer en varios proyectos.
Notas
- El servidor es stateless (un transporte por request); no guarda nada en disco.
- Zona horaria del sistema: America/Bogota (ajústala en
src/clickup.jssi aplica). - La URL contiene el secreto: trátala como una contraseña. Rotar = cambiar
PPA_SECRETen.env, reiniciar el servicio y actualizar los clientes. - Complementa bien con rutinas cloud de Claude Code (claude.ai/code/routines) para el plan matutino y el check-in nocturno automáticos.
Installing Ppa
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/angelkurten/ppa-mcpFAQ
Is Ppa MCP free?
Yes, Ppa MCP is free — one-click install via Unyly at no cost.
Does Ppa need an API key?
No, Ppa runs without API keys or environment variables.
Is Ppa hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Ppa in Claude Desktop, Claude Code or Cursor?
Open Ppa on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Notion
Read and write pages in your workspace
by NotionLinear
Issues, cycles, triage — from Claude
by LinearGoogle Drive
Search and read your Drive files
by Googlemindsdb/mindsdb
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).
by mindsdbfulcradynamics/fulcra-context-mcp
MCP server for accessing personal health and biometric data including sleep stages, heart rate, HRV, glucose, workouts, calendar, and location via the Fulcra Li
by fulcradynamicsaymericzip/intlayer
A MCP Server that enhance your IDE with AI-powered assistance for Intlayer i18n / CMS tool: smart CLI access, access to the docs.
by aymericziprinadelph/Agent-MCP
A framework for creating multi-agent systems using MCP for coordinated AI collaboration, featuring task management, shared context, and RAG capabilities.
by rinadelphWhenLabs-org/when
Developer toolkit: auto-detect stack for AI context files, catch port conflicts, validate .env schemas, spot docs drift, audit dependency licenses, and time cod
by WhenLabs-orgBeltran12138/wecom-docs-mcp-server
WeCom (Enterprise WeChat) document operations via MCP: create, read, and edit Docs and Smartsheets (9 tools). Fills the doc-CRUD gap — existing WeCom MCP server
by Beltran12138madbonez/caldav-mcp
Universal MCP server for CalDAV protocol integration. Works with any CalDAV-compatible calendar server including Yandex Calendar, Google Calendar (via CalDAV),
by madbonezCompare Ppa with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All productivity MCPs
