@ekkos/mcp-server 1.2.1 → 1.2.2

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,231 +1,312 @@
1
- # Echo Memory MCP Server
1
+ # ekkOS™ Memory MCP Server
2
2
 
3
- Provides Claude (in Cursor) with direct access to Echo's memory systems.
3
+ Give your AI agent (Claude, GPT-4, etc.) in Cursor, Windsurf, or VS Code a persistent memory. It remembers solutions, learns from mistakes, and gets smarter over time.
4
4
 
5
- ## What This Does
5
+ ## Quick Start
6
6
 
7
- Bridges the gap between Echo's built memory infrastructure and AI agent access during conversations.
7
+ ### 1. Install
8
8
 
9
- ### Memory Systems Exposed
9
+ ```bash
10
+ npm install -g @ekkos/mcp-server
11
+ ```
10
12
 
11
- 1. **Semantic Search** (REFLEX_LOG.md patterns)
12
- - Fast BM25 + embedding search
13
- - Proven patterns and solutions
14
- - Implementation examples
13
+ ### 2. Get Your API Key
15
14
 
16
- 2. **Knowledge Graph** (Graphiti/Neo4j)
17
- - Permanent preferences
18
- - Established patterns
19
- - Semantic relationships
20
- - Forever memory
15
+ 1. Visit https://platform.ekkos.dev
16
+ 2. Sign in or create an account
17
+ 3. Copy your API key from the dashboard
18
+ 4. Copy your User ID from your profile
21
19
 
22
- 3. **Recent Signals** (asi_signals table)
23
- - User corrections
24
- - Pattern applications
25
- - Recent failures
26
- - Last 72h activity
20
+ ### 3. Configure Your IDE
27
21
 
28
- 4. **Auto-Scan Directives**
29
- - MUST/NEVER/PREFER/AVOID rules
30
- - Derived from both short-term + long-term memory
31
- - Updated in real-time
22
+ **For Cursor:** Add to `~/.cursor/mcp.json`
32
23
 
33
- ## Tools Available
24
+ **For Windsurf:** Add to `~/.codeium/windsurf/mcp_config.json`
34
25
 
35
- ### `search_memory`
36
- Search all memory systems at once.
26
+ **For Claude Code:** Add to `~/.claude_code/mcp.json`
37
27
 
38
- ```typescript
39
- search_memory({
40
- query: "auth loop fix",
41
- limit: 10,
42
- sources: ["all"] // or ["patterns", "graph", "signals"]
43
- })
28
+ ```json
29
+ {
30
+ "mcpServers": {
31
+ "ekkos-memory": {
32
+ "command": "npx",
33
+ "args": ["-y", "@ekkos/mcp-server"],
34
+ "env": {
35
+ "EKKOS_API_KEY": "your-api-key-here",
36
+ "EKKOS_USER_ID": "your-user-id-here"
37
+ }
38
+ }
39
+ }
40
+ }
44
41
  ```
45
42
 
46
- **Returns**: Combined results from patterns, knowledge graph, and signals.
43
+ ### 4. Restart Your IDE
47
44
 
48
- ### `get_directives`
49
- Get current behavioral directives from auto-scan.
45
+ The MCP server will be available in all chat sessions. Your AI can now remember!
50
46
 
51
- ```typescript
52
- get_directives({
53
- userId: "system",
54
- windowHours: 72
55
- })
56
- ```
47
+ ## How It Works
57
48
 
58
- **Returns**: MUST/NEVER/PREFER/AVOID + permanent knowledge + hot patterns.
49
+ Your AI agent can now access a 10-layer memory system that stores:
59
50
 
60
- ### `recall_pattern`
61
- Get full details on a specific pattern.
51
+ - **Patterns** - Proven solutions that worked
52
+ - **Conversations** - Past discussions and problem-solving sessions
53
+ - **Directives** - Rules your AI must follow (MUST/NEVER/PREFER/AVOID)
54
+ - **Codebase** - Semantic search across your project
55
+ - **And more** - Episodic memory, procedural workflows, collective knowledge
62
56
 
63
- ```typescript
64
- recall_pattern({
65
- pattern: "auth-timeout-mitigation"
66
- })
67
- ```
57
+ When you ask a question, your AI searches this memory first, finds relevant solutions, and applies them automatically.
58
+
59
+ ## Core Tools
60
+
61
+ ### `search_memory` 🔍
62
+
63
+ **What it does:** Searches all your memory layers to find relevant patterns, solutions, and past conversations.
64
+
65
+ **When to use:** Your AI calls this automatically before answering technical questions. It's the primary way your AI remembers.
68
66
 
69
- **Returns**: Pattern description, implementation, examples, success rate.
67
+ **Example:**
70
68
 
71
- ### `query_signals`
72
- Query recent learning signals by type.
69
+ ```
70
+ You: "How did we fix the auth timeout issue?"
73
71
 
74
- ```typescript
75
- query_signals({
76
- signalType: "user_correction_observed",
77
- hours: 24,
78
- limit: 20
79
- })
72
+ AI: [Searches memory automatically]
73
+ "Found it! We used the auth-timeout-mitigation pattern
74
+ from last week. Here's the solution..."
80
75
  ```
81
76
 
82
- **Returns**: Recent signals of the specified type.
77
+ **What you get back:**
78
+
79
+ - Relevant patterns with success rates
80
+ - Past conversations about similar problems
81
+ - Code examples that worked
82
+ - Solutions sorted by how well they worked
83
+
84
+ ---
85
+
86
+ ### `forge_pattern` 🔥
83
87
 
84
- ### `search_knowledge_graph`
85
- Search Graphiti knowledge graph directly.
88
+ **What it does:** Saves a solution that worked as a reusable pattern. Future AI agents (including yourself) will find it automatically.
86
89
 
87
- ```typescript
88
- search_knowledge_graph({
89
- query: "gateway routing preference",
90
- searchType: "nodes", // or "facts" or "both"
91
- limit: 10
92
- })
90
+ **When to use:** After you solve a problem, fix a bug, or discover a better approach. Your AI should call this automatically, but you can also trigger it.
91
+
92
+ **Example:**
93
+
94
+ ```
95
+ AI: [After fixing a bug]
96
+ "I've saved this solution as a pattern. Next time we
97
+ encounter this issue, I'll remember the fix instantly."
93
98
  ```
94
99
 
95
- **Returns**: Semantic nodes/facts from permanent memory.
100
+ **What happens:**
96
101
 
97
- ## Installation
102
+ - Pattern is stored in memory
103
+ - Becomes searchable immediately
104
+ - Success rate tracked over time
105
+ - Automatically suggested for similar problems
98
106
 
99
- ### 1. Install Dependencies
107
+ ---
108
+
109
+ ### `forge_directive` 📜
110
+
111
+ **What it does:** Creates a rule your AI must follow. These are MUST/NEVER/PREFER/AVOID rules that guide behavior.
112
+
113
+ **When to use:** When you want to establish permanent rules for how your AI should behave.
114
+
115
+ **Example:**
100
116
 
101
- ```bash
102
- cd mcp-servers/echo-memory
103
- npm install
104
- npm run build
105
117
  ```
118
+ You: "Always use TypeScript strict mode"
106
119
 
107
- ### 2. Configure Cursor
120
+ AI: [Creates directive]
121
+ "Rule saved. I'll always use strict mode going forward."
122
+ ```
108
123
 
109
- Add to your Cursor settings (`.cursor/mcp_settings.json` or global settings):
124
+ **Types of rules:**
110
125
 
