Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Descripción del creador (original en inglés)
Self-hosted life OS: habits, goals, tasks, finances and notes over a token-protected API.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
LIFEOS_BASE_URL, LIFEOS_API_TOKEN, LIFEOS_MCP_TIMEOUT_MSLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"lifeos": {
"command": "npx",
"args": [
"-y",
"@edicodes/lifeos-mcp"
],
"env": {
"LIFEOS_BASE_URL": "your-value",
"LIFEOS_API_TOKEN": "your-value",
"LIFEOS_MCP_TIMEOUT_MS": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add lifeos --env LIFEOS_BASE_URL=your-value --env LIFEOS_API_TOKEN=your-value --env LIFEOS_MCP_TIMEOUT_MS=your-value -- npx -y @edicodes/lifeos-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"lifeos": {
"command": "npx",
"args": [
"-y",
"@edicodes/lifeos-mcp"
],
"env": {
"LIFEOS_BASE_URL": "your-value",
"LIFEOS_API_TOKEN": "your-value",
"LIFEOS_MCP_TIMEOUT_MS": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"lifeos": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@edicodes/lifeos-mcp"
],
"env": {
"LIFEOS_BASE_URL": "your-value",
"LIFEOS_API_TOKEN": "your-value",
"LIFEOS_MCP_TIMEOUT_MS": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
LIFEOS_MCP_TIMEOUT_MS envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub edrisranjbar, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: LIFEOS_BASE_URL, LIFEOS_API_TOKEN
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (2.0.0) llegó al registro hace 28 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Local stdio server using the official MCP SDK, Node 22.9+ (24 recommended) and Zod validation. All tools call LifeOS /api/v1 over HTTP. No SQL, filesystem, arbitrary state-key, config or credential-management tools are exposed.
cd mcp
npm ci cp .env.example .env npm start
Set the ignored .env:
LIFEOS_BASE_URL=https://lifeos.example.com
LIFEOS_API_TOKEN=replace-with-your-dedicated-random-token LIFEOS_MCP_TIMEOUT_MS=10000
Use the same dedicated token configured in PHP (at least 32 characters; generate 32 random bytes). Install the API first. Remote origins require verified HTTPS; HTTP is permitted only for localhost/127.0.0.1/::1 development. URL credentials, query strings and subpaths are rejected. Redirects are rejected to prevent forwarding credentials. Timeout covers response parsing and must be 100–120000 ms. Stdout contains only protocol messages; startup/errors do not log tokens or upstream response bodies.
npm start loads .env from mcp. Clients that launch node src/index.js directly must supply environment values. Do not commit real client configs or tokens.
The server is published on npm as @edicodes/lifeos-mcp and listed in the MCP Registry as io.github.edrisranjbar/lifeos, so clients can run it without cloning the repo:
{
"mcpServers": { "lifeos": { "command": "npx", "args": ["-y", "@edicodes/lifeos-mcp"], "env": { "LIFEOS_BASE_URL": "https://lifeos.example.com", "LIFEOS_API_TOKEN": "replace-with-your-dedicated-random-token" } } } }
To run your own checkout instead, point the client at src/index.js:
{
"mcpServers": { "lifeos": { "command": "node", "args": ["/absolute/path/lifeos/mcp/src/index.js"], "env": { "LIFEOS_BASE_URL": "https://lifeos.example.com", "LIFEOS_API_TOKEN": "replace-with-your-dedicated-random-token" } } } }
For Codex, set the token in its launch environment and forward it in user ~/.codex/config.toml, following the official OpenAI documentation:
[mcp_servers.lifeos]
command = "node" args = ["/absolute/path/lifeos/mcp/src/index.js"] env_vars = ["LIFEOS_API_TOKEN"]
[mcp_servers.lifeos.env] LIFEOS_BASE_URL = "https://lifeos.example.com" LIFEOS_MCP_TIMEOUT_MS = "10000"
Use actual absolute paths. No client configuration is installed automatically. This implementation is stdio only; clients requiring a remote MCP URL need a separate authenticated transport bridge/server. /api/v1 is not an MCP transport URL.
| Domain | Tools |
|---|---|
| Read anything | lifeos_query |
| Goals | lifeos_create_goal, lifeos_update_goal, lifeos_delete_goal |
| Tasks | lifeos_create_task, lifeos_update_task, lifeos_complete_task, lifeos_delete_task |
| Habits | lifeos_complete_habit, lifeos_uncomplete_habit |
| Finance | lifeos_log_expense, lifeos_set_income |
| Notes | lifeos_create_note, lifeos_update_note, lifeos_delete_note |
All reads go through the read-only lifeos_query tool. Its type picks what to read: dashboard, goals, goal, tasks, task, habits, today_habits, finance_summary, expenses, incomes, notes or note. goal, task and note require id. tasks takes optional source, goal_id, board_id and column_id filters; task takes source, goal_id and board_id to resolve ambiguous IDs. finance_summary, expenses and incomes take an optional period. notes and note take include_secret. Parameters that don't apply to the chosen type are rejected before any request is made. Writes stay as separate tools, so each one gets its own approval prompt and destructive ones stay marked.
Upgrading from 1.x: version 2.0.0 replaces the 12 read tools (lifeos_dashboard, lifeos_list_goals, lifeos_get_goal, lifeos_list_tasks, lifeos_get_task, lifeos_list_habits, lifeos_get_today_habits, lifeos_finance_summary, lifeos_list_expenses, lifeos_list_incomes, lifeos_list_notes, lifeos_get_note) with lifeos_query. For example, lifeos_get_goal with { id } becomes lifeos_query with { type: "goal", id }. Clients that call the old names directly need updating; clients that discover tools at startup only need a restart.
Updates take id and a patch object. Goal measures/tasks supplied in a patch replace their lists; omitted fields survive. Task creation requires source and container IDs. Task update/complete/delete optionally take source/container filters to resolve ambiguous IDs; query tasks first to obtain IDs. Finance amounts are Toman; period defaults to active. Habit dates default to Tehran today. Completion/uncompletion/set-income are idempotent. Deletes permanently remove data and are explicitly marked destructive; approval behavior is controlled by the client.
Secret notes are omitted by default, including direct lookup. Explicit include_secret: true on a notes/note query or on update/delete requires server permission. Dashboard never includes secrets. No tool returns the token. Success returns concise JSON text and structured {data: ...}; failures have isError: true and safe code/message/status.
Example prompts:
Reload the browser after external edits. Stale UI saves return conflicts instead of replacing API changes. A network timeout can happen after a write commits; inspect saved state before retrying non-idempotent create/expense calls.
npm test
Mocked errors/timeouts/malformed responses, schemas and a real stdio handshake run by default. For disposable MySQL/API integration, follow the root README and set LIFEOS_TEST_BASE_URL=http://localhost:8000. Integration refuses remote hosts and requires tests/mysql_fixture.php; it never loads production config.
Read via lifeos_query types notepad_documents (list) and notepad_document (id). Write via lifeos_create_notepad_document, lifeos_update_notepad_document (id, patch), and lifeos_delete_notepad_document (id). Fields: title, body, format (markdown/html). Body replaces the source; omitted fields are preserved. Treat returned HTML as data. Reconnect the MCP client after updating its server.