@steno-ai/mcp 0.1.3 → 0.1.5

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,24 +1,65 @@
1
1
  # @steno-ai/mcp
2
2
 
3
- MCP server that gives Claude persistent long-term memory. Works with Claude Desktop, Claude Code, Cursor, Windsurf, and any MCP-compatible client.
3
+ Persistent long-term memory for Claude. One command to set up. Works with Claude Desktop, Claude Code, Cursor, and any MCP client.
4
4
 
5
- ## Setup
5
+ ## Quick Start (2 minutes)
6
6
 
7
- ### 1. Get your keys
7
+ ### 1. Create a free Supabase project
8
8
 
9
- You need a [Supabase](https://supabase.com) project and an [OpenAI](https://platform.openai.com) API key. Optionally a [Perplexity](https://perplexity.ai) key for cheaper embeddings.
9
+ Go to [supabase.com](https://supabase.com), create a new project. Copy your:
10
+ - **Project URL** (looks like `https://abc123.supabase.co`)
11
+ - **Service Role Key** (in Settings > API > service_role key — NOT the anon key)
10
12
 
11
- ### 2. Run the Supabase migrations
13
+ ### 2. Get an OpenAI key
12
14
 
13
- Clone the repo and run the schema migrations against your Supabase project:
15
+ Go to [platform.openai.com/api-keys](https://platform.openai.com/api-keys), create a key.
16
+
17
+ ### 3. Run setup
14
18
 
15
19
  ```bash
16
- git clone https://github.com/SankrityaT/steno-ai.git
17
- cd steno-ai/packages/supabase-adapter/src/migrations
18
- # Run each .sql file (001-025) in order via Supabase SQL Editor or CLI
20
+ npx steno-mcp-init
19
21
  ```
20
22
 
21
- ### 3. Add to Claude Desktop
23
+ This will:
24
+ - Ask for your Supabase URL, Service Role Key, and OpenAI key
25
+ - Create all database tables automatically
26
+ - Write the Claude Desktop config for you
27
+
28
+ ### 4. Restart Claude Desktop
29
+
30
+ Quit (Cmd+Q) and reopen. Then:
31
+ - Go to **Settings > General** → set **"Tools already loaded"**
32
+ - Start chatting — Claude now has persistent memory
33
+
34
+ That's it. Your data stays in YOUR Supabase project. Nothing is shared.
35
+
36
+ ---
37
+
38
+ ## What you get
39
+
40
+ | Tool | What it does |
41
+ |------|-------------|
42
+ | `steno_remember` | Stores facts, preferences, decisions, people, events |
43
+ | `steno_recall` | Searches memory with 6-signal fusion (vector + keyword + graph + temporal + recency + salience) |
44
+ | `steno_flush` | Forces extraction of buffered session messages |
45
+ | `steno_feedback` | Rates whether a recalled memory was useful |
46
+ | `steno_stats` | Shows memory statistics |
47
+
48
+ ## How it works
49
+
50
+ **Storing memories:** Every message goes through LLM extraction → entity/edge creation → temporal grounding → contextual embedding → dedup → knowledge graph update.
51
+
52
+ **Recalling memories:** Every query runs through 6 parallel signals fused with configurable weights. Knowledge updates are tracked — newer facts supersede older ones.
53
+
54
+ **Features:**
55
+ - Knowledge graph with typed entities and relationships
56
+ - Temporal reasoning (eventDate + documentDate on every fact)
57
+ - Knowledge updates (newer facts automatically supersede older ones)
58
+ - Domain-scoped entity types (vehicle, startup, project — or define your own)
59
+ - Session buffering for cross-message context
60
+ - Source chunk preservation for full-context answers
61
+
62
+ ## Manual Setup (if you prefer)
22
63
 
23
64
  Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
24
65
 
@@ -32,56 +73,41 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
32
73
  "SUPABASE_URL": "https://YOUR-PROJECT.supabase.co",
33
74
  "SUPABASE_SERVICE_ROLE_KEY": "eyJ...",
34
75
  "OPENAI_API_KEY": "sk-...",
35
- "PERPLEXITY_API_KEY": "pplx-... (optional)"
76
+ "PERPLEXITY_API_KEY": "pplx-... (optional, for cheaper embeddings)"
36
77
  }
37
78
  }
38
79
  }
