@prmichaelsen/remember-mcp 0.1.0

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.
Files changed (95) hide show
  1. package/.env.example +65 -0
  2. package/AGENT.md +840 -0
  3. package/README.md +72 -0
  4. package/agent/design/.gitkeep +0 -0
  5. package/agent/design/access-control-result-pattern.md +458 -0
  6. package/agent/design/action-audit-memory-types.md +637 -0
  7. package/agent/design/common-template-fields.md +282 -0
  8. package/agent/design/complete-tool-set.md +407 -0
  9. package/agent/design/content-types-expansion.md +521 -0
  10. package/agent/design/cross-database-id-strategy.md +358 -0
  11. package/agent/design/default-template-library.md +423 -0
  12. package/agent/design/firestore-wrapper-analysis.md +606 -0
  13. package/agent/design/llm-provider-abstraction.md +691 -0
  14. package/agent/design/location-handling-architecture.md +523 -0
  15. package/agent/design/memory-templates-design.md +364 -0
  16. package/agent/design/permissions-storage-architecture.md +680 -0
  17. package/agent/design/relationship-storage-strategy.md +361 -0
  18. package/agent/design/remember-mcp-implementation-tasks.md +417 -0
  19. package/agent/design/remember-mcp-progress.yaml +141 -0
  20. package/agent/design/requirements-enhancements.md +468 -0
  21. package/agent/design/requirements.md +56 -0
  22. package/agent/design/template-storage-strategy.md +412 -0
  23. package/agent/design/template-suggestion-system.md +853 -0
  24. package/agent/design/trust-escalation-prevention.md +343 -0
  25. package/agent/design/trust-system-implementation.md +592 -0
  26. package/agent/design/user-preferences.md +683 -0
  27. package/agent/design/weaviate-collection-strategy.md +461 -0
  28. package/agent/milestones/.gitkeep +0 -0
  29. package/agent/milestones/milestone-1-project-foundation.md +121 -0
  30. package/agent/milestones/milestone-2-core-memory-system.md +150 -0
  31. package/agent/milestones/milestone-3-relationships-graph.md +116 -0
  32. package/agent/milestones/milestone-4-user-preferences.md +103 -0
  33. package/agent/milestones/milestone-5-template-system.md +126 -0
  34. package/agent/milestones/milestone-6-auth-multi-tenancy.md +124 -0
  35. package/agent/milestones/milestone-7-trust-permissions.md +133 -0
  36. package/agent/milestones/milestone-8-testing-quality.md +137 -0
  37. package/agent/milestones/milestone-9-deployment-documentation.md +147 -0
  38. package/agent/patterns/.gitkeep +0 -0
  39. package/agent/patterns/bootstrap.md +1271 -0
  40. package/agent/patterns/firebase-admin-sdk-v8-usage.md +950 -0
  41. package/agent/patterns/firestore-users-pattern-best-practices.md +347 -0
  42. package/agent/patterns/library-services.md +454 -0
  43. package/agent/patterns/testing-colocated.md +316 -0
  44. package/agent/progress.yaml +395 -0
  45. package/agent/tasks/.gitkeep +0 -0
  46. package/agent/tasks/task-1-initialize-project-structure.md +266 -0
  47. package/agent/tasks/task-2-install-dependencies.md +199 -0
  48. package/agent/tasks/task-3-setup-weaviate-client.md +330 -0
  49. package/agent/tasks/task-4-setup-firestore-client.md +362 -0
  50. package/agent/tasks/task-5-create-basic-mcp-server.md +114 -0
  51. package/agent/tasks/task-6-create-integration-tests.md +195 -0
  52. package/agent/tasks/task-7-finalize-milestone-1.md +363 -0
  53. package/agent/tasks/task-8-setup-utility-scripts.md +382 -0
  54. package/agent/tasks/task-9-create-server-factory.md +404 -0
  55. package/dist/config.d.ts +26 -0
  56. package/dist/constants/content-types.d.ts +60 -0
  57. package/dist/firestore/init.d.ts +14 -0
  58. package/dist/firestore/paths.d.ts +53 -0
  59. package/dist/firestore/paths.spec.d.ts +2 -0
  60. package/dist/server-factory.d.ts +40 -0
  61. package/dist/server-factory.js +1741 -0
  62. package/dist/server-factory.spec.d.ts +2 -0
  63. package/dist/server.d.ts +3 -0
  64. package/dist/server.js +1690 -0
  65. package/dist/tools/create-memory.d.ts +94 -0
  66. package/dist/tools/delete-memory.d.ts +47 -0
  67. package/dist/tools/search-memory.d.ts +88 -0
  68. package/dist/types/memory.d.ts +183 -0
  69. package/dist/utils/logger.d.ts +7 -0
  70. package/dist/weaviate/client.d.ts +39 -0
  71. package/dist/weaviate/client.spec.d.ts +2 -0
  72. package/dist/weaviate/schema.d.ts +29 -0
  73. package/esbuild.build.js +60 -0
  74. package/esbuild.watch.js +25 -0
  75. package/jest.config.js +31 -0
  76. package/jest.e2e.config.js +17 -0
  77. package/package.json +68 -0
  78. package/src/.gitkeep +0 -0
  79. package/src/config.ts +56 -0
  80. package/src/constants/content-types.ts +454 -0
  81. package/src/firestore/init.ts +68 -0
  82. package/src/firestore/paths.spec.ts +75 -0
  83. package/src/firestore/paths.ts +124 -0
  84. package/src/server-factory.spec.ts +60 -0
  85. package/src/server-factory.ts +215 -0
  86. package/src/server.ts +243 -0
  87. package/src/tools/create-memory.ts +198 -0
  88. package/src/tools/delete-memory.ts +126 -0
  89. package/src/tools/search-memory.ts +216 -0
  90. package/src/types/memory.ts +276 -0
  91. package/src/utils/logger.ts +42 -0
  92. package/src/weaviate/client.spec.ts +58 -0
  93. package/src/weaviate/client.ts +114 -0
  94. package/src/weaviate/schema.ts +288 -0
  95. package/tsconfig.json +26 -0