111
- ```json
112
- {
113
- "mcpServers": {
114
- "echo-memory": {
115
- "command": "node",
116
- "args": [
117
- "/Volumes/MacMiniPort/DEV/echo/mcp-servers/echo-memory/build/index.js"
118
- ],
119
- "env": {
120
- "ECHO_API_URL": "http://localhost:3000",
121
- "ECHO_API_KEY": "your-api-key-here"
122
- }
123
- }
124
- }
125
- }
126
+ - **MUST** - Always do this (highest priority)
127
+ - **NEVER** - Never do this (high priority)
128
+ - **PREFER** - Prefer this approach (medium priority)
129
+ - **AVOID** - Try to avoid this (lower priority)
130
+
131
+ **What happens:**
132
+
133
+ - Rule is enforced in all future interactions
134
+ - AI checks against rules before taking actions
135
+ - Rules can be project-specific or global
136
+
137
+ ---
138
+
139
+ ### `recall_conversation` 💬
140
+
141
+ **What it does:** Finds past conversations about a topic, even from days or weeks ago.
142
+
143
+ **When to use:** When you want to remember what you discussed before, or check if you've already solved a problem.
144
+
145
+ **Example:**
146
+
147
+ ```
148
+ You: "What did we decide about the database schema?"
149
+
150
+ AI: [Searches past conversations]
151
+ "We discussed this 2 weeks ago. You decided to use
152
+ PostgreSQL with JSONB for flexible fields..."
126
153
  ```
127
154
 
128
- ### 3. Restart Cursor
155
+ **What you get back:**
129
156
 
130
- The MCP server will be available in all Cursor chat sessions.
157
+ - Relevant excerpts from past conversations
158
+ - Context about decisions made
159
+ - Solutions you've tried before
160
+ - Semantic matches (finds related topics, not just keywords)
131
161
 
132
- ## Usage in Cursor
162
+ ---
133
163
 
134
- Once configured, Claude can use these tools during conversations:
164
+ ### `check_conflict` ⚖️
165
+
166
+ **What it does:** Validates an action against your rules and patterns before executing it. Prevents your AI from doing something that violates your preferences.
167
+
168
+ **When to use:** Before executing destructive operations, deploying changes, or modifying critical configs.
169
+
170
+ **Example:**
135
171
 
136
172
  ```
137
- You: "How did we fix the auth timeout issue?"
173
+ AI: [Before deleting files]
174
+ "I want to delete /tmp files. Let me check if this
175
+ violates any rules..."
138
176
 
139
- Claude: [Calls search_memory("auth timeout fix")]
140
- "Found it! We used the auth-timeout-mitigation pattern
141
- from Oct 15. Here's the solution..."
177
+ [Checks conflicts]
178
+ "⚠️ CONFLICT: This violates NEVER rule: 'Never delete
179
+ files without user confirmation'. I'll ask first."
142
180
  ```
143
181
 
144
- **Instant pattern recall** during active development! ⚡
182
+ **What you get back:**
145
183
 
146
- ## Configuration
184
+ - List of violated rules (if any)
185
+ - Conflicting patterns
186
+ - Recommendations to proceed safely
187
+ - Clear explanation of why it conflicts
147
188
 
148
- ### Environment Variables
189
+ ---
149
190
 
150
- - `ECHO_API_URL`: Echo API base URL (default: `http://localhost:3000`)
151
- - `ECHO_API_KEY`: API key for authentication (optional, for production)
191
+ ## How to Use It Day-to-Day
152
192
 
153
- ### Development
193
+ ### When Starting Work
154
194
 
155
- ```bash
156
- # Watch mode (rebuilds on changes)
157
- npm run watch
195
+ Your AI automatically searches memory when you ask questions. You don't need to do anything special - just ask:
158
196
 
159
- # Test the server
160
- node build/index.js
197
+ ```
198
+ You: "Fix the authentication bug"
199
+ AI: [Searches memory] "Found 3 solutions from past work..."
200
+ ```
201
+
202
+ ### When Solving Problems
203
+
204
+ After your AI solves something, it should automatically save it as a pattern:
205
+
206
+ ```
207
+ AI: [After fixing bug]
208
+ "Solution saved. Future agents will find this automatically."
161
209
  ```
162
210
 
163
- ## Architecture
211
+ If it doesn't, you can remind it:
164
212
 
165
213
  ```
