The servers are separable, and that is the practical way in: any MCP client can be pointed straight at one server's `server.py` under `servers/` for the one capability you want, with no obligation to adopt the client, the scheduler or the memory layer. Taken whole it is an ambitious local-first stack, and the honest reading is that ambition costs — Ollama, several pulled models and the RAM to hold them. The per-server key requirements are listed up front, which makes it easy to run only the parts you can actually authenticate.
A local MCP runtime with a set of tool servers behind it. You can run the whole thing — a web client, multi-agent orchestration, persistent memory and a job scheduler — or ignore that and point any MCP client at the individual servers in the repository. Inference runs through Ollama locally rather than a hosted model.
- Code work: analysis, generation and refactoring in `code_assistant` (12 tools), review and bug fixing in `code_review` (3 tools), and a Python and bash execution sandbox in `code_runner` (4 tools)
- Gmail and Google Calendar in `google` (13 tools), reachable through either OAuth or an Apps Script deployment
- A media library with ML-driven recommendations in `plex` (18 tools), and notes in `trilium` (11 tools)
- Vector search and management in `rag` (8 tools), which needs Ollama with `bge-large` pulled
- Text processing and web search in `text` (8 tools), image search, analysis and generation in `image` (6 tools) — image generation is free, search needs `SERPER_API_KEY`
- Weather, time and location in `location` (3 tools), using Open-Meteo with no key and falling back to OpenWeatherMap if one is set
- Machine facts in `system` (3 tools) and Discord webhook notifications in `discord` (2 tools)
- If you run the client too: persistent memory across sessions, RAG over your documents, a proactive job scheduler, and a web UI at `http://localhost:9000/client/ui/index.html`
Python 3.12+, Ollama installed, and 16GB or more of RAM recommended. Models are pulled per capability: a tool-calling model for inference, a small one for routing, `bge-large` for RAG embeddings and a vision model for image work; local GGUF files work too. Individual servers need only their own keys — `SERPER_API_KEY` for image search, `PLEX_URL` and `PLEX_TOKEN` for the media library, `TRILIUM_URL` and `TRILIUM_TOKEN` for notes, `DISCORD_WEBHOOK_URL` for notifications — and Google works through Apps Script as an alternative to OAuth. Setup is a virtualenv and `pip install -r requirements.txt`; on WSL2 create the venv in the Linux filesystem, since NTFS cannot hold the symlinks a venv needs. The client package is `mcp-client-ui` (1.0.0). The project describes itself as experimental and for personal use rather than production.