@@ -0,0 +1,266 @@
1
+ # Task 1: Initialize Project Structure
2
+
3
+ **Milestone**: M1 - Project Foundation
4
+ **Estimated Time**: 2 hours
5
+ **Dependencies**: None
6
+ **Status**: ✅ COMPLETED (2026-02-11)
7
+
8
+ ---
9
+
10
+ ## Objective
11
+
12
+ Create the basic project structure for remember-mcp with all necessary configuration files and directory organization.
13
+
14
+ ---
15
+
16
+ ## Steps
17
+
18
+ ### 1. Create Project Directory
19
+ ```bash
20
+ mkdir -p remember-mcp
21
+ cd remember-mcp
22
+ ```
23
+
24
+ ### 2. Initialize npm Project
25
+ ```bash
26
+ npm init -y
27
+ ```
28
+
29
+ ### 3. Update package.json
30
+ ```json
31
+ {
32
+ "name": "remember-mcp",
33
+ "version": "0.1.0",
34
+ "description": "Multi-tenant memory system MCP server with vector search and relationships",
35
+ "main": "dist/server.js",
36
+ "type": "module",
37
+ "scripts": {
38
+ "build": "node esbuild.build.js",
39
+ "dev": "tsx watch src/server.ts",
40
+ "start": "node dist/server.js",
41
+ "test": "vitest",
42
+ "test:watch": "vitest --watch",
43
+ "lint": "eslint src/**/*.ts",
44
+ "typecheck": "tsc --noEmit"
45
+ },
46
+ "keywords": ["mcp", "memory", "vector-search", "weaviate", "firebase"],
47
+ "author": "",
48
+ "license": "MIT"
49
+ }
50
+ ```
51
+
52
+ ### 4. Create Directory Structure
53
+ ```bash
54
+ mkdir -p src/{weaviate,firestore,types,tools,services,utils,auth,transport,middleware}
55
+ mkdir -p tests/{unit,integration,security,performance}
56
+ mkdir -p agent/{design,milestones,patterns,tasks}
57
+ ```
58
+
59
+ ### 5. Create Configuration Files
60
+
61
+ **tsconfig.json**:
62
+ ```json
63
+ {
64
+ "compilerOptions": {
65
+ "target": "ES2022",
66
+ "module": "ES2022",
67
+ "lib": ["ES2022"],
68
+ "moduleResolution": "node",
69
+ "esModuleInterop": true,
70
+ "allowSyntheticDefaultImports": true,
71
+ "strict": true,
72
+ "skipLibCheck": true,
73
+ "forceConsistentCasingInFileNames": true,
74
+ "resolveJsonModule": true,
75
+ "outDir": "./dist",
76
+ "rootDir": "./src",
77
+ "declaration": true,
78
+ "declarationMap": true,
79
+ "sourceMap": true,
80
+ "types": ["node"]
81
+ },
82
+ "include": ["src/**/*"],
83
+ "exclude": ["node_modules", "dist", "tests"]
84
+ }
85
+ ```
86
+
87
+ **esbuild.build.js**:
88
+ ```javascript
89
+ import * as esbuild from 'esbuild';
90
+
91
+ await esbuild.build({
92
+ entryPoints: ['src/server.ts'],
93
+ bundle: true,
94
+ platform: 'node',
95
+ target: 'node20',
96
+ format: 'esm',
97
+ outfile: 'dist/server.js',
98
+ sourcemap: true,
99
+ external: [
100
+ 'weaviate-client',
101
+ 'firebase-admin',
102
+ '@modelcontextprotocol/sdk'
103
+ ],
104
+ banner: {
105
+ js: "import { createRequire } from 'module'; const require = createRequire(import.meta.url);"
106
+ }
107
+ });
108
+
109
+ console.log('✓ Build complete');
110
+ ```
111
+
112
+ **.gitignore**:
113
+ ```
114
+ # Dependencies
115
+ node_modules/
116
+ package-lock.json
117
+
118
+ # Build output
119
+ dist/
120
+ *.js.map
121
+
122
+ # Environment
123
+ .env
124
+ .env.local
125
+ serviceAccount.json
126
+ firebase-key.json
127
+
128
+ # IDE
129
+ .vscode/
130
+ .idea/
131
+ *.swp
132
+ *.swo
133
+ *~
134
+
135
+ # OS
136
+ .DS_Store
137
+ Thumbs.db
138
+
139
+ # Logs
140
+ logs/
141
+ *.log
142
+ npm-debug.log*
143
+
144
+ # Testing
145
+ coverage/
146
+ .nyc_output/
147
+
148
+ # Misc
149
+ .cache/
150
+ temp/
151
+ tmp/
152
+ ```
153
+
154
+ **.env.example**:
155
+ ```env
156
+ # Weaviate Configuration
157
+ WEAVIATE_URL=http://localhost:8080
158
+ WEAVIATE_API_KEY=
159
+
160
+ # OpenAI Configuration
161
+ OPENAI_APIKEY=sk-...
162
+
163
+ # Firebase Configuration
164
+ FIREBASE_PROJECT_ID=remember-mcp-dev
165
+ GOOGLE_APPLICATION_CREDENTIALS=./serviceAccount.json
166
+
167
+ # Server Configuration
168
+ PORT=3000
169
+ NODE_ENV=development
170
+ LOG_LEVEL=info
171
+
172
+ # MCP Configuration
173
+ MCP_TRANSPORT=sse
174
+ ```
175
+
176
+ **README.md**:
177
+ ```markdown
178
+ # remember-mcp
179
+
180
+ Multi-tenant memory system MCP server with vector search, relationships, and trust-based access control.
181
+
182
+ ## Features
183
+
184
+ - 24 MCP tools for memory management
185
+ - Multi-tenant with per-user isolation
186
+ - Vector search with Weaviate
187
+ - Relationship graph between memories
188
+ - Template system with auto-suggestion
189
+ - Trust-based cross-user access control
190
+ - User preferences via conversation
191
+
192
+ ## Quick Start
193
+
194
+ \`\`\`bash
195
+ # Install dependencies
196
+ npm install
197
+
198
+ # Set up environment
199
+ cp .env.example .env
200
+ # Edit .env with your configuration
201
+
202
+ # Run in development
203
+ npm run dev
204
+
205
+ # Build for production
206
+ npm run build
207
+ npm start
208
+ \`\`\`
209
+
210
+ ## Architecture
211
+
212
+ - **Weaviate**: Vector storage for memories, relationships, templates
213
+ - **Firestore**: Permissions, preferences, metadata
214
+ - **Firebase Auth**: User authentication
215
+
216
+ ## Documentation
217
+
218
+ See `agent/` directory for:
219
+ - Design documents (`agent/design/`)
220
+ - Milestones (`agent/milestones/`)
221
+ - Implementation tasks (`agent/tasks/`)
222
+
223
+ ## License
224
+
225
+ MIT
226
+ ```
227
+
228
+ ---
229
+
230
+ ## Verification
231
+
232
+ - [x] Project directory created
233
+ - [x] package.json configured correctly
234
+ - [x] Directory structure matches specification
235
+ - [x] tsconfig.json created
236
+ - [x] esbuild.build.js created
237
+ - [x] esbuild.watch.js created
238
+ - [x] .gitignore created
239
+ - [x] .env.example created
240
+ - [x] README.md created
241
+ - [x] All directories exist (src/, agent/, tests/)
242
+ - [x] Module aliases (@/) configured in tsconfig, jest, and esbuild
243
+
244
+ ## Completion Notes
245
+
246
+ **Completed**: 2026-02-11
247
+
248
+ **What Was Done**:
249
+ - ✅ Created complete project structure with src/, agent/, tests/ directories
250
+ - ✅ Configured package.json with all scripts, metadata, and repository info
251
+ - ✅ Set up TypeScript with module aliases (@/ → src/)
252
+ - ✅ Created esbuild.build.js and esbuild.watch.js for bundling
253
+ - ✅ Configured Jest for unit tests (jest.config.js) and e2e tests (jest.e2e.config.js)
254
+ - ✅ Created comprehensive .gitignore
255
+ - ✅ Created .env.example with all required environment variables
256
+ - ✅ Created README.md with project overview
257
+ - ✅ Updated agent/patterns/bootstrap.md with detailed configuration documentation
258
+
259
+ **What's Next**:
260
+ - Task 2: Install dependencies (npm install)
261
+
262
+ ---
263
+
264
+ ## Next Task
265
+
266
+ Task 2: Install Dependencies
@@ -0,0 +1,199 @@
1
+ # Task 2: Install Dependencies
2
+
3
+ **Milestone**: M1 - Project Foundation
4
+ **Estimated Time**: 1 hour
5
+ **Dependencies**: Task 1 ✅
6
+ **Status**: ✅ COMPLETED (2026-02-11)
7
+
8
+ ---
9
+
10
+ ## Objective
11
+
12
+ Install all required npm dependencies for the remember-mcp project.
13
+
14
+ ---
15
+
16
+ ## Steps
17
+
18
+ ### 1. Install Core Dependencies
19
+
20
+ ```bash
21
+ npm install @modelcontextprotocol/sdk
22
+ npm install weaviate-client
23
+ npm install firebase-admin
24
+ npm install firebase-auth-cloudflare-workers
25
+ npm install dotenv
26
+ ```
27
+
28
+ ### 2. Install Build Tools
29
+
30
+ ```bash
31
+ npm install --save-dev typescript
32
+ npm install --save-dev tsx
33
+ npm install --save-dev esbuild
34
+ npm install --save-dev @types/node
35
+ ```
36
+
37
+ ### 3. Install Testing Tools
38
+
39
+ ```bash
40
+ npm install --save-dev vitest
41
+ npm install --save-dev @vitest/ui
42
+ npm install --save-dev @types/jest
43
+ ```
44
+
45
+ ### 4. Install Linting Tools
46
+
47
+ ```bash
48
+ npm install --save-dev eslint
49
+ npm install --save-dev @typescript-eslint/parser
50
+ npm install --save-dev @typescript-eslint/eslint-plugin
51
+ npm install --save-dev prettier
52
+ ```
53
+
54
+ ### 5. Create ESLint Configuration
55
+
56
+ **.eslintrc.json**:
57
+ ```json
58
+ {
59
+ "parser": "@typescript-eslint/parser",
60
+ "parserOptions": {
61
+ "ecmaVersion": 2022,
62
+ "sourceType": "module",
63
+ "project": "./tsconfig.json"
64
+ },
65
+ "plugins": ["@typescript-eslint"],
66
+ "extends": [
67
+ "eslint:recommended",
68
+ "plugin:@typescript-eslint/recommended"
69
+ ],
70
+ "rules": {
71
+ "@typescript-eslint/no-explicit-any": "warn",
72
+ "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
73
+ "no-console": "off"
74
+ },
75
+ "env": {
76
+ "node": true,
77
+ "es2022": true
78
+ }
79
+ }
80
+ ```
81
+
82
+ ### 6. Create Prettier Configuration
83
+
84
+ **.prettierrc**:
85
+ ```json
86
+ {
87
+ "semi": true,
88
+ "trailingComma": "es5",
89
+ "singleQuote": true,
90
+ "printWidth": 100,
91
+ "tabWidth": 2,
92
+ "useTabs": false
93
+ }
94
+ ```
95
+
96
+ ### 7. Verify Installation
97
+
98
+ ```bash
99
+ # Check TypeScript
100
+ npx tsc --version
101
+
102
+ # Check ESLint
103
+ npx eslint --version
104
+
105
+ # Check Vitest
106
+ npx vitest --version
107
+ ```
108
+
109
+ ---
110
+
111
+ ## Expected package.json Dependencies
112
+
113
+ ```json
114
+ {
115
+ "dependencies": {
116
+ "@modelcontextprotocol/sdk": "^latest",
117
+ "dotenv": "^16.4.5",
118
+ "firebase-admin": "^12.0.0",
119
+ "firebase-auth-cloudflare-workers": "^latest",
120
+ "weaviate-client": "^latest"
121
+ },
122
+ "devDependencies": {
123
+ "@types/jest": "^29.5.12",
124
+ "@types/node": "^20.11.19",
125
+ "@typescript-eslint/eslint-plugin": "^7.0.0",
126
+ "@typescript-eslint/parser": "^7.0.0",
127
+ "@vitest/ui": "^1.3.0",
128
+ "esbuild": "^0.20.0",
129
+ "eslint": "^8.56.0",
130
+ "prettier": "^3.2.5",
131
+ "tsx": "^4.7.1",
132
+ "typescript": "^5.3.3",
133
+ "vitest": "^1.3.0"
134
+ }
135
+ }
136
+ ```
137
+
138
+ ---
139
+
140
+ ## Completion Status
141
+
142
+ **✅ COMPLETED**: All dependencies successfully installed.
143
+
144
+ ## Verification Results
145
+
146
+ - [x] All core dependencies installed (600 packages)
147
+ - [x] All dev dependencies installed
148
+ - [x] TypeScript v5.9.3 installed and working
149
+ - [x] ESLint v8.57.1 installed and working
150
+ - [x] Jest v29.7.0 installed and working
151
+ - [x] esbuild v0.20.2 installed and working
152
+ - [x] node_modules/ directory created
153
+ - [x] package-lock.json created
154
+
155
+ ## Installation Summary
156
+
157
+ **Completed**: 2026-02-11
158
+
159
+ **What Was Installed**:
160
+ - ✅ @modelcontextprotocol/sdk v1.0.4 - MCP protocol support
161
+ - ✅ weaviate-client v3.2.0 - Vector database client
162
+ - ✅ firebase-admin v12.0.0 - Firestore access
163
+ - ✅ dotenv v16.4.5 - Environment variables
164
+ - ✅ TypeScript v5.9.3 - Type checking
165
+ - ✅ esbuild v0.20.2 - Build system
166
+ - ✅ Jest v29.7.0 - Testing framework
167
+ - ✅ ESLint v8.57.1 - Linting
168
+ - ✅ tsx v4.7.1 - TypeScript execution
169
+ - ✅ Total: 600 packages installed
170
+
171
+ **Notes**:
172
+ - 1 moderate severity vulnerability detected (can be addressed later)
173
+ - Some deprecated packages (eslint 8.x, glob 7.x) - non-blocking
174
+
175
+ **What's Next**:
176
+ - Task 3: Set up Weaviate client wrapper
177
+ - Task 4: Set up Firestore client wrapper
178
+
179
+ ---
180
+
181
+ ## Troubleshooting
182
+
183
+ ### If weaviate-client fails to install:
184
+ ```bash
185
+ npm install weaviate-ts-client
186
+ # or
187
+ npm install weaviate-client@latest --legacy-peer-deps
188
+ ```
189
+
190
+ ### If Firebase Admin fails:
191
+ ```bash
192
+ npm install firebase-admin@latest
193
+ ```
194
+
195
+ ---
196
+
197
+ ## Next Task
198
+
199
+ Task 3: Set Up Weaviate Client