remi
Crea listas, añade recordatorios, organízalos en secciones y haz que todo se sincronice en todos tus dispositivos Apple, desde la terminal.
¿Por qué remi?
Secciones con sincronización en iCloud — la única CLI que soporta secciones de Recordatorios de Apple. Créalas, asigna recordatorios, muévelos entre ellas y todo se sincronizará.
Lenguaje natural —
--due "next tuesday",--repeat "every 2 weeks on monday,friday"Coincidencia difusa (fuzzy matching) — escribe
remi list shoppingen lugar deremi list "Groceries / Shopping List"Pensado para agentes — salida JSON estructurada, plugin para Claude Code, skill para skills.sh, compatible con OpenClaw
Rápido — helpers compilados en Swift, sin Electron, sin interfaz gráfica
vs otras herramientas
remi | |||
Secciones | Sí | No | No |
Sincronización de secciones (iCloud) | Sí | N/A | N/A |
Recurrencia | Sí | Sí | No |
Fechas en lenguaje natural | Sí | Sí | No |
Salida JSON | Sí | Sí | No |
Integración con agentes IA | Sí | Parcial | No |
Related MCP server: MCP Apple Reminders
Instalación
brew tap mattheworiordan/tap && brew install remiO vía npm:
npm install -g @mattheworiordan/remi
# or run without installing
npx @mattheworiordan/remi listsInicio rápido
remi lists # See all lists
remi list "Groceries" # View a list (fuzzy: remi list groceries)
remi add "Groceries" "Buy milk" --section "Dairy" # Add to a section
remi today # What's due today?
remi complete "Groceries" "milk" # Fuzzy completeUso
Comprobar qué hay pendiente
remi today # Due today
remi overdue # Past due
remi upcoming --days 7 # Coming up
remi search "dentist" # Search across all listsGestionar recordatorios
remi add "Work" "Review PR" --due "next friday" --priority high
remi add "Work" "Standup" --due tomorrow --repeat daily
remi complete "Work" "standup"
remi update "Work" "Review PR" --due "in 3 days"
remi delete "Work" "Review PR" --confirmFechas: tomorrow, next tuesday, in 3 days, o YYYY-MM-DD
Recurrencia: daily, weekly, monthly, every 2 weeks, every 3 months on monday,friday
Organizar con secciones
remi sections "Groceries" # List sections
remi create-section "Groceries" "Produce" # Create a section
remi add "Groceries" "Bananas" --section "Produce" # Add to a section
remi move "Groceries" "Bananas" --to-section "Dairy" # Move between sectionsLas secciones se sincronizan con iCloud mediante relojes vectoriales CRDT. Consulta cómo funciona.
Salida JSON
Cada comando admite --json para una salida legible por máquina:
remi today --json
# {"success": true, "data": [...]}Integración con agentes IA
remi está diseñado para agentes de IA. Úsalo como servidor MCP, plugin de Claude Code o skill:
Servidor MCP
{
"mcpServers": {
"remi": {
"command": "remi",
"args": ["--mcp"]
}
}
}16 herramientas: remi_lists, remi_add, remi_complete, remi_move, remi_today, remi_search y más, todas con coincidencia difusa y respuestas estructuradas.
Otras integraciones
# Claude Code plugin
claude plugin marketplace add mattheworiordan/remi
# skills.sh
npx skills add mattheworiordan/remi
# OpenClaw
clawhub install remiPermisos
En la primera ejecución, macOS te pedirá que concedas acceso a Recordatorios (haz clic en Permitir). Las funciones de sección también necesitan Acceso total al disco para tu aplicación de terminal.
remi authorize # Guides you through both
remi doctor # Shows what's grantedRequisitos
macOS 13+ (Ventura o posterior)
Node.js 18+
Xcode Command Line Tools (
xcode-select --install)
Cómo funciona
remi utiliza tres capas porque Apple nunca expuso las secciones en su API pública:
Capa | Qué | Por qué |
EventKit | CRUD de recordatorios, consultas, recurrencia | API pública estable |
ReminderKit | CRUD de secciones | Framework privado: la única forma de crear secciones que se sincronicen |
SQLite + Token Maps | Pertenencia a secciones | Escrituras directas en la base de datos con relojes vectoriales CRDT para la sincronización con iCloud |
La historia completa de ingeniería inversa explica lo que descubrimos sobre la arquitectura de sincronización no documentada de Apple.
Contribución
git clone https://github.com/mattheworiordan/remi.git && cd remi
npm install && npm run build:swift && npm run build
npm test # Unit tests
npm run test:integration # Integration tests (needs Reminders access)Licencia
MIT — Matthew O'Riordan
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP connector for Apple Reminders — search, create, complete, and edit via your own Mac.
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables fuzzy search, creation, and management of Apple Reminders via CLI or MCP tools.15 npmMIT
- AlicenseNot gradedqualityCmaintenanceA macOS-only MCP server that exposes Apple Reminders to AI clients, enabling create, read, update, delete, search, and organization of reminders and lists through natural language.1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Apple Reminders, enabling management of reminders and lists via tools like add, edit, complete, and delete reminders.MIT
- AlicenseAqualityDmaintenanceAn MCP server for managing Apple Reminders via remindctl on macOS, integrating with Claude Desktop and CoWork.1010 npm3MIT