@ekkos/mcp-server 1.2.3 → 2.0.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,44 +1,30 @@
1
- # ekkOS™ Memory MCP Server
1
+ # @ekkos/mcp-server
2
2
 
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.
3
+ Stdio-to-SSE bridge for [ekkOS](https://ekkos.dev) Memory substrate. Enables AI tools like Claude Code and Cursor to access your persistent memory via the Model Context Protocol (MCP).
4
4
 
5
5
  ## Quick Start
6
6
 
7
- ### 1. Install
7
+ ### Claude Code
8
8
 
9
- ```bash
10
- npm install -g @ekkos/mcp-server
11
- ```
12
-
13
- ### 2. Get Your API Key
14
-
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
19
-
20
- ### 3. Configure Your IDE
21
-
22
- **For Cursor:** Add to `~/.cursor/mcp.json`
23
-
24
- **For Windsurf:** Add to `~/.codeium/windsurf/mcp_config.json`
9
+ Add to `~/.claude/settings.json`:
25
10
 
26
11
  ```json
27
12
  {
28
13
  "mcpServers": {
29
14
  "ekkos-memory": {
30
- "url": "https://mcp.ekkos.dev/api/v1/mcp/sse?api_key=your-api-key-here",
31
- "transport": "sse",
32
- "headers": {
33
- "Authorization": "Bearer your-api-key-here",
34
- "X-User-ID": "your-user-id-here"
15
+ "command": "npx",
16
+ "args": ["-y", "@ekkos/mcp-server"],
17
+ "env": {
18
+ "EKKOS_API_KEY": "your_api_key_here"
35
19
  }
36
20
  }
37
21
  }
38
22
  }
39
23
  ```
40
24
 
41
- **For Claude Code:** Add to `~/.claude/settings.json`
25
+ ### Cursor
26
+
27
+ Add to `.cursor/mcp.json` in your project:
42
28
 
43
29
  ```json
44
30
  {
@@ -47,281 +33,135 @@ npm install -g @ekkos/mcp-server
47
33
  "command": "npx",
48
34
  "args": ["-y", "@ekkos/mcp-server"],
49
35
  "env": {
50
- "EKKOS_API_KEY": "your-api-key-here",
51
- "EKKOS_USER_ID": "your-user-id-here"
36
+ "EKKOS_API_KEY": "your_api_key_here"
52
37
  }
53
38
  }
54
39
  }
55
40
  }
56
41
  ```
57
42
 
58
- ### 4. Restart Your IDE
59
-
60
- The MCP server will be available in all chat sessions. Your AI can now remember!
61
-
62
- ## How It Works
63
-
64
- Your AI agent can now access a 10-layer memory system that stores:
65
-
66
- - **Patterns** - Proven solutions that worked
67
- - **Conversations** - Past discussions and problem-solving sessions
68
- - **Directives** - Rules your AI must follow (MUST/NEVER/PREFER/AVOID)
69
- - **Codebase** - Semantic search across your project
70
- - **And more** - Episodic memory, procedural workflows, collective knowledge
71
-
72
- When you ask a question, your AI searches this memory first, finds relevant solutions, and applies them automatically.
73
-
74
- ## Core Tools
75
-
76
- ### `search_memory` 🔍
77
-
78
- **What it does:** Searches all your memory layers to find relevant patterns, solutions, and past conversations.
79
-
80
- **When to use:** Your AI calls this automatically before answering technical questions. It's the primary way your AI remembers.
81
-
82
- **Example:**
83
-
84
- ```
85
- You: "How did we fix the auth timeout issue?"
86
-
87
- AI: [Searches memory automatically]
88
- "Found it! We used the auth-timeout-mitigation pattern
89
- from last week. Here's the solution..."
90
- ```
91
-
92
- **What you get back:**
93
-
94
- - Relevant patterns with success rates
95
- - Past conversations about similar problems
96
- - Code examples that worked
97
- - Solutions sorted by how well they worked
98
-
99
- ---
100
-
101
- ### `forge_pattern` 🔥
102
-
103
- **What it does:** Saves a solution that worked as a reusable pattern. Future AI agents (including yourself) will find it automatically.
104
-
105
- **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.
106
-
107
- **Example:**
108
-
109
- ```
110
- AI: [After fixing a bug]
111
- "I've saved this solution as a pattern. Next time we
112
- encounter this issue, I'll remember the fix instantly."
113
- ```
114
-
115
- **What happens:**
116
-
117
- - Pattern is stored in memory
118
- - Becomes searchable immediately
119
- - Success rate tracked over time
120
- - Automatically suggested for similar problems
121
-
122
- ---
123
-
124
- ### `forge_directive` 📜
125
-
126
- **What it does:** Creates a rule your AI must follow. These are MUST/NEVER/PREFER/AVOID rules that guide behavior.
127
-
128
- **When to use:** When you want to establish permanent rules for how your AI should behave.
129
-
130
- **Example:**
131
-
132
- ```
133
- You: "Always use TypeScript strict mode"
43
+ ### Get Your API Key
134
44
 
135
- AI: [Creates directive]
136
- "Rule saved. I'll always use strict mode going forward."
137
- ```
138
-
139
- **Types of rules:**
140
-
141
- - **MUST** - Always do this (highest priority)
142
- - **NEVER** - Never do this (high priority)
143
- - **PREFER** - Prefer this approach (medium priority)
144
- - **AVOID** - Try to avoid this (lower priority)
145
-
146
- **What happens:**
147
-
148
- - Rule is enforced in all future interactions
149
- - AI checks against rules before taking actions
150
- - Rules can be project-specific or global
151
-
152
- ---
153
-
154
- ### `recall_conversation` 💬
155
-
156
- **What it does:** Finds past conversations about a topic, even from days or weeks ago.
157
-
158
- **When to use:** When you want to remember what you discussed before, or check if you've already solved a problem.
159
-
160
- **Example:**
161
-
162
- ```
163
- You: "What did we decide about the database schema?"
164
-
165
- AI: [Searches past conversations]
166
- "We discussed this 2 weeks ago. You decided to use
167
- PostgreSQL with JSONB for flexible fields..."
168
- ```
45
+ 1. Go to [platform.ekkos.dev](https://platform.ekkos.dev)
46
+ 2. Sign up or log in
47
+ 3. Navigate to **Settings → API Keys**
48
+ 4. Click **"Generate New Key"**
169
49
 
170
- **What you get back:**
50
+ ## Environment Variables
171
51
 
172
- - Relevant excerpts from past conversations
173
- - Context about decisions made
174
- - Solutions you've tried before
175
- - Semantic matches (finds related topics, not just keywords)
52
+ | Variable | Required | Description |
53
+ |----------|----------|-------------|
54
+ | `EKKOS_API_KEY` | Yes | Your ekkOS API key from platform.ekkos.dev |
55
+ | `EKKOS_USER_ID` | No | Your user ID (optional, for better tracking) |
56
+ | `EKKOS_MCP_URL` | No | Custom MCP gateway URL (default: https://mcp.ekkos.dev/api/v1/mcp/sse) |
57
+ | `EKKOS_DEBUG` | No | Set to `true` for debug logs |
176
58
 
177
- ---
178
-
179
- ### `check_conflict` ⚖️
180
-
181
- **What it does:** Validates an action against your rules and patterns before executing it. Prevents your AI from doing something that violates your preferences.
182
-
183
- **When to use:** Before executing destructive operations, deploying changes, or modifying critical configs.
184
-
185
- **Example:**
186
-
187
- ```
188
- AI: [Before deleting files]
189
- "I want to delete /tmp files. Let me check if this
190
- violates any rules..."
191
-
192
- [Checks conflicts]
193
- "⚠️ CONFLICT: This violates NEVER rule: 'Never delete
194
- files without user confirmation'. I'll ask first."
195
- ```
196
-
197
- **What you get back:**
198
-
199
- - List of violated rules (if any)
200
- - Conflicting patterns
201
- - Recommendations to proceed safely
202
- - Clear explanation of why it conflicts
203
-
204
- ---
205
-
206
- ## How to Use It Day-to-Day
207
-
208
- ### When Starting Work
209
-
210
- Your AI automatically searches memory when you ask questions. You don't need to do anything special - just ask:
211
-
212
- ```
213
- You: "Fix the authentication bug"
214
- AI: [Searches memory] "Found 3 solutions from past work..."
215
- ```
216
-
217
- ### When Solving Problems
218
-
219
- After your AI solves something, it should automatically save it as a pattern:
220
-
221
- ```
222
- AI: [After fixing bug]
223
- "Solution saved. Future agents will find this automatically."
224
- ```
225
-
226
- If it doesn't, you can remind it:
227
-
228
- ```
229
- You: "Save this solution as a pattern"
230
- ```
231
-
232
- ### When Setting Rules
233
-
234
- Tell your AI what you want it to always/never do:
235
-
236
- ```
237
- You: "Never use `any` type in TypeScript"
238
- AI: [Creates directive] "Rule saved. I'll avoid `any` going forward."
239
- ```
240
-
241
- ### When Checking Past Work
242
-
243
- Ask about past conversations:
244
-
245
- ```
246
- You: "What did we decide about the API structure?"
247
- AI: [Searches conversations] "We discussed this last week..."
248
- ```
249
-
250
- ## The Golden Loop
251
-
252
- ekkOS uses a continuous learning cycle that makes your AI smarter:
253
-
254
- 1. **Retrieve** - `search_memory` finds relevant patterns
255
- 2. **Apply** - AI uses patterns to solve problems
256
- 3. **Measure** - System tracks if solutions worked
257
- 4. **Learn** - `forge_pattern` saves new solutions
59
+ ## How It Works
258
60
 
259
- This creates a self-improving system. Every problem solved makes future problems easier.
61
+ This package creates a bridge between:
62
+ - **Stdio transport** (used by AI tools like Claude Code)
63
+ - **SSE transport** (used by ekkOS cloud memory substrate)
64
+
65
+ When your AI tool starts the MCP server, this bridge:
66
+ 1. Connects to ekkOS cloud via SSE using your API key
67
+ 2. Exposes a stdio interface for your AI tool
68
+ 3. Forwards all MCP messages between stdio and SSE
69
+ 4. Handles authentication, reconnection, and error handling
70
+
71
+ ## 35 MCP Tools
72
+
73
+ Your AI gets access to **35 memory tools** across 8 categories:
74
+
75
+ ### Core Memory (7)
76
+ | Tool | Description |
77
+ |------|-------------|
78
+ | `ekkOS_Search` | Search all 11 memory layers for patterns, solutions, and context |
79
+ | `ekkOS_Forge` | Create a new pattern from a learned solution |
80
+ | `ekkOS_Directive` | Create user rules (MUST/NEVER/PREFER/AVOID) |
81
+ | `ekkOS_Context` | Get relevant context for a task (episodes + patterns + plan) |
82
+ | `ekkOS_Capture` | Capture a memory event (code change, chat, command, etc.) |
83
+ | `ekkOS_Codebase` | Search project codebase embeddings |
84
+ | `ekkOS_Recall` | Recall past conversations by time |
85
+
86
+ ### Pattern Tracking (4)
87
+ | Tool | Description |
88
+ |------|-------------|
89
+ | `ekkOS_Track` | Track when a memory/pattern is applied |
90
+ | `ekkOS_Outcome` | Record success/failure of applied patterns |
91
+ | `ekkOS_Detect` | Auto-detect which patterns were used in a response |
92
+ | `ekkOS_Reflect` | Analyze a response for improvement opportunities |
93
+
94
+ ### Utility (3)
95
+ | Tool | Description |
96
+ |------|-------------|
97
+ | `ekkOS_Stats` | Get statistics for all memory layers |
98
+ | `ekkOS_Summary` | Get human-readable summary of recent ekkOS activity |
99
+ | `ekkOS_Conflict` | Check if proposed action conflicts with directives |
100
+
101
+ ### Plan Management (8)
102
+ | Tool | Description |
103
+ |------|-------------|
104
+ | `ekkOS_Plan` | Create a new structured plan (steps for a task) |
105
+ | `ekkOS_Plans` | List agent plans for the current user |
106
+ | `ekkOS_PlanStatus` | Update plan status (draft/in_progress/completed/archived) |
107
+ | `ekkOS_PlanStep` | Mark a plan step as complete or incomplete |
108
+ | `ekkOS_Generate` | Generate a plan using LLM based on context |
109
+ | `ekkOS_SaveTemplate` | Save a plan as a reusable template |
110
+ | `ekkOS_Templates` | List available plan templates |
111
+ | `ekkOS_FromTemplate` | Create a new plan from a template |
112
+
113
+ ### Secrets Management (5)
114
+ | Tool | Description |
115
+ |------|-------------|
116
+ | `ekkOS_StoreSecret` | Securely store sensitive data (API keys, passwords, tokens) |
117
+ | `ekkOS_GetSecret` | Retrieve and decrypt a stored secret |
118
+ | `ekkOS_ListSecrets` | List all stored secrets (metadata only, no values) |
119
+ | `ekkOS_DeleteSecret` | Permanently delete a stored secret |
120
+ | `ekkOS_RotateSecret` | Update a secret with a new value |
121
+
122
+ ### Schema Awareness (2)
123
+ | Tool | Description |
124
+ |------|-------------|
125
+ | `ekkOS_IndexSchema` | Index database/type schemas for field name awareness |
126
+ | `ekkOS_GetSchema` | Get indexed schema for a specific table/type |
127
+
128
+ ### Portability (4)
129
+ | Tool | Description |
130
+ |------|-------------|
131
+ | `ekkOS_Export` | Export all memory data as portable JSON backup |
132
+ | `ekkOS_Import` | Import memory data from backup (auto-deduplication) |
133
+ | `ekkOS_Snapshot` | Create point-in-time memory snapshot |
134
+ | `ekkOS_Sync` | Synchronize local memory with cloud |
135
+
136
+ ### Project Setup (2)
137
+ | Tool | Description |
138
+ |------|-------------|
139
+ | `ekkOS_ProjectInit` | Initialize ekkOS for a new project |
140
+ | `ekkOS_Ingest` | Bulk ingest data into memory layers |
260
141
 
261
142
  ## Troubleshooting
262
143
 
263
- ### MCP Server Not Appearing
264
-
265
- - Make sure Node.js 18+ is installed
266
- - Check your API key is correct in the config file
267
- - Restart your IDE after adding the config
268
- - Check IDE logs for connection errors
269
-
270
- ### No Patterns Found
271
-
272
- - You need to forge some patterns first (solve problems and save them)
273
- - Check your API key has access to your memory
274
- - Make sure `EKKOS_USER_ID` is set for user-scoped patterns
144
+ ### "EKKOS_API_KEY environment variable is required"
145
+ You need to set your API key in the MCP config. Get one at [platform.ekkos.dev](https://platform.ekkos.dev/dashboard/settings/api-keys).
275
146
 
276
- ### Authentication Errors
147
+ ### MCP server not loading
148
+ 1. Check Node.js version: `node --version` (must be 18+)
149
+ 2. Verify config JSON is valid
150
+ 3. Try running manually: `EKKOS_API_KEY=xxx npx @ekkos/mcp-server`
151
+ 4. Enable debug mode: `EKKOS_DEBUG=true` in env
277
152
 
278
- - Verify your API key at https://platform.ekkos.dev
279
- - Check the key hasn't expired
280
- - Make sure the key has correct permissions
153
+ ### Connection errors
154
+ 1. Check your internet connection
155
+ 2. Verify API key is correct and active
156
+ 3. Check https://ekkos.dev/status for service status
281
157
 
282
- ## What Gets Stored
158
+ ## Support
283
159
 
284
- Your memory includes:
285
-
286
- - **Patterns** - Solutions that worked, with success rates
287
- - **Conversations** - Past discussions, searchable semantically
288
- - **Directives** - Rules your AI follows (MUST/NEVER/PREFER/AVOID)
289
- - **Codebase** - Semantic search across your project files
290
- - **Episodic** - Problem-solving sessions and workflows
291
- - **Procedural** - Step-by-step processes that worked
292
- - **Collective** - Knowledge shared across AI agents
293
- - **Code** - Code embeddings for finding similar code
294
-
295
- All of this is searchable instantly when your AI needs it.
296
-
297
- ## Example Workflow
298
-
299
- ```
300
- 1. You: "Fix the login bug"
301
-
302
- 2. AI: [Calls search_memory("login bug fix")]
303
- "Found 2 patterns from past work. Applying the
304
- highest-success solution..."
305
-
306
- 3. AI: [Fixes bug using pattern]
307
- "Fixed! This solution has worked 8 times before."
308
-
309
- 4. AI: [Calls forge_pattern automatically]
310
- "Saved this fix as a pattern for next time."
311
-
312
- 5. Next time: AI remembers instantly and applies the fix
313
- ```
314
-
315
- ## Related
316
-
317
- - **Platform Dashboard**: https://platform.ekkos.dev
318
- - **Documentation**: https://docs.ekkos.dev
319
- - **GitHub**: https://github.com/ekkos-ai/ekkos
160
+ - [Documentation](https://docs.ekkos.dev)
161
+ - [Discord Community](https://discord.gg/w2JGepq9qZ)
162
+ - [Report Issues](https://github.com/ekkos-ai/ekkos/issues)
163
+ - [Email Support](mailto:support@ekkos.dev)
320
164
 
321
165
  ## License
322
166
 
323
- MIT
324
-
325
- ---
326
-
327
- **ekkOS™** - The memory substrate for AI agents. Making AI smarter, one pattern at a time. 🧠♾️
167
+ MIT License - see [LICENSE](LICENSE) for details
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @ekkos/mcp-server
4
+ *
5
+ * Simple stdio proxy to ekkOS cloud MCP gateway.
6
+ * This creates a local MCP server that forwards all requests to https://mcp.ekkos.dev
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
package/dist/index.js ADDED
@@ -0,0 +1,138 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @ekkos/mcp-server
4
+ *
5
+ * Simple stdio proxy to ekkOS cloud MCP gateway.
6
+ * This creates a local MCP server that forwards all requests to https://mcp.ekkos.dev
7
+ */
8
+ // Sentry must be imported and initialized before other imports
9
+ import * as Sentry from '@sentry/node';
10
+ // Only initialize Sentry if DSN is provided via env var
11
+ if (process.env.SENTRY_DSN) {
12
+ Sentry.init({
13
+ dsn: process.env.SENTRY_DSN,
14
+ environment: process.env.NODE_ENV || 'production',
15
+ tracesSampleRate: 1.0,
16
+ sendDefaultPii: true,
17
+ });
18
+ }
19
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
20
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
21
+ import { ListToolsRequestSchema, CallToolRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema } from '@modelcontextprotocol/sdk/types.js';
22
+ // Configuration
23
+ const EKKOS_API_KEY = process.env.EKKOS_API_KEY || '';
24
+ const EKKOS_USER_ID = process.env.EKKOS_USER_ID || '';
25
+ const EKKOS_MCP_URL = process.env.EKKOS_MCP_URL || 'https://mcp.ekkos.dev/api/v1/mcp';
26
+ const DEBUG = process.env.EKKOS_DEBUG === 'true';
27
+ if (!EKKOS_API_KEY) {
28
+ console.error('[ekkOS] ERROR: EKKOS_API_KEY environment variable is required');
29
+ console.error('[ekkOS] Get your API key at https://platform.ekkos.dev/dashboard/settings/api-keys');
30
+ process.exit(1);
31
+ }
32
+ // Simple HTTP client for MCP gateway
33
+ async function callGateway(endpoint, method, params) {
34
+ const url = `${EKKOS_MCP_URL}/${endpoint}`;
35
+ const headers = {
36
+ 'Content-Type': 'application/json',
37
+ 'Authorization': `Bearer ${EKKOS_API_KEY}`,
38
+ };
39
+ if (EKKOS_USER_ID) {
40
+ headers['X-User-ID'] = EKKOS_USER_ID;
41
+ }
42
+ if (DEBUG) {
43
+ console.error(`[ekkOS] → ${method} ${endpoint}`);
44
+ }
45
+ const response = await fetch(url, {
46
+ method: 'POST',
47
+ headers,
48
+ body: JSON.stringify({ method, params: params || {} }),
49
+ });
50
+ if (!response.ok) {
51
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
52
+ }
53
+ const data = await response.json();
54
+ if (DEBUG) {
55
+ console.error(`[ekkOS] ← ${method} OK`);
56
+ }
57
+ return data;
58
+ }
59
+ // Create MCP server
60
+ const server = new Server({
61
+ name: 'ekkos-memory',
62
+ version: '1.0.0',
63
+ }, {
64
+ capabilities: {
65
+ tools: {},
66
+ resources: {},
67
+ prompts: {},
68
+ },
69
+ });
70
+ // List tools - proxy to gateway
71
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
72
+ const result = await callGateway('tools/list', 'tools/list');
73
+ return result;
74
+ });
75
+ // Call tool - proxy to gateway
76
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
77
+ const result = await callGateway('tools/call', 'tools/call', {
78
+ name: request.params.name,
79
+ arguments: request.params.arguments,
80
+ });
81
+ return result;
82
+ });
83
+ // List resources - proxy to gateway
84
+ server.setRequestHandler(ListResourcesRequestSchema, async () => {
85
+ const result = await callGateway('resources/list', 'resources/list');
86
+ return result;
87
+ });
88
+ // Read resource - proxy to gateway
89
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
90
+ const result = await callGateway('resources/read', 'resources/read', {
91
+ uri: request.params.uri,
92
+ });
93
+ return result;
94
+ });
95
+ // List prompts - proxy to gateway
96
+ server.setRequestHandler(ListPromptsRequestSchema, async () => {
97
+ const result = await callGateway('prompts/list', 'prompts/list');
98
+ return result;
99
+ });
100
+ // Get prompt - proxy to gateway
101
+ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
102
+ const result = await callGateway('prompts/get', 'prompts/get', {
103
+ name: request.params.name,
104
+ arguments: request.params.arguments,
105
+ });
106
+ return result;
107
+ });
108
+ // Error handling
109
+ server.onerror = (error) => {
110
+ console.error('[ekkOS] Server error:', error);
111
+ Sentry.captureException(error);
112
+ };
113
+ process.on('SIGINT', async () => {
114
+ if (DEBUG) {
115
+ console.error('[ekkOS] Shutting down...');
116
+ }
117
+ await server.close();
118
+ process.exit(0);
119
+ });
120
+ // Start server
121
+ async function main() {
122
+ if (DEBUG) {
123
+ console.error('[ekkOS] Starting MCP proxy to ekkOS Memory...');
124
+ console.error(`[ekkOS] Gateway: ${EKKOS_MCP_URL}`);
125
+ console.error(`[ekkOS] User ID: ${EKKOS_USER_ID || '(not set)'}`);
126
+ }
127
+ const transport = new StdioServerTransport();
128
+ await server.connect(transport);
129
+ if (DEBUG) {
130
+ console.error('[ekkOS] ✓ Ready! Your AI can now access ekkOS memory.');
131
+ }
132
+ }
133
+ main().catch((error) => {
134
+ console.error('[ekkOS] Fatal error:', error);
135
+ Sentry.captureException(error);
136
+ process.exit(1);
137
+ });
138
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,22 +1,42 @@
1
1
  {
2
2
  "name": "@ekkos/mcp-server",
3
- "version": "1.2.3",
4
- "description": "ekkOS Memory MCP Server - Universal AI memory across Cursor, Windsurf, VS Code, Claude Code via stdio transport",
3
+ "version": "2.0.1",
4
+ "description": "ekkOS Memory MCP Server - stdio bridge to cloud memory substrate",
5
5
  "type": "module",
6
+ "main": "dist/index.js",
6
7
  "bin": {
7
- "ekkos-mcp": "./build/index.js"
8
+ "ekkos-mcp-server": "dist/index.js"
8
9
  },
9
10
  "scripts": {
10
- "build": "tsc && chmod +x build/index.js",
11
- "watch": "tsc --watch",
12
- "prepare": "npm run build"
11
+ "build": "tsc",
12
+ "dev": "tsc --watch",
13
+ "prepublishOnly": "npm run build"
14
+ },
15
+ "keywords": [
16
+ "ekkos",
17
+ "mcp",
18
+ "memory",
19
+ "ai",
20
+ "claude",
21
+ "anthropic",
22
+ "model-context-protocol"
23
+ ],
24
+ "author": "ekkOS",
25
+ "license": "MIT",
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "https://github.com/ekkos-ai/ekkos.git",
29
+ "directory": "packages/ekkos-mcp-server"
13
30
  },
14
31
  "dependencies": {
15
- "@modelcontextprotocol/sdk": "^0.5.0",
16
- "node-fetch": "^3.3.2"
32
+ "@modelcontextprotocol/sdk": "^1.0.4",
33
+ "@sentry/node": "^10.31.0"
17
34
  },
18
35
  "devDependencies": {
19
- "@types/node": "^20.11.0",
36
+ "@types/node": "^20.11.5",
20
37
  "typescript": "^5.3.3"
38
+ },
39
+ "engines": {
40
+ "node": ">=18.0.0"
21
41
  }
22
42
  }