SoloOS MCP Server
by outoftheweed
README.md
# SoloOS
**A full-stack dashboard where the AI agent is a first-class user.**

Tasks, floating notes, and a weekly agenda โ every feature exists twice: a human UI, and an MCP tool your AI agent can call. The GIF above is real: `npm run demo` replays it on your machine โ a scripted MCP client plays the agent and plans the week while the UI updates live.
> ๐ง Early days. Full docs and the story are coming with v0.1.
## Quickstart
Needs **Node 20.19+** (or 22.12+) โ `node -v` to check. Nothing else.
```bash
git clone https://github.com/outoftheweed/soloos && cd soloos
npm install
npm run dev
```
That's it โ no database to set up. SoloOS boots an embedded Postgres (PGlite) persisted to `./data`. Open http://localhost:3000.
Optional: `npm run seed` for demo data, `.env` to plug a real Postgres (Neon, Supabaseโฆ) via `DATABASE_URL`.
## Connect your agent
```bash
npm run mcp:config
```
Prints ready-to-paste config for Claude Code / Claude Desktop. The MCP endpoint lives at `http://localhost:3000/mcp`.
### The 13 tools
| Domain | Tools |
| --- | --- |
| Tasks | `list_tasks` ยท `create_task` ยท `update_task` ยท `complete_task` ยท `delete_task` |
| Floating notes | `list_floating_notes` ยท `create_floating_note` ยท `update_floating_note` ยท `archive_floating_note` |
| Agenda | `get_agenda_week` ยท `add_agenda_event` ยท `remove_agenda_event` ยท `set_agenda_goals` |
## How it fits together
Two first-class users, one server, one database:
```
you your agent
โ โ
โโโโโโโผโโโโโโโ โโโโโโโโผโโโโโโโ
โ React UI โ โ MCP tools โ
โ (polls 2s) โ โ (13, HTTP) โ
โโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ
โ tRPC โ /mcp
โโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโ
โ Express โ one port (3000) โ
โโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโ
โ Drizzle
โโโโโโโโโโผโโโโโโโโโโ
โ PGlite (./data) โ
โ or DATABASE_URL โ
โโโโโโโโโโโโโโโโโโโโ
```
The UI polls every 2 seconds โ that's why the agent's writes appear on screen while they happen. No websockets, no magic, easy to fork.
## Stack
React 19 ยท Vite ยท tRPC ยท Drizzle ยท PGlite/Postgres ยท Express ยท MCP (streamable HTTP)
## Security
An agent that writes to your dashboard deserves a straight answer: localhost-only by default, write tools gated behind `MCP_SECRET`, archives instead of deletes where it matters. The details โ including the honest limits โ are in [SECURITY.md](SECURITY.md).
## License
MIT
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues