{
  "name": "brains-mcp",
  "mcpName": "io.github.spacecowboyian/brains",
  "version": "1.89.15",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/spacecowboyian/brains.git"
  },
  "description": "Personal wiki and memory MCP server for AI assistants — store, search, and recall structured notes from Claude and ChatGPT.",
  "type": "module",
  "main": "dist/index.js",
  "bin": {
    "brains": "bin/brains.js"
  },
  "files": [
    "dist",
    "!dist/editor",
    "bin",
    "README.md"
  ],
  "scripts": {
    "build": "tsc",
    "start": "node dist/index.js",
    "dev": "tsx watch src/index.ts",
    "bench:search": "npm run build && node scripts/benchmark-search.mjs",
    "migrate": "node scripts/apply-migrations.mjs",
    "bench:longmemeval": "tsx benchmark/longmemeval/run.ts",
    "bench:longmemeval:scheduled": "bash benchmark/longmemeval/bench.sh",
    "bench:longmemeval:scheduled:report": "bash benchmark/longmemeval/bench-and-report.sh",
    "bench:longmemeval:postgres:scheduled": "bash benchmark/longmemeval/bench-postgres.sh",
    "smoke:api": "node scripts/smoke-api.mjs",
    "e2e:signup:staging": "tsx scripts/e2e-signup-staging.ts",
    "migrate:storage": "node scripts/migrate-storage-to-supabase.mjs",
    "populate:index": "node scripts/populate-pages-index.mjs",
    "test": "vitest run",
    "test:watch": "vitest",
    "lint": "eslint src tests --ext .ts",
    "typecheck": "tsc --noEmit",
    "commitlint": "commitlint --edit",
    "release": "semantic-release",
    "release:dry": "semantic-release --dry-run --no-ci",
    "build:mcpb": "npm run build && node scripts/build-mcpb.mjs",
    "prepare": "husky",
    "bench:convomem": "tsx benchmark/convomem/run.ts",
    "bench:locomo": "tsx benchmark/locomo/run.ts",
    "bench:qa-judge": "tsx benchmark/longmemeval/qa-judge.ts",
    "bench:qa-judge:scheduled": "bash benchmark/longmemeval/bench-qa-judge.sh",
    "bench:locomo:qa": "tsx benchmark/locomo/qa-judge.ts",
    "bench:convomem:qa": "tsx benchmark/convomem/qa-judge.ts",
    "backfill:embeddings": "node scripts/backfill-embeddings.mjs",
    "bench:convomem:diag": "tsx benchmark/convomem/diag-scale.ts",
    "bench:brains-native": "tsx benchmark/brains-native/run.ts",
    "bench:brains-native:qa": "BENCH_MODE=qa tsx benchmark/brains-native/run.ts",
    "bench:brains-native:generate": "tsx benchmark/brains-native/generate-queries.ts",
    "bench:five-question": "tsx benchmark/five-question-eval/run.ts",
    "bench:five-question:negative-control": "NEGATIVE_CONTROL=1 tsx benchmark/five-question-eval/run.ts",
    "lint:ste": "python3 .claude/skills/asd-ste100/scripts/ste-lint.py",
    "lint:ste:changed": "node scripts/ste-lint-changed.mjs"
  },
  "dependencies": {
    "@modelcontextprotocol/sdk": "^1.10.0",
    "adm-zip": "^0.6.0",
    "better-sqlite3": "^11.10.0",
    "chokidar": "^4.0.3",
    "googleapis": "^175.0.0",
    "gray-matter": "^4.0.3",
    "openai": "^6.44.0",
    "undici": "^6.28.0",
    "zod": "^3.23.8"
  },
  "overrides": {
    "gray-matter": {
      "js-yaml": "^3.15.1"
    }
  },
  "devDependencies": {
    "@anthropic-ai/mcpb": "^2.1.2",
    "@commitlint/cli": "^20.5.0",
    "@commitlint/config-conventional": "^20.5.0",
    "@semantic-release/changelog": "^6.0.3",
    "@semantic-release/commit-analyzer": "^13.0.1",
    "@semantic-release/git": "^10.0.1",
    "@semantic-release/github": "^12.0.8",
    "@semantic-release/npm": "^13.1.5",
    "@semantic-release/release-notes-generator": "^14.1.1",
    "@types/adm-zip": "^0.5.8",
    "@types/better-sqlite3": "^7.6.13",
    "@types/node": "^20.14.0",
    "@typescript-eslint/eslint-plugin": "^7.0.0",
    "@typescript-eslint/parser": "^7.0.0",
    "conventional-changelog-conventionalcommits": "^9.3.1",
    "eslint": "^8.57.0",
    "husky": "^9.1.7",
    "playwright": "1.62.1",
    "semantic-release": "^25.0.3",
    "tsx": "^4.15.0",
    "typescript": "^5.4.5",
    "vitest": "^4.1.10"
  },
  "engines": {
    "node": ">=20"
  }
}