39
80
  }
40
81
  ```
41
82
 
42
- ### 4. Restart Claude Desktop
43
-
44
- The MCP server will connect automatically. Claude gets 5 memory tools:
45
-
46
- | Tool | Description |
47
- |------|-------------|
48
- | `steno_remember` | Store facts, preferences, decisions, people, events |
49
- | `steno_recall` | Search memory with 6-signal fusion retrieval |
50
- | `steno_flush` | Force extraction of buffered session messages |
51
- | `steno_feedback` | Rate whether a recalled memory was useful |
52
- | `steno_stats` | View memory statistics |
53
-
54
- ## How it works
55
-
56
- Every `steno_remember` call runs through the full extraction pipeline:
57
- - **LLM fact extraction** with temporal grounding (eventDate + documentDate)
58
- - **Knowledge graph** building (entities, typed edges, domain-scoped schemas)
59
- - **Dedup + knowledge updates** (newer facts supersede older ones)
60
- - **Contextual embeddings** (facts embedded with conversation context)
61
- - **Session buffering** (messages batched for cross-message context)
62
-
63
- Every `steno_recall` query uses **6-signal fusion**:
64
- - Vector similarity (0.30) — semantic search
65
- - Temporal proximity (0.20) — date-aware retrieval
66
- - Graph traversal (0.15) — entity relationships
67
- - Keyword/FTS (0.15) — exact term matching
68
- - Recency decay (0.10) — prefer recent memories
69
- - Salience (0.10) — importance × access frequency
70
-
71
- ## Claude Code
72
-
73
- Works the same way — add to your Claude Code MCP config or install as a plugin.
83
+ Then run the migrations manually — see [migrations folder](https://github.com/SankrityaT/steno-ai/tree/main/packages/supabase-adapter/src/migrations).
74
84
 
75
85
  ## Environment Variables
76
86
 
77
87
  | Variable | Required | Description |
78
88
  |----------|----------|-------------|
79
89
  | `SUPABASE_URL` | Yes | Your Supabase project URL |
80
- | `SUPABASE_SERVICE_ROLE_KEY` | Yes | Supabase service role key |
81
- | `OPENAI_API_KEY` | Yes | OpenAI API key (for LLM extraction) |
82
- | `PERPLEXITY_API_KEY` | No | Perplexity key for cheaper embeddings |
90
+ | `SUPABASE_SERVICE_ROLE_KEY` | Yes | Supabase service role key (not anon key) |
91
+ | `OPENAI_API_KEY` | Yes | For LLM extraction and embeddings |
92
+ | `PERPLEXITY_API_KEY` | No | Cheaper embeddings ($0.03/1M tokens vs $0.13) |
83
93
  | `STENO_SCOPE_ID` | No | Scope identifier (default: "default") |
84
94
 
95
+ ## For Developers
96
+
97
+ Use the engine directly in your app:
98
+
99
+ ```bash
100
+ npm install @steno-ai/engine @steno-ai/supabase-adapter @steno-ai/openai-adapter
101
+ ```
102
+
103
+ ```typescript
104
+ import { runExtractionPipeline, search } from '@steno-ai/engine';
105
+ import { SupabaseStorageAdapter } from '@steno-ai/supabase-adapter';
106
+ import { OpenAILLMAdapter } from '@steno-ai/openai-adapter';
107
+ ```
108
+
109
+ See [@steno-ai/engine](https://www.npmjs.com/package/@steno-ai/engine) for full API docs.
110
+
85
111
  ## Part of [Steno](https://github.com/SankrityaT/steno-ai)
86
112
 
87
113
  The memory layer for AI agents. 13 packages — engine, adapters, SDK, MCP server, and more.