166
- ┌─────────────────────────────────────────────────────────┐
167
- │ Claude in Cursor │
168
- └───────────────────┬─────────────────────────────────────┘
169
-
170
- ┌─────────────────────────────────────────────────────────┐
171
- │ Echo Memory MCP Server │
172
- │ • search_memory │
173
- │ • get_directives │
174
- │ • recall_pattern │
175
- │ • query_signals │
176
- │ • search_knowledge_graph │
177
- └───────────────────┬─────────────────────────────────────┘
178
-
179
- ┌─────────────────────────────────────────────────────────┐
180
- │ Echo API (localhost:3000) │
181
- │ ├─ /api/asi/semantic-search (REFLEX_LOG) │
182
- │ ├─ /api/asi/scan (Auto-Scan) │
183
- │ ├─ /api/graphiti (Knowledge Graph) │
184
- │ └─ /api/asi/log-signal (Signals) │
185
- └───────────────────┬─────────────────────────────────────┘
186
-
187
- ┌─────────────────────────────────────────────────────────┐
188
- │ Memory Stores │
189
- │ ├─ REFLEX_LOG.md (Patterns) │
190
- │ ├─ Supabase asi_signals (Short-term, 72h) │
191
- │ └─ Graphiti/Neo4j (Long-term, forever) │
192
- └─────────────────────────────────────────────────────────┘
214
+ You: "Save this solution as a pattern"
193
215
  ```
194
216
 
195
- ## Why This Matters
217
+ ### When Setting Rules
196
218
 
197
- ### Before (Memory Exists But Not Accessible)
219
+ Tell your AI what you want it to always/never do:
198
220
 
199
221
  ```
200
- User: "Fix this auth bug"
201
- Claude: "Let me implement a solution..."
202
- [Might repeat past mistakes]
203
- [Might not use proven patterns]
222
+ You: "Never use `any` type in TypeScript"
223
+ AI: [Creates directive] "Rule saved. I'll avoid `any` going forward."
204
224
  ```
205
225
 
206
- ### After (Memory Accessible via MCP)
226
+ ### When Checking Past Work
227
+
228
+ Ask about past conversations:
207
229
 
208
230
  ```
209
- User: "Fix this auth bug"
210
- Claude: [search_memory("auth fix")]
211
- "Found 3 proven solutions from past work!
212
- Applying the highest-success pattern..."
213
- [Uses established solution instantly] ✅
231
+ You: "What did we decide about the API structure?"
232
+ AI: [Searches conversations] "We discussed this last week..."
214
233
  ```
215
234
 
216
- **Result**: Claude has persistent memory across sessions! 🧠♾️
235
+ ## The Golden Loop
236
+
237
+ ekkOS uses a continuous learning cycle that makes your AI smarter:
238
+
239
+ 1. **Retrieve** - `search_memory` finds relevant patterns
240
+ 2. **Apply** - AI uses patterns to solve problems
241
+ 3. **Measure** - System tracks if solutions worked
242
+ 4. **Learn** - `forge_pattern` saves new solutions
243
+
244
+ This creates a self-improving system. Every problem solved makes future problems easier.
217
245
 
218
- ## Next Steps
246
+ ## Troubleshooting
219
247
 
220
- 1. Build MCP server (done)
221
- 2. Configure in Cursor
222
- 3. Test memory queries
223
- 4. Add signal GET endpoint for full signal querying
224
- 5. Add caching for frequently accessed patterns
248
+ ### MCP Server Not Appearing
249
+
250
+ - Make sure Node.js 18+ is installed
251
+ - Check your API key is correct in the config file
252
+ - Restart your IDE after adding the config
253
+ - Check IDE logs for connection errors
254
+
255
+ ### No Patterns Found
256
+
257
+ - You need to forge some patterns first (solve problems and save them)
258
+ - Check your API key has access to your memory
259
+ - Make sure `EKKOS_USER_ID` is set for user-scoped patterns
260
+
261
+ ### Authentication Errors
262
+
263
+ - Verify your API key at https://platform.ekkos.dev
264
+ - Check the key hasn't expired
265
+ - Make sure the key has correct permissions
266
+
267
+ ## What Gets Stored
268
+
269
+ Your memory includes:
270
+
271
+ - **Patterns** - Solutions that worked, with success rates
272
+ - **Conversations** - Past discussions, searchable semantically
273
+ - **Directives** - Rules your AI follows (MUST/NEVER/PREFER/AVOID)
274
+ - **Codebase** - Semantic search across your project files
275
+ - **Episodic** - Problem-solving sessions and workflows
276
+ - **Procedural** - Step-by-step processes that worked
277
+ - **Collective** - Knowledge shared across AI agents
278
+ - **Code** - Code embeddings for finding similar code
279
+
280
+ All of this is searchable instantly when your AI needs it.
281
+
282
+ ## Example Workflow
283
+
284
+ ```
285
+ 1. You: "Fix the login bug"
286
+
287
+ 2. AI: [Calls search_memory("login bug fix")]
288
+ "Found 2 patterns from past work. Applying the
289
+ highest-success solution..."
290
+
291
+ 3. AI: [Fixes bug using pattern]
292
+ "Fixed! This solution has worked 8 times before."
293
+
294
+ 4. AI: [Calls forge_pattern automatically]
295
+ "Saved this fix as a pattern for next time."
296
+
297
+ 5. Next time: AI remembers instantly and applies the fix
298
+ ```
225
299
 
226
300
  ## Related
227
301
 
228
- - Two-Tier Memory Architecture: `/TWO_TIER_MEMORY.md`
229
- - Auto-Scan Implementation: `/apps/web/app/lib/asi/autoScan.ts`
230
- - Memory Problem Documentation: `/THE_MEMORY_PROBLEM.md`
302
+ - **Platform Dashboard**: https://platform.ekkos.dev
303
+ - **Documentation**: https://docs.ekkos.dev
304
+ - **GitHub**: https://github.com/ekkos-ai/ekkos
305
+
306
+ ## License
307
+
308
+ MIT
309
+
310
+ ---
231
311
 
312
+ **ekkOS™** - The memory substrate for AI agents. Making AI smarter, one pattern at a time. 🧠♾️
package/build/index.d.ts CHANGED
@@ -1,13 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Echo Memory MCP Server
3
+ * ekkOS™ Memory MCP Server
4
4
  *
5
- * Provides Claude (in Cursor) with direct access to Echo's memory systems:
6
- * - Semantic search of patterns (REFLEX_LOG.md)
7
- * - Knowledge graph queries (Graphiti)
8
- * - Recent signals (asi_signals)
9
- * - Auto-scan directives
5
+ * Provides AI agents (Claude, GPT-4, etc.) in Cursor, Windsurf, VS Code, and Claude Code
6
+ * with direct access to ekkOS's 10-layer memory architecture:
7
+ * - Layer 1-10 memory systems (working, episodic, semantic, patterns, procedural, collective, meta, codebase, directives, conflicts)
8
+ * - Unified context retrieval via Memory Orchestrator
9
+ * - Pattern search and forging (Golden Loop)
10
+ * - Knowledge graph queries (Graphiti/Neo4j)
11
+ * - Behavioral directives (MUST/NEVER/PREFER/AVOID)
10
12
  *
11
- * This bridges the gap between built infrastructure and AI access.
13
+ * This bridges the gap between ekkOS's built memory infrastructure and AI agent access.
12
14
  */
13
15
  export {};
package/build/index.js CHANGED
@@ -1,14 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Echo Memory MCP Server
3
+ * ekkOS™ Memory MCP Server
4
4
  *
5
- * Provides Claude (in Cursor) with direct access to Echo's memory systems:
6
- * - Semantic search of patterns (REFLEX_LOG.md)
7
- * - Knowledge graph queries (Graphiti)
8
- * - Recent signals (asi_signals)
9
- * - Auto-scan directives
5
+ * Provides AI agents (Claude, GPT-4, etc.) in Cursor, Windsurf, VS Code, and Claude Code
6
+ * with direct access to ekkOS's 10-layer memory architecture:
7
+ * - Layer 1-10 memory systems (working, episodic, semantic, patterns, procedural, collective, meta, codebase, directives, conflicts)
8
+ * - Unified context retrieval via Memory Orchestrator
9
+ * - Pattern search and forging (Golden Loop)
10
+ * - Knowledge graph queries (Graphiti/Neo4j)
11
+ * - Behavioral directives (MUST/NEVER/PREFER/AVOID)
10
12
  *
11
- * This bridges the gap between built infrastructure and AI access.
13
+ * This bridges the gap between ekkOS's built memory infrastructure and AI agent access.
12
14
  */
13
15
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
14
16
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
@@ -34,11 +36,11 @@ const ECHO_API_KEY = process.env.ECHO_API_KEY; // For authentication
34
36
  const EKKOS_USER_ID = process.env.EKKOS_USER_ID; // User ID for tracking retrievals
35
37
  const EKKOS_API_KEY = process.env.EKKOS_API_KEY; // User's API key
36
38
  // Debug: Log configuration on startup (to stderr so it doesn't interfere with MCP protocol)
37
- console.error(`[MCP:echo-memory] Using DIRECT Supabase connection`);
38
- console.error(`[MCP:echo-memory] SUPABASE_URL: ${SUPABASE_URL}`);
39
- console.error(`[MCP:echo-memory] SUPABASE_KEY: ${SUPABASE_KEY ? 'set (' + SUPABASE_KEY.length + ' chars)' : 'NOT SET'}`);
40
- console.error(`[MCP:echo-memory] EKKOS_USER_ID: ${EKKOS_USER_ID || 'NOT SET (Golden Loop tracking disabled)'}`);
41
- console.error(`[MCP:echo-memory] EKKOS_API_KEY: ${EKKOS_API_KEY ? 'set' : 'NOT SET'}`);
39
+ console.error(`[MCP:ekkos-memory] Using DIRECT Supabase connection`);
40
+ console.error(`[MCP:ekkos-memory] SUPABASE_URL: ${SUPABASE_URL}`);
41
+ console.error(`[MCP:ekkos-memory] SUPABASE_KEY: ${SUPABASE_KEY ? 'set (' + SUPABASE_KEY.length + ' chars)' : 'NOT SET'}`);
42
+ console.error(`[MCP:ekkos-memory] EKKOS_USER_ID: ${EKKOS_USER_ID || 'NOT SET (Golden Loop tracking disabled)'}`);
43
+ console.error(`[MCP:ekkos-memory] EKKOS_API_KEY: ${EKKOS_API_KEY ? 'set' : 'NOT SET'}`);
42
44
  // In-memory store for tracking pattern applications (maps application_id -> pattern_ids)
43
45
  // This bridges track_memory_application and record_memory_outcome
44
46
  const applicationStore = new Map();
@@ -1774,7 +1776,7 @@ Future agents will find it when facing similar problems.
1774
1776
  case 'get_memory_layer_info': {
1775
1777
  try {
1776
1778
  const stats = await fetchMemory('/api/v1/memory/metrics');
1777
- const formatted = `**Echo Memory Layer Statistics** (10-Layer Architecture)
1779
+ const formatted = `**ekkOS Memory Layer Statistics** (10-Layer Architecture)
1778
1780
 
1779
1781
  **Core Memory Layers:**
1780
1782
  - 🧠 Layer 2 (Episodic): ${stats.episodic || 0} episodes
@@ -1831,7 +1833,7 @@ The memory metrics endpoint may not be available. Check that:
1831
1833
  This is ekkOS, the memory substrate for AI agents.
1832
1834
 
1833
1835
  **Connection Status:** ✅ MCP server is running and responding
1834
- **Server:** echo-memory MCP Server v1.0.0
1836
+ **Server:** ekkOS Memory MCP Server v1.2.1
1835
1837
  **Time:** ${new Date().toISOString()}
1836
1838
 
1837
1839
  You've successfully connected to ekkOS via the Model Context Protocol. This proves that:
package/index.ts CHANGED
@@ -1,14 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Echo Memory MCP Server
3
+ * ekkOS™ Memory MCP Server
4
4
  *
5
- * Provides Claude (in Cursor) with direct access to Echo's memory systems:
6
- * - Semantic search of patterns (REFLEX_LOG.md)
7
- * - Knowledge graph queries (Graphiti)
8
- * - Recent signals (asi_signals)
9
- * - Auto-scan directives
5
+ * Provides AI agents (Claude, GPT-4, etc.) in Cursor, Windsurf, VS Code, and Claude Code
6
+ * with direct access to ekkOS's 10-layer memory architecture:
7
+ * - Layer 1-10 memory systems (working, episodic, semantic, patterns, procedural, collective, meta, codebase, directives, conflicts)
8
+ * - Unified context retrieval via Memory Orchestrator
9
+ * - Pattern search and forging (Golden Loop)
10
+ * - Knowledge graph queries (Graphiti/Neo4j)
11
+ * - Behavioral directives (MUST/NEVER/PREFER/AVOID)
10
12
  *
11
- * This bridges the gap between built infrastructure and AI access.
13
+ * This bridges the gap between ekkOS's built memory infrastructure and AI agent access.
12
14
  */
13
15
 
14
16
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
@@ -44,11 +46,11 @@ const EKKOS_USER_ID = process.env.EKKOS_USER_ID; // User ID for tracking retriev
44
46
  const EKKOS_API_KEY = process.env.EKKOS_API_KEY; // User's API key
45
47
 
46
48
  // Debug: Log configuration on startup (to stderr so it doesn't interfere with MCP protocol)
47
- console.error(`[MCP:echo-memory] Using DIRECT Supabase connection`);
48
- console.error(`[MCP:echo-memory] SUPABASE_URL: ${SUPABASE_URL}`);
49
- console.error(`[MCP:echo-memory] SUPABASE_KEY: ${SUPABASE_KEY ? 'set (' + SUPABASE_KEY.length + ' chars)' : 'NOT SET'}`);
50
- console.error(`[MCP:echo-memory] EKKOS_USER_ID: ${EKKOS_USER_ID || 'NOT SET (Golden Loop tracking disabled)'}`);
51
- console.error(`[MCP:echo-memory] EKKOS_API_KEY: ${EKKOS_API_KEY ? 'set' : 'NOT SET'}`);
49
+ console.error(`[MCP:ekkos-memory] Using DIRECT Supabase connection`);
50
+ console.error(`[MCP:ekkos-memory] SUPABASE_URL: ${SUPABASE_URL}`);
51
+ console.error(`[MCP:ekkos-memory] SUPABASE_KEY: ${SUPABASE_KEY ? 'set (' + SUPABASE_KEY.length + ' chars)' : 'NOT SET'}`);
52
+ console.error(`[MCP:ekkos-memory] EKKOS_USER_ID: ${EKKOS_USER_ID || 'NOT SET (Golden Loop tracking disabled)'}`);
53
+ console.error(`[MCP:ekkos-memory] EKKOS_API_KEY: ${EKKOS_API_KEY ? 'set' : 'NOT SET'}`);
52
54
 
53
55
  // In-memory store for tracking pattern applications (maps application_id -> pattern_ids)
54
56
  // This bridges track_memory_application and record_memory_outcome
@@ -1897,7 +1899,7 @@ Future agents will find it when facing similar problems.
1897
1899
  try {
1898
1900
  const stats = await fetchMemory('/api/v1/memory/metrics');
1899
1901
 
1900
- const formatted = `**Echo Memory Layer Statistics** (10-Layer Architecture)
1902
+ const formatted = `**ekkOS Memory Layer Statistics** (10-Layer Architecture)
1901
1903
 
1902
1904
  **Core Memory Layers:**
1903
1905
  - 🧠 Layer 2 (Episodic): ${stats.episodic || 0} episodes
@@ -1955,7 +1957,7 @@ The memory metrics endpoint may not be available. Check that:
1955
1957
  This is ekkOS, the memory substrate for AI agents.
1956
1958
 
1957
1959
  **Connection Status:** ✅ MCP server is running and responding
1958
- **Server:** echo-memory MCP Server v1.0.0
1960
+ **Server:** ekkOS Memory MCP Server v1.2.1
1959
1961
  **Time:** ${new Date().toISOString()}
1960
1962
 
1961
1963
  You've successfully connected to ekkOS via the Model Context Protocol. This proves that:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ekkos/mcp-server",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "ekkOS Memory MCP Server - Universal AI memory across Cursor, Windsurf, VS Code, Claude Code via stdio transport",
5
5
  "type": "module",
6
6
  "bin": {