{ "name": "prism-mcp-server", "version": "20.21.8", "mcpName": "io.github.dcostenco/prism-coder", "description": "Persistent session memory for AI coding agents that never leaves your machine — including the on-device model that reasons over it. Restores your prior decisions, open TODOs, and changed files across sessions; adds associative recall of related past work, semantic drift detection, and local inference. Local-first by default. Works with Claude Code, Cursor, and Codex.", "module": "index.ts", "type": "module", "main": "dist/server.js", "bin": { "prism": "dist/cli.js", "prism-coder": "dist/server.js", "prism-mcp-server": "dist/server.js", "prism-import": "dist/utils/universalImporter.js" }, "files": [ "dist", "scripts/dev/browse.py", "docs/prism-browser.md" ], "scripts": { "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"", "prebuild": "npm run clean", "build": "tsc && npm run chmod-bins", "chmod-bins": "node -e \"['dist/cli.js','dist/server.js','dist/utils/universalImporter.js'].forEach(f => { try { require('fs').chmodSync(f, 0o755); } catch (e) { console.warn('chmod skipped', f, e.message); } })\"", "prepublishOnly": "node scripts/check-no-private-content.mjs && node scripts/check-publish-clean.mjs && npm run build", "lint:dashboard": "node scripts/lint-dashboard-es5.cjs", "check:lockfile": "node scripts/check-lockfile-drift.mjs", "start": "node dist/server.js", "test": "vitest run", "test:watch": "vitest", "test:load": "vitest run tests/load/", "test:ci": "vitest run --reporter=junit --outputFile=test-results.xml", "test:routing:live": "npm run build && node scripts/prism-infer-live-test.mjs", "test:routing:models": "npm run build && node scripts/prism-infer-live-test.mjs --infer", "test:mcp": "node ./test_cross_mcp.js", "import": "node dist/utils/universalImporter.js", "postinstall": "node -e \"import('./dist/postinstall.js').catch(()=>{})\"" }, "keywords": [ "mcp-server", "session-memory", "agent-memory", "local-first", "local-inference", "drift-detection", "knowledge-graph", "claude-code", "codex", "cursor", "offline", "rag" ], "homepage": "https://github.com/dcostenco/prism-coder", "repository": { "type": "git", "url": "git+https://github.com/dcostenco/prism-coder.git" }, "author": "Dmitri Costenco", "license": "Apache-2.0", "devDependencies": { "@huggingface/transformers": "3.1.0", "@types/bun": "latest", "@types/jsdom": "^28.0.1", "@types/mozilla-readability": "^0.2.1", "@types/turndown": "^5.0.6", "dotenv": "^17.4.2", "tsx": "^4.22.4", "vitest": "^4.1.1" }, "peerDependencies": { "@huggingface/transformers": "~3.1.0", "typescript": "^5.0.0" }, "peerDependenciesMeta": { "@huggingface/transformers": { "optional": true } }, "overrides": { "@hono/node-server": "^2.0.5", "body-parser": "^2.3.0", "fast-uri": "^3.1.6", "hono": "^4.13.5", "ip-address": "^10.2.0", "protobufjs": "^7.6.5", "sharp": "^0.35.4", "tar": "^7.5.19", "nanoid": "^3.3.17" }, "dependencies": { "@anthropic-ai/sdk": "^0.92.0", "@google/generative-ai": "^0.24.1", "@libsql/client": "^0.17.2", "@modelcontextprotocol/sdk": "^1.27.1", "@mozilla/readability": "^0.6.0", "@opentelemetry/api": "^1.9.1", "@opentelemetry/core": "^2.8.0", "@opentelemetry/exporter-trace-otlp-http": "^0.219.0", "@opentelemetry/resources": "^2.8.0", "@opentelemetry/sdk-trace-node": "^2.8.0", "@opentelemetry/semantic-conventions": "^1.40.0", "@supabase/supabase-js": "^2.99.3", "cheerio": "^1.2.0", "commander": "^14.0.3", "fflate": "^0.8.2", "jose": "^6.2.2", "jsdom": "^29.0.1", "openai": "^6.32.0", "p-limit": "^7.3.0", "postcss": "8.5.23", "quickjs-emscripten": "^0.32.0", "smol-toml": "^1.7.1", "stream-chain": "^4.2.5", "stream-json": "^3.6.0", "tldts": "^7.0.27", "turndown": "^7.2.2", "typescript": "^5.9.3", "zod": "^4.3.6" } }