prism-mcp-server 12.5.0 → 12.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,12 +4,12 @@
4
4
  [![MCP Registry](https://img.shields.io/badge/MCP_Registry-listed-00ADD8?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0xMiAyTDIgN2wxMCA1IDEwLTUtMTAtNXpNMiAxN2wxMCA1IDEwLTV2LTJMMTI0djJMMiA5djh6Ii8+PC9zdmc+)](https://github.com/modelcontextprotocol/servers)
5
5
  [![Glama](https://img.shields.io/badge/Glama-listed-FF5601)](https://glama.ai/mcp/servers?query=prism-mcp)
6
6
  [![Smithery](https://img.shields.io/badge/Smithery-listed-6B4FBB)](https://smithery.ai/server/@dcostenco/prism-mcp)
7
- [![License: BSL-1.1](https://img.shields.io/badge/License-BSL--1.1-blue.svg)](LICENSE)
7
+ [![License: BSL-1.1](https://img.shields.io/badge/License-BUSL--1.1-blue.svg)](LICENSE)
8
8
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
9
9
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
10
10
 
11
11
  <!-- 🌐 Translations auto-generated by scripts/generate_i18n.py — triggered by GitHub Actions on README.md changes -->
12
- 🌐 **Translate:** [English](#prism-coder-ide-ship-not-just-code) · [Español](docs/i18n/README_es.md) · [Français](docs/i18n/README_fr.md) · [Português](docs/i18n/README_pt.md) · [Română](docs/i18n/README_ro.md) · [Українська](docs/i18n/README_uk.md) · [Русский](docs/i18n/README_ru.md) · [Deutsch](docs/i18n/README_de.md) · [日本語](docs/i18n/README_ja.md) · [한국어](docs/i18n/README_ko.md) · [中文](docs/i18n/README_zh.md) · [العربية](docs/i18n/README_ar.md)
12
+ 🌐 **Translate:** [English](README.md) · [Español](docs/i18n/README_es.md) · [Français](docs/i18n/README_fr.md) · [Português](docs/i18n/README_pt.md) · [Română](docs/i18n/README_ro.md) · [Українська](docs/i18n/README_uk.md) · [Русский](docs/i18n/README_ru.md) · [Deutsch](docs/i18n/README_de.md) · [日本語](docs/i18n/README_ja.md) · [한국어](docs/i18n/README_ko.md) · [中文](docs/i18n/README_zh.md) · [العربية](docs/i18n/README_ar.md)
13
13
 
14
14
  ---
15
15
 
@@ -17,6 +17,15 @@
17
17
 
18
18
  > **NEW:** The full-stack AI-native desktop IDE that combines coding, building, and deploying in one tool. No competitor offers all of this.
19
19
 
20
+ ### Downloads
21
+
22
+ | Platform | Package | Size |
23
+ |----------|---------|------|
24
+ | **Windows** | [Prism Coder-1.0.0-Setup.exe](https://github.com/dcostenco/prism-coder/releases/download/v1.0.0/Prism.Coder-1.0.0-Setup.exe) | 99 MB |
25
+ | **macOS (Apple Silicon)** | [Prism Coder-1.0.0-arm64.dmg](https://github.com/dcostenco/prism-coder/releases/download/v1.0.0/Prism.Coder-1.0.0-arm64.dmg) | 113 MB |
26
+ | **Linux** | [Prism Coder-1.0.0.AppImage](https://github.com/dcostenco/prism-coder/releases/download/v1.0.0/Prism.Coder-1.0.0.AppImage) | 119 MB |
27
+ | **npm (MCP Server)** | `npx -y prism-mcp-server` | — |
28
+
20
29
  | What You Get | Time Saved vs. Traditional |
21
30
  |---|:---:|
22
31
  | 🤖 **Agent Mode** — autonomous multi-step task execution with diff previews | ~95% |
@@ -36,7 +45,7 @@
36
45
 
37
46
  **27/27 features** — more than any competitor (Cursor: 9, Windsurf: 9, Replit: 12, Bolt: 9).
38
47
 
39
- 👉 **[Full IDE README with screenshots, architecture, and technical details →](https://github.com/nicecode-dev/prism-coder-ide/blob/main/README.md)**
48
+ 👉 **[Full IDE README with screenshots, architecture, and technical details →](https://github.com/dcostenco/prism-coder/releases/tag/v1.0.0)**
40
49
 
41
50
  ---
42
51
 
@@ -45,9 +54,9 @@
45
54
  **Your AI agent forgets everything between sessions. Prism fixes that — then teaches it to think.**
46
55
 
47
56
  <details>
48
- <summary>Cognitive Architecture Deep Dive (v12.0.0)</summary>
57
+ <summary>Cognitive Architecture Deep Dive (v12.5)</summary>
49
58
 
50
- Prism v12.0.0 is a true **Cognitive Architecture** inspired by human brain mechanics. Beyond flat vector search, your agent now forms principles from experience, follows causal trains of thought, and possesses the self-awareness to know when it lacks information. **Your agents don't just remember; they learn.** With v12.0.0, the entire cognitive pipeline — including ledger compaction, task routing, semantic search, and **Agent Infrastructure Resilience** — runs **100% on-device** or via secure clinical discovery (PubMed/ERIC), backed by `prism-coder:7b`, a HIPAA-hardened local LLM. No API keys for core features. No data leaves your machine.
59
+ Prism v12.5 is a true **Cognitive Architecture** inspired by human brain mechanics. Beyond flat vector search, your agent now forms principles from experience, follows causal trains of thought, and possesses the self-awareness to know when it lacks information. **Your agents don't just remember; they learn.** With v12.5, the entire cognitive pipeline — including ledger compaction, task routing, semantic search, and **Agent Infrastructure Resilience** — runs **100% on-device** or via secure clinical discovery (PubMed/ERIC), backed by `prism-coder:7b`, a HIPAA-hardened local LLM. No API keys for core features. No data leaves your machine.
51
60
 
52
61
  </details>
53
62
 
@@ -57,11 +66,11 @@ npx -y prism-mcp-server
57
66
 
58
67
  Works with **Claude Desktop · Claude Code · Cursor · Windsurf · Cline · Gemini · Antigravity** — **any MCP client.**
59
68
 
60
- https://github.com/dcostenco/prism-mcp/raw/main/docs/prism_mcp_demo.mp4
69
+ https://github.com/dcostenco/prism-coder/raw/main/docs/prism_mcp_demo.mp4
61
70
 
62
71
  ## 📖 Table of Contents
63
72
 
64
- - [💳 v12.0.0 Unified Billing & Agent Skill Ecosystem](#unified-billing)
73
+ - [💳 v12.5 Unified Billing & Agent Skill Ecosystem](#unified-billing)
65
74
  - [🏗️ v11.6.0 Agent Infrastructure Resilience](#agent-infrastructure)
66
75
  - [🔬 v11.5.1 Deep Research Intelligence (Auto-Scholar)](#deep-research-intelligence)
67
76
  - [⚡ Zero-Search Retrieval (HRR Architecture)](#zero-search)
@@ -86,9 +95,9 @@ https://github.com/dcostenco/prism-mcp/raw/main/docs/prism_mcp_demo.mp4
86
95
 
87
96
  ---
88
97
 
89
- ## 💳 <a name="unified-billing"></a>v12.0.0 Unified Billing & Agent Skill Ecosystem
98
+ ## 💳 <a name="unified-billing"></a>v12.5 Unified Billing & Agent Skill Ecosystem
90
99
 
91
- Prism v12.0.0 unifies Prism and Synalux into a **single billing architecture** with identical tier pricing and a 14-day free trial on all paid tiers.
100
+ Prism v12.5 unifies Prism and Synalux into a **single billing architecture** with identical tier pricing and a 14-day free trial on all paid tiers.
92
101
 
93
102
  ### Prism Cloud Pricing
94
103
 
@@ -111,7 +120,7 @@ Prism v12.0.0 unifies Prism and Synalux into a **single billing architecture** w
111
120
  - **10 Vendor Skills** — Vercel, Supabase, Stripe, Sentry, OpenAI, Addy Osmani, Garry Tan/gstack
112
121
  - **30+ Community Skills** — Installed and optimized from the Gemini ecosystem
113
122
 
114
- > 📦 **Packages:** [`prism-mcp-server`](https://www.npmjs.com/package/prism-mcp-server) (npm) · [Prism Coder IDE](https://github.com/nicecode-dev/prism-coder-ide) (VS Code) · `prism` CLI
123
+ > 📦 **Packages:** [`prism-mcp-server`](https://www.npmjs.com/package/prism-mcp-server) (npm) · [Prism Coder IDE](https://github.com/dcostenco/prism-coder/releases/tag/v1.0.0) (VS Code) · `prism` CLI
115
124
 
116
125
  ---
117
126
 
@@ -131,7 +140,7 @@ Prism v11.6.0 introduces **production-grade agent infrastructure** for running m
131
140
  | **Queue Watchdog** | Deadlocks from zombie queue entries |
132
141
  | **Status Dashboard** | Blind spots in infrastructure health |
133
142
 
134
- > 🧪 **Verified:** 115/115 tests passing across unit, concurrent, shell integration, mock Ollama, and live stress test suites. v12.0.0 billing tests included.
143
+ > 🧪 **Verified:** 115/115 tests passing across unit, concurrent, shell integration, mock Ollama, and live stress test suites. v12.5 billing tests included.
135
144
 
136
145
  ---
137
146
 
@@ -141,7 +150,7 @@ Prism v11.5.1 transforms your AI agent from a "Coder" into a "Clinical Scientist
141
150
 
142
151
  ### 🥊 The Global Benchmarks: Prism v11 vs. Standard RAG
143
152
 
144
- | Feature | **Standard AI Memory (Mem0/Zep)** | **Prism v12.0.0 (Elite Architecture)** |
153
+ | Feature | **Standard AI Memory (Mem0/Zep)** | **Prism v12.5 (Elite Architecture)** |
145
154
  | :--- | :--- | :--- |
146
155
  | **Search Complexity** | $O(N)$ or $O(\log N)$ (Scales with data) | **$O(1)$ Zero-Search (Constant time via HRR) ** |
147
156
  | **Discovery Logic** | General Web Search (Snippets) | **Parallel Academic Discovery (PubMed, ERIC, S2)** |
@@ -1019,9 +1028,9 @@ The Generator strips the `console.log`, resubmits, and the next `EVALUATE` retur
1019
1028
 
1020
1029
  ## <a name="whats-new"></a>🆕 What's New
1021
1030
 
1022
- > **Current release: v12.0.0 — Unified Billing & Agent Skill Ecosystem**
1031
+ > **Current release: v12.5 — Unified Billing & Agent Skill Ecosystem**
1023
1032
 
1024
- - 💳 **v12.0.0 — Unified Billing & Agent Skill Ecosystem:** Aligned Prism and Synalux tiers (Standard $19, Advanced $49, Enterprise $99), 14-day free trial, 54 agent skills, BSL-1.1 license. → [Changelog](CHANGELOG.md#1200)
1033
+ - 💳 **v12.5 — Unified Billing & Agent Skill Ecosystem:** Aligned Prism and Synalux tiers (Standard $19, Advanced $49, Enterprise $99), 14-day free trial, 54 agent skills, BSL-1.1 license. → [Changelog](CHANGELOG.md#1200)
1025
1034
  - 🏗️ **v11.6.0 — Agent Infrastructure Resilience:** Production-grade concurrent agent execution with serialized queue (Python `fcntl`), memory guardian daemon, queue watchdog, and unified status dashboard. 115/115 tests verified across 5 suites. → [Changelog](CHANGELOG.md#1160)
1026
1035
  - 🧠 **v11.5.1 — Structural GRPO Alignment:** GRPO-aligned local engine with held-out benchmark suite (N=15). **100% tool-call accuracy**, 100% JSON validity, 100% retrieval accuracy, 100% reasoning abstention. → [Changelog](CHANGELOG.md#1150)
1027
1036
  - 🛡️ **v11.0.0 — HIPAA-Hardened Local LLM:** `prism-coder:7b` for local compaction, task routing, and semantic search. `PRISM_STRICT_LOCAL_MODE`, SSRF protection, full XML escaping. 22-finding adversarial audit. → [Changelog](CHANGELOG.md#1100)
@@ -1108,8 +1117,8 @@ Prism's local engine (`prism-coder:7b`) is optimized for low-latency, high-valid
1108
1117
 
1109
1118
  | Metric | Score | Details |
1110
1119
  |:-------|:---:|:---|
1111
- | **Overall Accuracy** | **99.3%** (avg) | 3 runs: 49/50, 50/50, 50/50 |
1112
- | **Median** | **100%** (50/50) | 2 perfect runs out of 3 |
1120
+ | **Overall Accuracy** | **100%** (avg) | 3 runs: 50/50, 50/50, 50/50 |
1121
+ | **Median** | **100%** (50/50) | 3 perfect runs out of 3 |
1113
1122
  | **Tool-Call Accuracy** | **100%** (31/31) | Correct tool on all tool-requiring prompts |
1114
1123
  | **Abstention Accuracy** | **100%** (19/19) | Correctly avoids tool calls on all adversarial traps |
1115
1124
  | **Adversarial Traps** | **100%** (15/15 × 3) | Express.js sessions, LSTM forget gates, context managers |
@@ -1193,7 +1202,7 @@ Compared against the **[Berkeley Function Calling Leaderboard (BFCL V4)](https:/
1193
1202
 
1194
1203
  | Model | Provider | Tool-Call Accuracy | SWE-bench | Cost |
1195
1204
  |:---|:---|:---:|:---:|:---:|
1196
- | **Prism-Coder 7B** | **Prism (local)** | **99.3%** ⭐ | — | **$0 (on-device)** |
1205
+ | **Prism-Coder 7B** | **Prism (local)** | **100%** ⭐ | — | **$0 (on-device)** |
1197
1206
  | Claude Opus 4.7 | Anthropic | 77.3% | 87.6% | $5 / $25 per 1M tok |
1198
1207
  | Gemini 3.1 Pro | Google | 77.1% | 80.6% | $1.25 / $10 per 1M tok |
1199
1208
  | Claude Opus 4.5 | Anthropic | 77.47% | 70.3% | $15 / $75 per 1M tok |
@@ -1295,13 +1304,13 @@ prism scm dora --repo synalux/portal --period 2024-Q4
1295
1304
  <summary>📸 Screenshots — SCM CLI in action (click to expand)</summary>
1296
1305
 
1297
1306
  #### Code Search (Semantic Mode)
1298
- ![prism scm search — semantic code search across repos](docs/scm_search_cli.png)
1307
+ ![prism scm search — semantic code search across repos](docs/scm_search_cli.jpg)
1299
1308
 
1300
1309
  #### AI Review with HIPAA Check
1301
- ![prism scm review — AI code review with HIPAA compliance](docs/scm_review_cli.png)
1310
+ ![prism scm review — AI code review with HIPAA compliance](docs/scm_review_cli.jpg)
1302
1311
 
1303
1312
  #### Security Scan
1304
- ![prism scm scan — secret detection and Dockerfile analysis](docs/scm_scan_cli.png)
1313
+ ![prism scm scan — secret detection and Dockerfile analysis](docs/scm_scan_cli.jpg)
1305
1314
 
1306
1315
  </details>
1307
1316
 
@@ -1720,11 +1729,11 @@ Prism MCP is open-source and free for individual developers. For teams and enter
1720
1729
 
1721
1730
  ## <a name="milestones-roadmap"></a>📦 Milestones & Roadmap
1722
1731
 
1723
- > **Current: v12.0.0** — Unified Billing & Agent Skill Ecosystem ([CHANGELOG](CHANGELOG.md))
1732
+ > **Current: v12.5** — Unified Billing & Agent Skill Ecosystem ([CHANGELOG](CHANGELOG.md))
1724
1733
 
1725
1734
  | Release | Headline |
1726
1735
  |---------|----------|
1727
- | **v12.0.0** | 💳 **Unified Billing & Agent Skill Ecosystem** — Synalux-priced tiers ($19/$49/$99), 14-day trial, 54 skills, BSL-1.1 license. |
1736
+ | **v12.5** | 💳 **Unified Billing & Agent Skill Ecosystem** — Synalux-priced tiers ($19/$49/$99), 14-day trial, 54 skills, BSL-1.1 license. |
1728
1737
  | **v11.6.0** | 🏗️ **Agent Infrastructure Resilience** — Production-grade serialized queue, memory guardian, queue watchdog, status dashboard. 115/115 tests. |
1729
1738
  | **v11.5.1** | 🧠 **Structural GRPO Alignment** — Perfect 100% accuracy cross-validated on Synalux Elite platform. |
1730
1739
  | **v11.0.1** | 🧪 **Production Stability** — Field-tested Zero-Search logic merge, local logic finalization, HIPAA-hardened security refinement. |
@@ -1779,8 +1788,8 @@ A: Run `npm run build && npm test`, then open the Mind Palace dashboard (`localh
1779
1788
 
1780
1789
  ## License
1781
1790
 
1782
- MIT
1791
+ BUSL-1.1
1783
1792
 
1784
1793
  ---
1785
1794
 
1786
- <sub>**Keywords:** MCP server, Model Context Protocol, Claude Desktop memory, persistent session memory, AI agent memory, cognitive architecture, ACT-R spreading activation, Hebbian learning, episodic semantic consolidation, multi-hop reasoning, uncertainty rejection gate, local-first, SQLite MCP, Mind Palace, time travel, visual memory, VLM image captioning, OpenTelemetry, GDPR, agent telepathy, multi-agent sync, behavioral memory, cursorrules, Ollama MCP, Brave Search MCP, TurboQuant, progressive context loading, knowledge management, LangChain retriever, LangGraph agent</sub>
1795
+ <sub>**Keywords:** MCP server, Model Context Protocol, Claude Desktop memory, persistent session memory, AI agent memory, cognitive architecture, ACT-R spreading activation, Hebbian learning, episodic semantic consolidation, multi-hop reasoning, uncertainty rejection gate, local-first, SQLite MCP, Mind Palace, time travel, visual memory, VLM image captioning, OpenTelemetry, GDPR, agent telepathy, multi-agent sync, behavioral memory, cursorrules, Ollama MCP, Brave Search MCP, TurboQuant, progressive context loading, knowledge management, LangChain retriever, LangGraph agent, business, enterprise, hipaa</sub>
@@ -644,6 +644,25 @@ export async function runSchedulerSweep(cfg = DEFAULT_SCHEDULER_CONFIG) {
644
644
  debugLog(`[Scheduler] Distributed lock released (pid: ${processId})`);
645
645
  }
646
646
  }
647
+ // ── Evict stale project entries from tracking Maps ──────────
648
+ try {
649
+ const activeProjects = new Set(await storage.listProjects());
650
+ for (const key of lastSynthesisAt.keys()) {
651
+ if (!activeProjects.has(key))
652
+ lastSynthesisAt.delete(key);
653
+ }
654
+ for (const key of synthesisBackoffUntil.keys()) {
655
+ if (!activeProjects.has(key))
656
+ synthesisBackoffUntil.delete(key);
657
+ }
658
+ for (const key of lastPruneAt.keys()) {
659
+ if (!activeProjects.has(key))
660
+ lastPruneAt.delete(key);
661
+ }
662
+ }
663
+ catch {
664
+ // Non-critical — stale entries are harmless, just wasteful
665
+ }
647
666
  // ── Finalize ───────────────────────────────────────────────
648
667
  result.completedAt = new Date().toISOString();
649
668
  result.durationMs = Date.now() - sweepStart;
package/dist/cli.js CHANGED
File without changes
@@ -180,10 +180,11 @@ export function createRateLimiter(opts) {
180
180
  entry = { timestamps: [] };
181
181
  store.set(key, entry);
182
182
  }
183
- // Filter to only timestamps within the window
184
- entry.timestamps = entry.timestamps.filter(t => now - t < opts.windowMs);
185
183
  if (entry.timestamps.length >= opts.maxAttempts) {
186
- return false; // Rate limited
184
+ entry.timestamps = entry.timestamps.filter(t => now - t < opts.windowMs);
185
+ if (entry.timestamps.length >= opts.maxAttempts) {
186
+ return false;
187
+ }
187
188
  }
188
189
  entry.timestamps.push(now);
189
190
  return true;
@@ -36,7 +36,7 @@ import { safeCompare, generateToken, isAuthenticated, createRateLimiter, initJWK
36
36
  const PORT = parseInt(process.env.PRISM_DASHBOARD_PORT || "3000", 10);
37
37
  /** Read HTTP request body as string (Buffer-based to avoid GC thrash on large imports) */
38
38
  /** SECURITY: 10MB limit prevents memory exhaustion from oversized POST payloads. */
39
- const MAX_BODY_BYTES = 10 * 1024 * 1024; // 10MB
39
+ const MAX_BODY_BYTES = parseInt(process.env.PRISM_MAX_REQUEST_BYTES ?? String(10 * 1024 * 1024), 10);
40
40
  function readBody(req) {
41
41
  return new Promise((resolve, reject) => {
42
42
  const chunks = [];
@@ -92,8 +92,8 @@ export async function startDashboardServer() {
92
92
  if (AUTH_JWKS_URI) {
93
93
  initJWKS(AUTH_JWKS_URI);
94
94
  }
95
- const SESSION_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
96
- const activeSessions = new Map(); // token → expiry timestamp
95
+ const SESSION_TTL_MS = parseInt(process.env.PRISM_SESSION_TTL_MS ?? String(24 * 60 * 60 * 1000), 10);
96
+ const activeSessions = new Map();
97
97
  // Auth config object — injectable for testing via authUtils.ts
98
98
  const authConfig = {
99
99
  authEnabled: AUTH_ENABLED,
@@ -1435,4 +1435,12 @@ self.addEventListener('message', (e) => {
1435
1435
  // Run immediately on startup, then every 12 hours
1436
1436
  runTtlSweep().catch(() => { });
1437
1437
  setInterval(() => { runTtlSweep().catch(() => { }); }, 12 * 60 * 60 * 1000);
1438
+ // Prune expired dashboard sessions every hour
1439
+ setInterval(() => {
1440
+ const now = Date.now();
1441
+ for (const [token, expiry] of activeSessions) {
1442
+ if (now > expiry)
1443
+ activeSessions.delete(token);
1444
+ }
1445
+ }, 60 * 60 * 1000);
1438
1446
  }