{"id":"d5676ede-5b9e-4d62-ba18-fc3a9b75723f","slug":"useai","kind":"mcp","name":"useai","summary":"Track your AI coding sessions with privacy-first analytics","owner":"devness-com","repoUrl":"https://github.com/devness-com/useai","license":"AGPL-3.0","licenseTier":"strong-copyleft","trust":"community","stars":9,"match":null,"fewStars":false,"format":"mcp","createdAt":null,"addedAt":"2026-10-14T05:48:18.525Z","logoUrl":"https://avatars.githubusercontent.com/u/261576718?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["data-analytics","developer-tools"],"tags":["ai","ai-coding","analytics","claude-code","cursor","developer-tools","privacy-first","typescript"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-14T10:04:11.494Z","sample":false,"url":"https://conduits.dev/tools/useai","language":"TypeScript","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# UseAI\n\n[![npm version](https://img.shields.io/npm/v/@devness/useai.svg)](https://www.npmjs.com/package/@devness/useai)\n[![npm downloads](https://img.shields.io/npm/dm/@devness/useai.svg)](https://www.npmjs.com/package/@devness/useai)\n[![license](https://img.shields.io/npm/l/@devness/useai.svg)](https://github.com/devness-com/useai/blob/main/LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/devness-com/useai)](https://github.com/devness-com/useai)\n\n**Track your AI coding sessions with local-first analytics.**\n\nUseAI is a local-first [MCP server](https://modelcontextprotocol.io/) that records how you use AI coding tools -- session duration, languages, task types, and streaks -- without ever seeing your code. Think of it as Wakatime for AI coding.\n\n## Features\n\n- **Prompt tracking** -- automatically records when you start and stop using AI tools\n- **Clock time vs AI time** -- deduped wall-clock time and total AI session time with multiplier\n- **Parallel sessions** -- run multiple AI sessions across projects, see peak concurrency\n- **Streak tracking** -- daily coding streaks with global leaderboard\n- **AI proficiency** -- prompts evaluated on prompt quality, context, scope, and independence (1-5 scale)\n- **Local dashboard** -- built-in web UI served from the daemon\n- **Public profile & leaderboard** -- opt-in shareable profile at useai.dev with global AI proficiency rankings\n- **Ed25519 signed chain** -- every prompt record is cryptographically sealed for tamper evidence\n- **Seal verification** -- real-time cloud verification at session end, only verified sessions count for leaderboard\n- **30+ AI tools supported** -- Claude Code, Cursor, Windsurf, VS Code, Codex, Gemini CLI, GitHub Copilot, Aider, Cline, Zed, Amazon Q, JetBrains/Junie, Goose, Roo Code, and [many more](https://useai.dev/explore)\n\n## Quick Start\n\n```bash\nnpm install -g @devness/useai\nuseai setup\n```\n\nThis installs the MCP server globally and configures it for your AI tools automatically.\n\n<sub>Or run once without installing: `npx @devness/useai`</sub>\n\n### Manual Setup\n\n<details>\n<summary>Claude Code</summary>\n\n```bash\nclaude mcp add useai -- npx -y @devness/useai\n```\n</details>\n\n<details>\n<summary>Cursor</summary>\n\nAdd to `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"useai\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@devness/useai\"]\n    }\n  }\n}\n```\n</details>\n\n<details>\n<summary>VS Code</summary>\n\nAdd to your VS Code MCP settings:\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"useai\": {\n        \"command\": \"npx\",\n        \"args\": [\"-y\", \"@devness/useai\"]\n      }\n    }\n  }\n}\n```\n</details>\n\n<details>\n<summary>Windsurf</summary>\n\nAdd to your Windsurf MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"useai\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@devness/useai\"]\n    }\n  }\n}\n```\n</details>\n\n> No API key needed. The MCP server runs locally on your machine.\n\n## How It Works\n\nUseAI runs as an MCP (Model Context Protocol) server. When your AI tool starts a conversation, it calls `useai_start`. During the session, periodic `useai_heartbeat` calls track active time intervals. When the conversation ends, `useai_end` seals the session with an Ed25519 signature and a seal verification call to the cloud.\n\nAll data is written to `~/.useai/` as date-based JSONL files (e.g. `2026-04-27.jsonl`).\n\n| MCP Tool | What it does |\n|----------|--------------|\n| `useai_start` | Begin tracking a prompt |\n| `useai_heartbeat` | Keep-alive during long prompts, tracks active time segments |\n| `useai_end` | End prompt, record milestones, evaluation, and seal verification |\n\n### Daemon Mode\n\nFor tools that support HTTP-based MCP (StreamableHTTP), UseAI can run as a background daemon on `127.0.0.1:19200`. This allows multiple AI tool sessions to connect concurrently to the same tracking instance:\n\n```bash\nuseai serve                   # Start daemon + local dashboard\n```\n\nThe setup wizard auto-configures the right mode (stdio or daemon) for each tool.\n\n## What Gets Tracked\n\n- Which AI tool you're using (Cursor, Claude Code, etc.)\n- Prompt duration and task type (coding, debugging, testing, etc.)\n- Active time segments (for accurate clock time calculation)\n- Programming languages used\n- Files touched count\n- Milestone descriptions (title, privateTitle, category, complexity)\n- Project name\n- Evaluation metrics (prompt quality, context, scope, independence, task outcome)\n\n**Never tracked:** your code, prompts, or AI responses.\n\n### What Gets Synced\n\nWhen you sync, session metadata, titles, project names, evaluation scores, and milestones are sent to the server. Private titles and project names are only visible to you as the owner -- public profiles show aggregate stats only.\n\n### Seal Verification\n\nAt the end of each prompt, a verification request is sent to the cloud with the session ID and timestamp. The server generates a unique signature -- proving the session was sealed in real-time. Only verified sessions count towards the leaderboard. If the cloud is unreachable, the session seals normally without verification.\n\n## AI Proficiency Score (APS)\n\nThe APS is a composite 0-1000 score that aggregates your performance across multiple sessions. It combines five components:\n\n| Component | Weight | Description |\n|-----------|--------|-------------|\n| Output | 25% | Complexity-weighted milestones completed |\n| Efficiency | 25% | Complexity weight per hour of AI session time |\n| Prompt Quality | 20% | Average prompt quality, context, and scope scores |\n| Consistency | 15% | Active days ratio, streak, and session frequency |\n| Breadth | 15% | Unique languages, AI tools, and tool leverage |\n\n## Architecture\n\nUseAI is a modular monorepo:\n\n```\npackages/\n  types/          Pure types + zod schemas (zero deps)\n  crypto/         Ed25519 chain, keystore, verification\n  storage/        All filesystem I/O (sessions, config, paths)\n  scoring/        Evaluation frameworks\n  cloud/          Auth, sync, leaderboard API client\n  mcp-server/     3 MCP tools (start/heartbeat/end) -- published as @devness/useai\n  daemon/         Hono HTTP server, REST API routes, autostart, sync scheduler\n  dashboard/      React 19 + Zustand + Tailwind SPA\n  tool-installer/ Install/remove MCP config for 20+ AI tools\n  cli/            Full CLI (Commander.js)\n```\n\n**Tech stack:** TypeScript 5.7 (strict), ESM only, pnpm workspaces, Turborepo, Hono, React 19, Vite 6, Tailwind v3, Zustand v5, Zod, MCP SDK.\n\n## Privacy\n\n- **Local-first** -- data stored in `~/.useai/`, processing happens on your machine\n- **No code transmitted** -- source code, prompts, and AI responses never leave your machine\n- **Open source** -- audit exactly what gets recorded ([AGPL-3.0](LICENSE))\n- **Cryptographic chain** -- Ed25519 signed hash chain for tamper evidence\n- **Opt-in sync** -- data only leaves your machine when you choose to sync\n- **You own your data** -- export or delete date-based JSONL files at any time\n- **Seal verification** -- a lightweight API call at session end for leaderboard eligibility; if offline, session seals normally\n\n## CLI\n\n```bash\nuseai stats         # View local stats\nuseai sync          # Sync sessions to useai.dev\nuseai serve         # Start daemon + local dashboard\nuseai config        # Manage settings\n```\n\n## Links\n\n- Website: [useai.dev](https://useai.dev)\n- GitHub: [devness-com/useai](https://github.com/devness-com/useai)\n- npm: [@devness/useai](https://www.npmjs.com/package/@devness/useai)\n- Explore: [useai.dev/explore](https://useai.dev/explore)\n\n## License\n\n[AGPL-3.0](LICENSE)\n"}