{
  "name": "engram-mcp-server",
  "version": "1.12.0",
  "description": "Engram — Persistent Memory Cortex for AI coding agents. Gives agents session continuity, change tracking, decision logging, and project intelligence across sessions.",
  "type": "module",
  "main": "dist/index.js",
  "bin": {
    "engram": "dist/index.js",
    "engram-mcp-server": "dist/index.js"
  },
  "files": [
    "dist/"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/keggan-std/Engram.git"
  },
  "releaseNotes": "# v1.12.0 — Android Studio Support + Installer UX Redesign\n\n**Released:** v1.12.0 — March 6, 2026\n\n## Overview\n\nv1.12.0 adds Android Studio as the 14th supported IDE and completely redesigns the interactive installer experience. The installer now auto-detects the current IDE and shows a focused status panel instead of prompting to install across all IDEs. Project root detection, scope defaults, and multi-version config handling are all improved. Zero breaking changes. No schema migration.\n\n557 tests pass.\n\n---\n\n## What's New\n\n### Android Studio MCP Support (14th IDE)\n\nAndroid Studio now has full stdio-based MCP support via the installer. Despite official docs describing HTTP-only transport, real-world testing confirms stdio transport works identically to other JetBrains-family IDEs.\n\n**Key details:**\n\n- **Version-specific config discovery** — `resolveGlobalPaths()` globs `%APPDATA%\\Google\\AndroidStudio*\\mcp.json` (Windows) / `~/Library/Application Support/Google/AndroidStudio*/mcp.json` (Mac), finding all installed versions automatically\n- **Install writes to ALL discovered versions** — e.g., AndroidStudio2024.1, 2024.2, 2024.3, 2025.1\n- **`enabled: true` required** — Android Studio requires this field in each MCP server entry; the installer adds it automatically via `extraEntryFields`\n- **Environment detection** — `STUDIO_VM_OPTIONS` env var identifies when the installer is running from within Android Studio\n- **Config key** — uses `\"mcpServers\"` (not `\"servers\"`)\n\n```bash\nnpx -y engram-mcp-server install --ide androidstudio\n```\n\n### Installer UX Redesign\n\nThe interactive installer has been completely rebuilt with a modern, focused experience:\n\n**Focused Status Panel** — When an IDE is detected from the terminal environment, the installer shows a compact status panel with all relevant information instead of asking \"install for all IDEs?\":\n\n```\n  ──────────────────────────────────────────────────────────────\n  🧠 Engram MCP Installer  v1.12.0\n  ──────────────────────────────────────────────────────────────\n  Detected IDE  : VS Code (GitHub Copilot)\n  Config file   : C:\\Users\\dev\\.vscode\\mcp.json\n  Database root : C:\\Users\\dev\\my-project  (git repository)\n  Installed     : v1.11.0  ⬆  v1.12.0 available\n  ──────────────────────────────────────────────────────────────\n\n  What would you like to do?\n\n    1. Update Engram to v1.12.0 in VS Code (GitHub Copilot)\n    2. Enter a custom config directory...\n    3. Install to other IDEs on this system (3 found)...\n    4. Cancel\n```\n\n**Project Root Auto-Detection** — When installing to a local (project-level) config, the installer walks up from cwd looking for project markers (`.git`, `package.json`, `Cargo.toml`, `go.mod`, `pyproject.toml`, `build.gradle`, `pom.xml`, `.engram`). If found with high confidence, it pre-fills the path and asks for confirmation. Users can accept, reject, or type a different path.\n\n**Scope Default Fixed** — The scope prompt now defaults to **local** (project-level), matching Decision #20. Previously it defaulted to global, contradicting the recommended configuration.\n\n**Improved `--check` Output** — `--check` now shows ALL version-specific global config paths for IDEs like Android Studio (previously only showed the first found path and stopped).\n\n**Improved `--list` Detection** — `--list` now uses the same robust engram detection logic as the rest of the installer (checks `command` and `args` fields for \"engram\", not just the exact key name).\n\n### Code Quality\n\n- Extracted shared helpers from the installer monolith: `makeColors()`, `semverCmp()`, `fetchNpmLatest()`, `detectProjectRootForDisplay()`, `resolveIdeInstallStatus()`\n- Centralized `resolveIdeGlobalPaths()` in `ide-detector.ts` — single source of truth for resolving global paths including `resolveGlobalPaths()` dynamic discovery\n- `IdeDefinition` interface extended with `resolveGlobalPaths?()` and `extraEntryFields?` for IDE-specific customization\n- `makeEngramEntry()` now spreads `ide.extraEntryFields` into the config entry\n\n---\n\n## Files Changed\n\n| File | Change |\n|------|--------|\n| `src/installer/ide-configs.ts` | Added `resolveGlobalPaths`, `extraEntryFields` to `IdeDefinition`; added `androidstudio` entry with glob discovery |\n| `src/installer/ide-detector.ts` | Added `resolveIdeGlobalPaths()` export; Android Studio detection via `STUDIO_VM_OPTIONS` |\n| `src/installer/config-writer.ts` | `makeEngramEntry()` spreads `ide.extraEntryFields` |\n| `src/installer/index.ts` | Full UX redesign: status panel, project root detection, scope fix, menu system, shared helpers |\n| `tests/installer/installer.test.ts` | Updated scope assertion for `resolveGlobalPaths` |\n| `README.md` | Added Android Studio to overview, `--ide` values, config key note; added manual config section |\n| `llms.txt` | Added Android Studio to compatible IDE list |\n\n---\n\n## Upgrade\n\nNo configuration changes required. No schema migration.\n\n```bash\nnpx -y engram-mcp-server install\n```\n\n---",
  "scripts": {
    "build": "tsc",
    "prepack": "node scripts/inject-release-notes.js && npm run clean && npm run build",
    "test": "vitest run",
    "test:coverage": "vitest run --coverage",
    "test:watch": "vitest",
    "start": "node dist/index.js",
    "dev": "tsc --watch",
    "clean": "node -e \"const {rmSync,existsSync}=require('fs');if(existsSync('dist'))rmSync('dist',{recursive:true,force:true})\"",
    "install-hooks": "node dist/scripts/install-hooks.js",
    "install-mcp": "node scripts/install-mcp.js",
    "install-mcp:list": "node scripts/install-mcp.js --list",
    "inspect": "npx @modelcontextprotocol/inspector node dist/index.js",
    "build:dashboard": "cd packages/engram-dashboard && npm install && npm run build",
    "dev:http": "node dist/index.js --mode=http",
    "dashboard": "npm run build && npm --prefix packages/engram-dashboard install --prefer-offline && concurrently -k --raw -n \"api,ui\" -c \"cyan,green\" \"node dist/index.js --mode=http --open-port=5173\" \"npm --prefix packages/engram-dashboard run dev\""
  },
  "keywords": [
    "mcp",
    "model-context-protocol",
    "mcp-server",
    "ai-memory",
    "coding-agent",
    "persistent-memory",
    "session-continuity",
    "session-memory",
    "agent-memory",
    "llm-memory",
    "ai-agent",
    "llm",
    "multi-agent",
    "agent-coordination",
    "task-tracking",
    "decision-logging",
    "change-tracking",
    "context-persistence",
    "claude",
    "cursor",
    "windsurf",
    "copilot",
    "vscode",
    "sqlite",
    "developer-tools"
  ],
  "author": "Renald Shao (aka Keggan Student) <https://github.com/keggan-std>",
  "homepage": "https://github.com/keggan-std/Engram#readme",
  "license": "MIT",
  "dependencies": {
    "@modelcontextprotocol/sdk": "^1.12.0",
    "better-sqlite3": "^12.6.2",
    "cors": "^2.8.6",
    "express": "^5.2.1",
    "open": "^11.0.0",
    "ws": "^8.19.0",
    "zod": "^3.24.0"
  },
  "devDependencies": {
    "@types/better-sqlite3": "^7.6.13",
    "@types/cors": "^2.8.19",
    "@types/express": "^5.0.6",
    "@types/node": "^22.10.0",
    "@types/supertest": "^7.2.0",
    "@types/ws": "^8.18.1",
    "@vitest/coverage-v8": "^4.0.18",
    "concurrently": "^9.2.1",
    "supertest": "^7.2.2",
    "typescript": "^5.7.0",
    "vitest": "^4.0.18"
  },
  "overrides": {
    "prebuild-install": "7.1.3"
  },
  "engines": {
    "node": ">=18.0.0"
  }
}
