prism-mcp-server 1.5.0 → 1.5.1

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
@@ -1,6 +1,16 @@
1
- # Prism MCP — Enterprise-Grade AI Agent Memory & Multi-Engine Search
1
+ # Prism MCP — Persistent Memory for Claude Desktop, Cursor & AI Agents
2
2
 
3
- > Production-grade **Model Context Protocol (MCP)** server with **persistent session memory**, **multi-tenant RLS**, **semantic search (pgvector)**, **optimistic concurrency control**, **MCP Prompts & Resources**, **brain-inspired knowledge accumulation**, and **multi-engine search** (Brave + Vertex AI) with sandboxed code transforms and Gemini-powered analysis.
3
+ [![npm version](https://img.shields.io/npm/v/prism-mcp-server?color=cb0000&label=npm)](https://www.npmjs.com/package/prism-mcp-server)
4
+ [![MCP Registry](https://img.shields.io/badge/MCP_Registry-listed-00ADD8?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0xMiAyTDIgN2wxMCA1IDEwLTUtMTAtNXpNMiAxN2wxMCA1IDEwLTV2LTJMMTI0djJMMiA5djh6Ii8+PC9zdmc+)](https://registry.modelcontextprotocol.io)
5
+ [![Glama](https://img.shields.io/badge/Glama-listed-FF5601)](https://glama.ai/mcp/servers/@dcostenco/prism-mcp)
6
+ [![Smithery](https://img.shields.io/badge/Smithery-listed-6B4FBB)](https://smithery.ai/server/prism-mcp-server)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
8
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
9
+ [![Node.js](https://img.shields.io/badge/Node.js-18+-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
10
+
11
+ > **Give your AI agent memory that survives between sessions.** Prism MCP is a Model Context Protocol server that adds **persistent session memory**, **progressive context loading**, and **multi-engine search** to Claude Desktop, Cursor, Windsurf, and any MCP-compatible client. No more re-explaining your project every time you start a new chat.
12
+ >
13
+ > Built with **semantic search (pgvector)**, **optimistic concurrency control**, **MCP Prompts & Resources**, **auto-compaction**, and **multi-tenant RLS** on Supabase free tier.
4
14
 
5
15
  ---
6
16
 
@@ -62,7 +72,25 @@ Prism MCP is a unified AI agent platform with two core pillars:
62
72
 
63
73
  Get the MCP server running with Claude Desktop in under 2 minutes:
64
74
 
65
- ### 1. Clone & Build
75
+ ### Option A: npx (Fastest — No Clone Needed)
76
+
77
+ ```json
78
+ {
79
+ "mcpServers": {
80
+ "prism-mcp": {
81
+ "command": "npx",
82
+ "args": ["-y", "prism-mcp-server"],
83
+ "env": {
84
+ "BRAVE_API_KEY": "your-brave-api-key"
85
+ }
86
+ }
87
+ }
88
+ }
89
+ ```
90
+
91
+ Paste into your Claude Desktop config and restart. That's it.
92
+
93
+ ### Option B: Clone & Build (Full Control)
66
94
 
67
95
  ```bash
68
96
  git clone https://github.com/dcostenco/prism-mcp.git
@@ -71,16 +99,14 @@ npm install
71
99
  npm run build
72
100
  ```
73
101
 
74
- ### 2. Add to Claude Desktop
75
-
76
- Copy this into your `claude_desktop_config.json` (replace the paths and API keys):
102
+ Then add to your `claude_desktop_config.json`:
77
103
 
78
104
  ```json
79
105
  {
80
106
  "mcpServers": {
81
107
  "prism-mcp": {
82
108
  "command": "node",
83
- "args": ["/absolute/path/to/BCBA/build/server.js"],
109
+ "args": ["/absolute/path/to/prism-mcp/build/server.js"],
84
110
  "env": {
85
111
  "BRAVE_API_KEY": "your-brave-api-key",
86
112
  "GOOGLE_API_KEY": "your-google-gemini-key",
@@ -113,6 +139,119 @@ Then set `SUPABASE_URL=http://localhost:3000` in your MCP config.
113
139
 
114
140
  ---
115
141
 
142
+ ## Integration Examples
143
+
144
+ Copy-paste configs for popular MCP clients. All configs use the `npx` method — replace with the `node` path if you cloned the repo.
145
+
146
+ <details>
147
+ <summary><strong>Cursor</strong></summary>
148
+
149
+ Add to `.cursor/mcp.json` in your project root (or `~/.cursor/mcp.json` for global):
150
+
151
+ ```json
152
+ {
153
+ "mcpServers": {
154
+ "prism-mcp": {
155
+ "command": "npx",
156
+ "args": ["-y", "prism-mcp-server"],
157
+ "env": {
158
+ "BRAVE_API_KEY": "your-brave-api-key",
159
+ "SUPABASE_URL": "https://your-project.supabase.co",
160
+ "SUPABASE_KEY": "your-supabase-anon-key"
161
+ }
162
+ }
163
+ }
164
+ }
165
+ ```
166
+
167
+ </details>
168
+
169
+ <details>
170
+ <summary><strong>Windsurf</strong></summary>
171
+
172
+ Add to `~/.codeium/windsurf/mcp_config.json`:
173
+
174
+ ```json
175
+ {
176
+ "mcpServers": {
177
+ "prism-mcp": {
178
+ "command": "npx",
179
+ "args": ["-y", "prism-mcp-server"],
180
+ "env": {
181
+ "BRAVE_API_KEY": "your-brave-api-key",
182
+ "SUPABASE_URL": "https://your-project.supabase.co",
183
+ "SUPABASE_KEY": "your-supabase-anon-key"
184
+ }
185
+ }
186
+ }
187
+ }
188
+ ```
189
+
190
+ </details>
191
+
192
+ <details>
193
+ <summary><strong>VS Code + Continue</strong></summary>
194
+
195
+ Add to your Continue `config.json` (usually `~/.continue/config.json`):
196
+
197
+ ```json
198
+ {
199
+ "mcpServers": [
200
+ {
201
+ "name": "prism-mcp",
202
+ "command": "npx",
203
+ "args": ["-y", "prism-mcp-server"],
204
+ "env": {
205
+ "BRAVE_API_KEY": "your-brave-api-key",
206
+ "SUPABASE_URL": "https://your-project.supabase.co",
207
+ "SUPABASE_KEY": "your-supabase-anon-key"
208
+ }
209
+ }
210
+ ]
211
+ }
212
+ ```
213
+
214
+ </details>
215
+
216
+ <details>
217
+ <summary><strong>Cline (VS Code)</strong></summary>
218
+
219
+ In VS Code, open Cline settings → MCP Servers → Add Server:
220
+
221
+ ```json
222
+ {
223
+ "mcpServers": {
224
+ "prism-mcp": {
225
+ "command": "npx",
226
+ "args": ["-y", "prism-mcp-server"],
227
+ "env": {
228
+ "BRAVE_API_KEY": "your-brave-api-key",
229
+ "SUPABASE_URL": "https://your-project.supabase.co",
230
+ "SUPABASE_KEY": "your-supabase-anon-key"
231
+ }
232
+ }
233
+ }
234
+ }
235
+ ```
236
+
237
+ </details>
238
+
239
+ ---
240
+
241
+ ## Use Cases
242
+
243
+ | Scenario | How Prism MCP Helps |
244
+ |----------|-------------------|
245
+ | **Long-running feature development** | Save session state at end of day, restore full context the next morning — no re-explaining |
246
+ | **Multi-agent workflows** | Shared Supabase backend with RLS lets multiple agents collaborate on the same project |
247
+ | **Consulting / multi-project work** | Switch between client projects with progressive context loading (quick / standard / deep) |
248
+ | **Research & analysis** | Multi-engine search (Brave + Vertex AI) with 94% context reduction via sandboxed code transforms |
249
+ | **Team onboarding** | New team member's agent loads full project history via `session_load_context("deep")` |
250
+ | **Claude Desktop memory** | The `/resume_session` MCP Prompt injects context *before* Claude starts thinking — zero tool calls |
251
+ | **Knowledge management** | Auto-extracted keywords + categories turn session logs into a searchable knowledge base |
252
+
253
+ ---
254
+
116
255
  ## Architecture
117
256
 
118
257
  ```mermaid
@@ -968,3 +1107,7 @@ CREATE POLICY "User-scoped access" ON session_ledger
968
1107
  ## License
969
1108
 
970
1109
  MIT
1110
+
1111
+ ---
1112
+
1113
+ <sub>**Keywords:** MCP server, Model Context Protocol, Claude Desktop memory, persistent session memory, AI agent memory, Claude context window, MCP session persistence, Cursor MCP server, Windsurf MCP server, Cline MCP server, pgvector semantic search, Supabase MCP, progressive context loading, MCP Prompts, MCP Resources, knowledge management AI, multi-engine search, Brave Search MCP, Gemini analysis, optimistic concurrency control, session handoff, AI agent state management</sub>
package/index.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import { startServer } from "./src/server.js";
2
+ import { startServer, createSandboxServer } from "./src/server.js";
3
+
4
+ // Re-export for Smithery capability scanning
5
+ export { createSandboxServer };
3
6
 
4
7
  console.error("Starting Brave-Gemini Research MCP Server...");
5
8
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prism-mcp-server",
3
- "version": "1.5.0",
3
+ "version": "1.5.1",
4
4
  "mcpName": "io.github.dcostenco/prism-mcp",
5
5
  "description": "Enterprise-grade MCP server with session memory, semantic search (pgvector), optimistic concurrency control, ledger compaction, MCP Prompts & Resources, knowledge accumulation, Brave Search, and Google Gemini — progressive context loading, brain-inspired knowledge search/forget, and multi-model orchestration for AI agents",
6
6
  "module": "index.ts",
@@ -38,7 +38,13 @@
38
38
  "ai-tools",
39
39
  "typescript",
40
40
  "rag",
41
- "embeddings"
41
+ "embeddings",
42
+ "cursor",
43
+ "windsurf",
44
+ "cline",
45
+ "persistent-memory",
46
+ "session-management",
47
+ "context-window"
42
48
  ],
43
49
  "homepage": "https://github.com/dcostenco/prism-mcp",
44
50
  "repository": {
package/src/server.ts CHANGED
@@ -592,6 +592,13 @@ export function createServer() {
592
592
  return server;
593
593
  }
594
594
 
595
+ // ─── Smithery Sandbox Export ─────────────────────────────────────
596
+ // Smithery uses this to scan capabilities (tools, prompts, resources)
597
+ // without requiring real credentials or starting a transport.
598
+ export function createSandboxServer() {
599
+ return createServer();
600
+ }
601
+
595
602
  // ─── Server Startup ─────────────────────────────────────────────
596
603
 
597
604
  /**
@@ -621,7 +628,11 @@ export async function startServer() {
621
628
  }, 10000);
622
629
  }
623
630
 
624
- startServer().catch((error) => {
625
- console.error('Fatal error running server:', error);
626
- process.exit(1);
627
- });
631
+ // Only auto-start when this module is executed directly (not imported by Smithery scanner)
632
+ const isDirectExecution = process.argv[1]?.endsWith('server.js') || process.argv[1]?.endsWith('server.ts');
633
+ if (isDirectExecution) {
634
+ startServer().catch((error) => {
635
+ console.error('Fatal error running server:', error);
636
+ process.exit(1);
637
+ });
638
+ }