FocusMCP pivoted to a CLI-first architecture. The primary entry point is now
@focusmcp/cli— install withnpm install -g @focusmcp/cli(ornpx @focusmcp/cli start) and plug it into any MCP client (Claude Code, Cursor, Codex, Gemini CLI…) via stdio.This desktop client (Tauri + SvelteKit) is no longer actively developed. The repository is archived on GitHub — please do not open issues or pull requests here. It is kept as a reference and may be revisited later if a native desktop shell becomes valuable, at which point it would most likely be rebuilt as a thin wrapper around the CLI sidecar.
To use FocusMCP today, head to
focus-mcp/cli.
Desktop shell for FocusMCP — a Tauri + SvelteKit + TailwindCSS app that spawns and supervises the Node.js sidecar running the MCP core.
See the PRD in the core repo for the product vision.
| Layer | Tech | Role |
|---|---|---|
| Shell | Tauri 2 (Rust) | Tray icon, sandbox, window, spawns the sidecar |
| UI | SvelteKit 5 (SPA) + TailwindCSS | Dashboard, marketplace, logs |
| Sidecar | Node.js 22 (from @focusmcp/core) |
MCP Registry + EventBus + Router + HTTP endpoint |
| Packaging | Tauri bundler | Installer for Windows/macOS/Linux |
- Node.js ≥ 22 (see
.nvmrc) - pnpm ≥ 10
- Rust stable (
rustup install stable) - Platform-specific Tauri deps: see Tauri prerequisites
pnpm install
pnpm tauri:dev| Script | Purpose |
|---|---|
pnpm dev |
SvelteKit dev server only (no Tauri window) |
pnpm tauri:dev |
Full desktop dev loop (Tauri + SvelteKit HMR) |
pnpm tauri:build |
Production bundle (installer) |
pnpm lint / pnpm lint:fix |
Biome lint |
pnpm typecheck |
svelte-check with strict TS |
pnpm test |
Vitest (frontend unit tests) |
pnpm test:rust |
cargo test in src-tauri/ |
client/
├── src/ # SvelteKit routes & components
├── src-tauri/ # Rust: Tauri entrypoint, sidecar management
├── static/ # Static assets
├── docs/adr/ # Architecture decision records
└── .github/ # CI workflows & templates