{"slug": "show-hn-edi-life-os-self-hosted-life-dashboard-with-an-mcp-server-for-ai", "title": "Show HN: Edi Life OS – self-hosted life dashboard with an MCP server for AI", "summary": "Edi Life OS, a self-hosted life dashboard from developer Edris Ranjbar, ships with an optional MCP server exposing 26 tools across its dashboard, goals, tasks, habits, finances and notes so AI assistants such as Claude Desktop and Claude Code can read and update the data. The PHP and MySQL application bundles ten workspaces — Overview, Growth, Focus, Finance, Habittify, Kanban, Calendar, Goals, Notepad and Notes — and runs on shared hosting or via Docker Compose, with the MCP server reaching the app only through its token-protected HTTP API rather than the database or credentials.", "body_md": "**One self-hosted home for your focus, habits, goals, money and projects — with an MCP server so your AI assistant can work alongside you.**\n\n[Quick start](#quick-start) · [Tour](#a-quick-tour) · [AI / MCP](#talk-to-your-life-os-with-ai) · [Deploy](https://github.com/edrisranjbar/lifeos/blob/main/docs/deployment.md) · [API](https://github.com/edrisranjbar/lifeos/blob/main/docs/api.md)\n\nMost of us run our lives across a to-do app, a habit tracker, a budgeting spreadsheet, a Pomodoro timer and a notes app — and none of them know about each other. **Edi Life OS puts all of it in one calm, private dashboard** and connects the small things you do today to the direction you want your life to take.\n\n- **Everything in one place.** Ten workspaces share one design, one sign-in and one database.\n- **Connected, not just collected.** Habits drive goal progress, Kanban cards show up in the calendar, and the Overview turns it all into one daily score.\n- **Yours.** Runs on any PHP + MySQL host, even cheap shared hosting. No subscription, no tracking, no vendor lock-in.\n- **AI-ready.** A built-in MCP server lets Claude and other assistants read your dashboard, plan goals, log habits and track expenses for you.\n\n|  **Growth** — Six life dimensions, each linked to long-term goals, SMART goals, habits and tasks. Guided weekly, monthly and quarterly reviews. |  **Focus** — Pomodoro sessions with breaks, a built-in focus soundtrack and a landscape that follows the time of day. | \n|  **Habittify** — Small daily habits, streaks and a seven-day picture of your consistency. |  **Kanban** — Boards with labels, priorities, due dates, checklists, comments and attachments. | \n\n## **All ten workspaces**\n\n| Workspace | What you can do | \n|---|---|\n| **Overview** | A live productivity score, focus and habit trends, goals, finances and a seven-day weather forecast. | \n| **Growth** | Connect six life dimensions to long-term goals, SMART goals, habits and tasks. Run weekly, monthly or quarterly reviews. [Guide](https://github.com/edrisranjbar/lifeos/blob/main/docs/growth.md) | \n| **Focus** | Timed sessions with short and long breaks, session history and a focus soundtrack. | \n| **Finance** | Expenses, income and budgets in Toman. Debts you owe and credits owed to you, one-time or recurring, recorded straight into the ledger. [Guide](https://github.com/edrisranjbar/lifeos/blob/main/docs/financial-commitments.md) | \n| **Habittify** | Daily habits with completion, streaks and monthly progress. | \n| **Kanban** | Draggable cards and lists with priorities, labels, dates, checklists, comments and file attachments. | \n| **Calendar** | Due cards and financial dues across all boards in Month or Schedule view. | \n| **Goals** | SMART goals with measures, deadlines, priorities, checklists — or progress driven by a habit. | \n| **Notepad** | Markdown notes with preview and export. | \n| **Notes** | Sticky notes with colors, fonts and connections. | \n\nDates follow **Asia/Tehran**. The weather card shows Qeshm Island via Open-Meteo; its tide figure is a modeled estimate, not for navigation.\n\nEdi Life OS ships with an optional [MCP](https://modelcontextprotocol.io) server that exposes **26 tools** across your dashboard, goals, tasks, habits, finances and notes. Connect it to Claude Desktop, Claude Code or any MCP client and ask in plain language:\n\n*\"Show me my LifeOS dashboard.\"*\n\n*\"Create a SMART goal called Build a home studio, due in three months, and add Buy acoustic panels as a task.\"*\n\n*\"Mark Reading complete for today.\"*\n\n*\"Log a 450,000 Toman food expense and show my balance.\"*\n\nThe MCP server talks to your app only through its token-protected HTTP API. It never touches your database or credentials. Setup takes a minute — see [MCP server](#mcp-server) below.\n\n```\ngit clone https://github.com/edrisranjbar/lifeos.git && cd lifeos\ncp .env.example .env    # set your sign-in and passwords\ndocker compose up -d\n```\n\nOpen [localhost:8080](http://localhost:8080) and sign in. MySQL, the app and your attachments each live in their own volume, so `docker compose up -d --build` after a `git pull` upgrades without losing data.\n\nDownload `lifeos-<version>.zip` from the [latest release](https://github.com/edrisranjbar/lifeos/releases/latest) and extract it into your hosting **home directory**, so `public_html/` becomes your web root and the backend sits safely above it. Copy `config.example.php` to `config.php`, fill in your MySQL details, and open your site. See the [deployment guide](https://github.com/edrisranjbar/lifeos/blob/main/docs/deployment.md) for details.\n\nYou need **PHP 8.1+** (with `pdo_mysql` and `mbstring`) and **MySQL 8+** (or MariaDB 10.4+).\n\n```\ngit clone https://github.com/edrisranjbar/lifeos.git\ncd lifeos\ncp config.example.php config.php   # PowerShell: Copy-Item config.example.php config.php\n```\n\nEdit `config.php` with your database connection and the username and password you want to sign in with, then start the server:\n\n```\nphp -S localhost:8000 -t public_html server.php\n```\n\nOpen [localhost:8000](http://localhost:8000) and sign in. The database and tables are created on first use. You can change your sign-in later in **Settings**.\n\nImportant\n\n`config.php` and `.env` hold real credentials and are gitignored. Never commit them.\n\n| Component | Requirement | \n|---|---|\n| PHP | **8.1+** with`pdo_mysql` and`mbstring` | \n| Database | **MySQL 8+** ; also tested with MariaDB 10.4 | \n| Web server | PHP's built-in server locally; Apache with rewrites for hosting | \n| Weather | PHP `curl` and outbound HTTPS | \n| MCP server | Optional: **Node.js 22.9+** | \n| API tests | Optional: `pdo_sqlite` | \n\nA private `/api/v1` API covers the dashboard, goals, tasks, habits, finances and sticky notes. It uses its own bearer token, separate from your browser sign-in.\n\n```\nphp -r \"echo bin2hex(random_bytes(32));\"\n```\n\nSet the result as `api_token` in `config.php` (or the `LIFEOS_API_TOKEN` environment variable), then:\n\n```\ncurl -H \"Authorization: Bearer $LIFEOS_API_TOKEN\" https://your-host/api/v1/dashboard\n```\n\nSee the [API reference](https://github.com/edrisranjbar/lifeos/blob/main/docs/api.md) for endpoints, payloads and errors.\n\n```\ncd mcp\nnpm ci\ncp .env.example .env   # set LIFEOS_BASE_URL and LIFEOS_API_TOKEN\nnpm start\n```\n\nThe server runs over **stdio**; there is no hosted MCP endpoint. The [MCP guide](https://github.com/edrisranjbar/lifeos/blob/main/mcp/README.md) lists every tool and shows client configuration for Claude and Codex.\n\n- Everything lives in **your** MySQL database. Habits use dedicated tables; other workspaces store JSON documents in`app_state` .\n- Saves use revision checks, so a stale tab can't silently overwrite newer changes. API writes use transactions and row locks.\n- Data from older browser-only versions is imported once; conflicting copies are archived as `legacy_backup_*` records.\n- Back up the database, attachment files and your configuration together.\n\nMoving from the old Habittify SQLite database? See [migrating Habittify](https://github.com/edrisranjbar/lifeos/blob/main/docs/deployment.md#migrating-habittify-from-sqlite).\n\nEdi Life OS is built for a **single owner**.\n\n- The API token grants read and write access to every supported domain. Token scopes and app-level rate limiting are not implemented, so set request limits at the hosting layer.\n- Use HTTPS anywhere other than localhost, and keep tokens out of URLs, frontend code, screenshots and logs.\n- Secret notes are hidden from API reads by default. The secret flag controls visibility; it is not separate encryption.\n\n```\npublic_html/          Browser workspaces, shared assets and Apache entry points\nlib/                  API domains, response helpers and state transactions\nmcp/                  Optional Node.js stdio MCP server\ntests/                Timer, API, MySQL and integration checks\ndocs/                 Guides, plus README screenshots in docs/media\nconfig.example.php    Configuration template (no real credentials)\nserver.php            Development router and application routing\napi.php               HTTP API entry point\n```\n\nBuilt with PHP, MySQL and vanilla JavaScript — no frontend build step, no framework.\n\n`Dockerfile`, `docker-compose.yml` and `docker/config.php` run the app with configuration from environment variables.\n\n- [API reference](https://github.com/edrisranjbar/lifeos/blob/main/docs/api.md) — authentication, routes, data formats and concurrency\n- [MCP guide](https://github.com/edrisranjbar/lifeos/blob/main/mcp/README.md) — tools, environment settings and client setup\n- [Deployment guide](https://github.com/edrisranjbar/lifeos/blob/main/docs/deployment.md) — Apache, shared hosting, backups and migration\n- [Development guide](https://github.com/edrisranjbar/lifeos/blob/main/docs/development.md) — local checks and disposable integration fixtures\n- [Growth workspace](https://github.com/edrisranjbar/lifeos/blob/main/docs/growth.md) ·[Debts and credits](https://github.com/edrisranjbar/lifeos/blob/main/docs/financial-commitments.md)\n\n[MIT](https://github.com/edrisranjbar/lifeos/blob/main/LICENSE) © 2026 Edris Ranjbar. Use it, fork it and build on it.\n\nIdeas, bug reports and pull requests are welcome. Open an [issue](https://github.com/edrisranjbar/lifeos/issues) to start a conversation, and see the [development guide](https://github.com/edrisranjbar/lifeos/blob/main/docs/development.md) to run the checks locally.\n\n**If Edi Life OS helps you run your days, consider giving it a ⭐ — it helps others find it.**", "url": "https://wpnews.pro/news/show-hn-edi-life-os-self-hosted-life-dashboard-with-an-mcp-server-for-ai", "canonical_source": "https://github.com/edrisranjbar/lifeos", "published_at": "2026-10-09 00:02:19+00:00", "updated_at": "2026-10-09 00:17:42.639531+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "ai-tools", "developer-tools"], "entities": ["Edi Life OS", "Edris Ranjbar", "Model Context Protocol", "Claude Desktop", "Claude Code", "Open-Meteo", "Qeshm Island", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-edi-life-os-self-hosted-life-dashboard-with-an-mcp-server-for-ai", "markdown": "https://wpnews.pro/news/show-hn-edi-life-os-self-hosted-life-dashboard-with-an-mcp-server-for-ai.md", "text": "https://wpnews.pro/news/show-hn-edi-life-os-self-hosted-life-dashboard-with-an-mcp-server-for-ai.txt", "jsonld": "https://wpnews.pro/news/show-hn-edi-life-os-self-hosted-life-dashboard-with-an-mcp-server-for-ai.jsonld"}}