memento-mcp-server 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 (555) hide show
  1. package/.cursor/rules/cache-management.mdc +171 -0
  2. package/.cursor/rules/database-schema.mdc +344 -0
  3. package/.cursor/rules/deployment.mdc +596 -0
  4. package/.cursor/rules/error-logging.mdc +298 -0
  5. package/.cursor/rules/forgetting-algorithms.mdc +426 -0
  6. package/.cursor/rules/http-server.mdc +432 -0
  7. package/.cursor/rules/hybrid-search.mdc +424 -0
  8. package/.cursor/rules/implementation.mdc +369 -0
  9. package/.cursor/rules/lightweight-embedding.mdc +178 -0
  10. package/.cursor/rules/mcp-client-development.mdc +0 -0
  11. package/.cursor/rules/mcp-server-development.mdc +0 -0
  12. package/.cursor/rules/mcp-tools-architecture.mdc +205 -0
  13. package/.cursor/rules/memento-memory-rule.mdc +8 -0
  14. package/.cursor/rules/memento-project-overview.mdc +0 -0
  15. package/.cursor/rules/memory-algorithms.mdc +502 -0
  16. package/.cursor/rules/monitoring.mdc +622 -0
  17. package/.cursor/rules/performance-alerts.mdc +537 -0
  18. package/.cursor/rules/performance-monitoring.mdc +345 -0
  19. package/.cursor/rules/performance-optimization.mdc +563 -0
  20. package/.cursor/rules/project-structure.mdc +310 -0
  21. package/.cursor/rules/testing.mdc +473 -0
  22. package/.dockerignore +15 -0
  23. package/.eslintrc.json +34 -0
  24. package/.github/ISSUE_TEMPLATE/bug_report.md +51 -0
  25. package/.github/ISSUE_TEMPLATE/feature_request.md +45 -0
  26. package/.github/ISSUE_TEMPLATE/question.md +31 -0
  27. package/.github/PULL_REQUEST_TEMPLATE.md +97 -0
  28. package/AGENTS.md +28 -0
  29. package/CHANGELOG.md +416 -0
  30. package/CODE_OF_CONDUCT.md +62 -0
  31. package/CONTRIBUTING.md +165 -0
  32. package/DOCKER_SETUP_GUIDE.md +84 -0
  33. package/Dockerfile +90 -0
  34. package/INSTALL.en.md +303 -0
  35. package/INSTALL.md +303 -0
  36. package/README.en.md +330 -0
  37. package/README.md +427 -0
  38. package/backup/legacy-removal-20250930-201816/http-server-legacy.ts +1068 -0
  39. package/backup/legacy-removal-20250930-201816/rollback-to-legacy.ps1 +46 -0
  40. package/backup/legacy-removal-20250930-201816/rollback-to-legacy.sh +48 -0
  41. package/dist/algorithms/forgetting-algorithm.d.ts +90 -0
  42. package/dist/algorithms/forgetting-algorithm.d.ts.map +1 -0
  43. package/dist/algorithms/forgetting-algorithm.js +160 -0
  44. package/dist/algorithms/forgetting-algorithm.js.map +1 -0
  45. package/dist/algorithms/hybrid-search-engine.d.ts +108 -0
  46. package/dist/algorithms/hybrid-search-engine.d.ts.map +1 -0
  47. package/dist/algorithms/hybrid-search-engine.js +384 -0
  48. package/dist/algorithms/hybrid-search-engine.js.map +1 -0
  49. package/dist/algorithms/search-engine.d.ts +64 -0
  50. package/dist/algorithms/search-engine.d.ts.map +1 -0
  51. package/dist/algorithms/search-engine.js +304 -0
  52. package/dist/algorithms/search-engine.js.map +1 -0
  53. package/dist/algorithms/search-ranking.d.ts +145 -0
  54. package/dist/algorithms/search-ranking.d.ts.map +1 -0
  55. package/dist/algorithms/search-ranking.js +311 -0
  56. package/dist/algorithms/search-ranking.js.map +1 -0
  57. package/dist/algorithms/spaced-repetition.d.ts +83 -0
  58. package/dist/algorithms/spaced-repetition.d.ts.map +1 -0
  59. package/dist/algorithms/spaced-repetition.js +153 -0
  60. package/dist/algorithms/spaced-repetition.js.map +1 -0
  61. package/dist/algorithms/vector-search-engine.d.ts +96 -0
  62. package/dist/algorithms/vector-search-engine.d.ts.map +1 -0
  63. package/dist/algorithms/vector-search-engine.js +410 -0
  64. package/dist/algorithms/vector-search-engine.js.map +1 -0
  65. package/dist/client/index.d.ts +55 -0
  66. package/dist/client/index.d.ts.map +1 -0
  67. package/dist/client/index.js +179 -0
  68. package/dist/client/index.js.map +1 -0
  69. package/dist/config/index.d.ts +20 -0
  70. package/dist/config/index.d.ts.map +1 -0
  71. package/dist/config/index.js +87 -0
  72. package/dist/config/index.js.map +1 -0
  73. package/dist/database/init.d.ts +7 -0
  74. package/dist/database/init.d.ts.map +1 -0
  75. package/dist/database/init.js +117 -0
  76. package/dist/database/init.js.map +1 -0
  77. package/dist/database/migrate.d.ts +6 -0
  78. package/dist/database/migrate.d.ts.map +1 -0
  79. package/dist/database/migrate.js +84 -0
  80. package/dist/database/migrate.js.map +1 -0
  81. package/dist/database/schema.sql +159 -0
  82. package/dist/npm-client/context-injector.d.ts +106 -0
  83. package/dist/npm-client/context-injector.d.ts.map +1 -0
  84. package/dist/npm-client/context-injector.js +296 -0
  85. package/dist/npm-client/context-injector.js.map +1 -0
  86. package/dist/npm-client/index.d.ts +42 -0
  87. package/dist/npm-client/index.d.ts.map +1 -0
  88. package/dist/npm-client/index.js +43 -0
  89. package/dist/npm-client/index.js.map +1 -0
  90. package/dist/npm-client/memento-client.d.ts +114 -0
  91. package/dist/npm-client/memento-client.d.ts.map +1 -0
  92. package/dist/npm-client/memento-client.js +391 -0
  93. package/dist/npm-client/memento-client.js.map +1 -0
  94. package/dist/npm-client/memory-manager.d.ts +137 -0
  95. package/dist/npm-client/memory-manager.d.ts.map +1 -0
  96. package/dist/npm-client/memory-manager.js +341 -0
  97. package/dist/npm-client/memory-manager.js.map +1 -0
  98. package/dist/npm-client/types.d.ts +216 -0
  99. package/dist/npm-client/types.d.ts.map +1 -0
  100. package/dist/npm-client/types.js +44 -0
  101. package/dist/npm-client/types.js.map +1 -0
  102. package/dist/npm-client/utils.d.ts +91 -0
  103. package/dist/npm-client/utils.d.ts.map +1 -0
  104. package/dist/npm-client/utils.js +351 -0
  105. package/dist/npm-client/utils.js.map +1 -0
  106. package/dist/scripts/copy-assets.d.ts +3 -0
  107. package/dist/scripts/copy-assets.d.ts.map +1 -0
  108. package/dist/scripts/copy-assets.js +31 -0
  109. package/dist/scripts/copy-assets.js.map +1 -0
  110. package/dist/server/http-server.d.ts +28 -0
  111. package/dist/server/http-server.d.ts.map +1 -0
  112. package/dist/server/http-server.js +930 -0
  113. package/dist/server/http-server.js.map +1 -0
  114. package/dist/server/index-backup.d.ts +5 -0
  115. package/dist/server/index-backup.d.ts.map +1 -0
  116. package/dist/server/index-backup.js +793 -0
  117. package/dist/server/index-backup.js.map +1 -0
  118. package/dist/server/index-refactored.d.ts +6 -0
  119. package/dist/server/index-refactored.d.ts.map +1 -0
  120. package/dist/server/index-refactored.js +206 -0
  121. package/dist/server/index-refactored.js.map +1 -0
  122. package/dist/server/index.d.ts +12 -0
  123. package/dist/server/index.d.ts.map +1 -0
  124. package/dist/server/index.js +301 -0
  125. package/dist/server/index.js.map +1 -0
  126. package/dist/server/simple-mcp-server.d.ts +8 -0
  127. package/dist/server/simple-mcp-server.d.ts.map +1 -0
  128. package/dist/server/simple-mcp-server.js +152 -0
  129. package/dist/server/simple-mcp-server.js.map +1 -0
  130. package/dist/services/async-optimizer.d.ts +136 -0
  131. package/dist/services/async-optimizer.d.ts.map +1 -0
  132. package/dist/services/async-optimizer.js +406 -0
  133. package/dist/services/async-optimizer.js.map +1 -0
  134. package/dist/services/batch-scheduler.d.ts +156 -0
  135. package/dist/services/batch-scheduler.d.ts.map +1 -0
  136. package/dist/services/batch-scheduler.js +612 -0
  137. package/dist/services/batch-scheduler.js.map +1 -0
  138. package/dist/services/cache-service.d.ts +168 -0
  139. package/dist/services/cache-service.d.ts.map +1 -0
  140. package/dist/services/cache-service.js +360 -0
  141. package/dist/services/cache-service.js.map +1 -0
  142. package/dist/services/database-optimizer.d.ts +110 -0
  143. package/dist/services/database-optimizer.d.ts.map +1 -0
  144. package/dist/services/database-optimizer.js +369 -0
  145. package/dist/services/database-optimizer.js.map +1 -0
  146. package/dist/services/embedding-provider-factory.d.ts +62 -0
  147. package/dist/services/embedding-provider-factory.d.ts.map +1 -0
  148. package/dist/services/embedding-provider-factory.js +152 -0
  149. package/dist/services/embedding-provider-factory.js.map +1 -0
  150. package/dist/services/embedding-service.d.ts +95 -0
  151. package/dist/services/embedding-service.d.ts.map +1 -0
  152. package/dist/services/embedding-service.js +276 -0
  153. package/dist/services/embedding-service.js.map +1 -0
  154. package/dist/services/error-logging-service.d.ts +134 -0
  155. package/dist/services/error-logging-service.d.ts.map +1 -0
  156. package/dist/services/error-logging-service.js +271 -0
  157. package/dist/services/error-logging-service.js.map +1 -0
  158. package/dist/services/forgetting-policy-service.d.ts +94 -0
  159. package/dist/services/forgetting-policy-service.d.ts.map +1 -0
  160. package/dist/services/forgetting-policy-service.js +233 -0
  161. package/dist/services/forgetting-policy-service.js.map +1 -0
  162. package/dist/services/gemini-embedding-service.d.ts +82 -0
  163. package/dist/services/gemini-embedding-service.d.ts.map +1 -0
  164. package/dist/services/gemini-embedding-service.js +232 -0
  165. package/dist/services/gemini-embedding-service.js.map +1 -0
  166. package/dist/services/lightweight-embedding-service.d.ts +95 -0
  167. package/dist/services/lightweight-embedding-service.d.ts.map +1 -0
  168. package/dist/services/lightweight-embedding-service.js +263 -0
  169. package/dist/services/lightweight-embedding-service.js.map +1 -0
  170. package/dist/services/memory-embedding-service.d.ts +69 -0
  171. package/dist/services/memory-embedding-service.d.ts.map +1 -0
  172. package/dist/services/memory-embedding-service.js +223 -0
  173. package/dist/services/memory-embedding-service.js.map +1 -0
  174. package/dist/services/minilm-embedding-service.d.ts +92 -0
  175. package/dist/services/minilm-embedding-service.d.ts.map +1 -0
  176. package/dist/services/minilm-embedding-service.js +216 -0
  177. package/dist/services/minilm-embedding-service.js.map +1 -0
  178. package/dist/services/performance-alert-service.d.ts +142 -0
  179. package/dist/services/performance-alert-service.d.ts.map +1 -0
  180. package/dist/services/performance-alert-service.js +366 -0
  181. package/dist/services/performance-alert-service.js.map +1 -0
  182. package/dist/services/performance-monitor.d.ts +144 -0
  183. package/dist/services/performance-monitor.d.ts.map +1 -0
  184. package/dist/services/performance-monitor.js +416 -0
  185. package/dist/services/performance-monitor.js.map +1 -0
  186. package/dist/services/performance-monitoring-integration.d.ts +77 -0
  187. package/dist/services/performance-monitoring-integration.d.ts.map +1 -0
  188. package/dist/services/performance-monitoring-integration.js +177 -0
  189. package/dist/services/performance-monitoring-integration.js.map +1 -0
  190. package/dist/services/unified-embedding-service.d.ts +75 -0
  191. package/dist/services/unified-embedding-service.d.ts.map +1 -0
  192. package/dist/services/unified-embedding-service.js +211 -0
  193. package/dist/services/unified-embedding-service.js.map +1 -0
  194. package/dist/test/debug-http-v2.d.ts +5 -0
  195. package/dist/test/debug-http-v2.d.ts.map +1 -0
  196. package/dist/test/debug-http-v2.js +28 -0
  197. package/dist/test/debug-http-v2.js.map +1 -0
  198. package/dist/test/performance-benchmark.d.ts +57 -0
  199. package/dist/test/performance-benchmark.d.ts.map +1 -0
  200. package/dist/test/performance-benchmark.js +427 -0
  201. package/dist/test/performance-benchmark.js.map +1 -0
  202. package/dist/test/test-alerts-direct.d.ts +7 -0
  203. package/dist/test/test-alerts-direct.d.ts.map +1 -0
  204. package/dist/test/test-alerts-direct.js +101 -0
  205. package/dist/test/test-alerts-direct.js.map +1 -0
  206. package/dist/test/test-batch-scheduler.d.ts +2 -0
  207. package/dist/test/test-batch-scheduler.d.ts.map +1 -0
  208. package/dist/test/test-batch-scheduler.js +156 -0
  209. package/dist/test/test-batch-scheduler.js.map +1 -0
  210. package/dist/test/test-client.d.ts +5 -0
  211. package/dist/test/test-client.d.ts.map +1 -0
  212. package/dist/test/test-client.js +86 -0
  213. package/dist/test/test-client.js.map +1 -0
  214. package/dist/test/test-embedding.d.ts +6 -0
  215. package/dist/test/test-embedding.d.ts.map +1 -0
  216. package/dist/test/test-embedding.js +142 -0
  217. package/dist/test/test-embedding.js.map +1 -0
  218. package/dist/test/test-error-logging.d.ts +7 -0
  219. package/dist/test/test-error-logging.d.ts.map +1 -0
  220. package/dist/test/test-error-logging.js +105 -0
  221. package/dist/test/test-error-logging.js.map +1 -0
  222. package/dist/test/test-forgetting.d.ts +6 -0
  223. package/dist/test/test-forgetting.d.ts.map +1 -0
  224. package/dist/test/test-forgetting.js +154 -0
  225. package/dist/test/test-forgetting.js.map +1 -0
  226. package/dist/test/test-gemini-embedding.d.ts +7 -0
  227. package/dist/test/test-gemini-embedding.d.ts.map +1 -0
  228. package/dist/test/test-gemini-embedding.js +134 -0
  229. package/dist/test/test-gemini-embedding.js.map +1 -0
  230. package/dist/test/test-http-server-v2-simple.d.ts +6 -0
  231. package/dist/test/test-http-server-v2-simple.d.ts.map +1 -0
  232. package/dist/test/test-http-server-v2-simple.js +131 -0
  233. package/dist/test/test-http-server-v2-simple.js.map +1 -0
  234. package/dist/test/test-http-server-v2.d.ts +7 -0
  235. package/dist/test/test-http-server-v2.d.ts.map +1 -0
  236. package/dist/test/test-http-server-v2.js +529 -0
  237. package/dist/test/test-http-server-v2.js.map +1 -0
  238. package/dist/test/test-lightweight-embedding.d.ts +6 -0
  239. package/dist/test/test-lightweight-embedding.d.ts.map +1 -0
  240. package/dist/test/test-lightweight-embedding.js +189 -0
  241. package/dist/test/test-lightweight-embedding.js.map +1 -0
  242. package/dist/test/test-m1-completion.d.ts +7 -0
  243. package/dist/test/test-m1-completion.d.ts.map +1 -0
  244. package/dist/test/test-m1-completion.js +124 -0
  245. package/dist/test/test-m1-completion.js.map +1 -0
  246. package/dist/test/test-memory-injection-prompt.d.ts +2 -0
  247. package/dist/test/test-memory-injection-prompt.d.ts.map +1 -0
  248. package/dist/test/test-memory-injection-prompt.js +299 -0
  249. package/dist/test/test-memory-injection-prompt.js.map +1 -0
  250. package/dist/test/test-performance-alerts.d.ts +7 -0
  251. package/dist/test/test-performance-alerts.d.ts.map +1 -0
  252. package/dist/test/test-performance-alerts.js +109 -0
  253. package/dist/test/test-performance-alerts.js.map +1 -0
  254. package/dist/test/test-performance-monitor.d.ts +2 -0
  255. package/dist/test/test-performance-monitor.d.ts.map +1 -0
  256. package/dist/test/test-performance-monitor.js +182 -0
  257. package/dist/test/test-performance-monitor.js.map +1 -0
  258. package/dist/test/test-performance-monitoring.d.ts +6 -0
  259. package/dist/test/test-performance-monitoring.d.ts.map +1 -0
  260. package/dist/test/test-performance-monitoring.js +156 -0
  261. package/dist/test/test-performance-monitoring.js.map +1 -0
  262. package/dist/test/test-search.d.ts +5 -0
  263. package/dist/test/test-search.d.ts.map +1 -0
  264. package/dist/test/test-search.js +141 -0
  265. package/dist/test/test-search.js.map +1 -0
  266. package/dist/test/test-simple-alerts.d.ts +6 -0
  267. package/dist/test/test-simple-alerts.d.ts.map +1 -0
  268. package/dist/test/test-simple-alerts.js +106 -0
  269. package/dist/test/test-simple-alerts.js.map +1 -0
  270. package/dist/test/test-vector-search-engine.d.ts +2 -0
  271. package/dist/test/test-vector-search-engine.d.ts.map +1 -0
  272. package/dist/test/test-vector-search-engine.js +225 -0
  273. package/dist/test/test-vector-search-engine.js.map +1 -0
  274. package/dist/tools/base-tool.d.ts +64 -0
  275. package/dist/tools/base-tool.d.ts.map +1 -0
  276. package/dist/tools/base-tool.js +158 -0
  277. package/dist/tools/base-tool.js.map +1 -0
  278. package/dist/tools/cleanup-memory-tool.d.ts +10 -0
  279. package/dist/tools/cleanup-memory-tool.d.ts.map +1 -0
  280. package/dist/tools/cleanup-memory-tool.js +66 -0
  281. package/dist/tools/cleanup-memory-tool.js.map +1 -0
  282. package/dist/tools/database-optimize-tool.d.ts +10 -0
  283. package/dist/tools/database-optimize-tool.d.ts.map +1 -0
  284. package/dist/tools/database-optimize-tool.js +64 -0
  285. package/dist/tools/database-optimize-tool.js.map +1 -0
  286. package/dist/tools/error-stats.d.ts +93 -0
  287. package/dist/tools/error-stats.d.ts.map +1 -0
  288. package/dist/tools/error-stats.js +115 -0
  289. package/dist/tools/error-stats.js.map +1 -0
  290. package/dist/tools/forget-tool.d.ts +63 -0
  291. package/dist/tools/forget-tool.d.ts.map +1 -0
  292. package/dist/tools/forget-tool.js +340 -0
  293. package/dist/tools/forget-tool.js.map +1 -0
  294. package/dist/tools/forgetting-stats-tool.d.ts +10 -0
  295. package/dist/tools/forgetting-stats-tool.d.ts.map +1 -0
  296. package/dist/tools/forgetting-stats-tool.js +37 -0
  297. package/dist/tools/forgetting-stats-tool.js.map +1 -0
  298. package/dist/tools/index.d.ts +33 -0
  299. package/dist/tools/index.d.ts.map +1 -0
  300. package/dist/tools/index.js +55 -0
  301. package/dist/tools/index.js.map +1 -0
  302. package/dist/tools/memory-injection-prompt.d.ts +31 -0
  303. package/dist/tools/memory-injection-prompt.d.ts.map +1 -0
  304. package/dist/tools/memory-injection-prompt.js +203 -0
  305. package/dist/tools/memory-injection-prompt.js.map +1 -0
  306. package/dist/tools/performance-alerts.d.ts +127 -0
  307. package/dist/tools/performance-alerts.d.ts.map +1 -0
  308. package/dist/tools/performance-alerts.js +208 -0
  309. package/dist/tools/performance-alerts.js.map +1 -0
  310. package/dist/tools/performance-stats-tool.d.ts +10 -0
  311. package/dist/tools/performance-stats-tool.d.ts.map +1 -0
  312. package/dist/tools/performance-stats-tool.js +38 -0
  313. package/dist/tools/performance-stats-tool.js.map +1 -0
  314. package/dist/tools/pin-tool.d.ts +39 -0
  315. package/dist/tools/pin-tool.d.ts.map +1 -0
  316. package/dist/tools/pin-tool.js +211 -0
  317. package/dist/tools/pin-tool.js.map +1 -0
  318. package/dist/tools/recall-tool.d.ts +27 -0
  319. package/dist/tools/recall-tool.d.ts.map +1 -0
  320. package/dist/tools/recall-tool.js +335 -0
  321. package/dist/tools/recall-tool.js.map +1 -0
  322. package/dist/tools/remember-tool.d.ts +10 -0
  323. package/dist/tools/remember-tool.d.ts.map +1 -0
  324. package/dist/tools/remember-tool.js +101 -0
  325. package/dist/tools/remember-tool.js.map +1 -0
  326. package/dist/tools/resolve-error.d.ts +54 -0
  327. package/dist/tools/resolve-error.d.ts.map +1 -0
  328. package/dist/tools/resolve-error.js +63 -0
  329. package/dist/tools/resolve-error.js.map +1 -0
  330. package/dist/tools/tool-registry.d.ts +134 -0
  331. package/dist/tools/tool-registry.d.ts.map +1 -0
  332. package/dist/tools/tool-registry.js +337 -0
  333. package/dist/tools/tool-registry.js.map +1 -0
  334. package/dist/tools/types.d.ts +56 -0
  335. package/dist/tools/types.d.ts.map +1 -0
  336. package/dist/tools/types.js +23 -0
  337. package/dist/tools/types.js.map +1 -0
  338. package/dist/tools/unpin-tool.d.ts +43 -0
  339. package/dist/tools/unpin-tool.d.ts.map +1 -0
  340. package/dist/tools/unpin-tool.js +233 -0
  341. package/dist/tools/unpin-tool.js.map +1 -0
  342. package/dist/types/embedding.types.d.ts +65 -0
  343. package/dist/types/embedding.types.d.ts.map +1 -0
  344. package/dist/types/embedding.types.js +6 -0
  345. package/dist/types/embedding.types.js.map +1 -0
  346. package/dist/types/index.d.ts +103 -0
  347. package/dist/types/index.d.ts.map +1 -0
  348. package/dist/types/index.js +5 -0
  349. package/dist/types/index.js.map +1 -0
  350. package/dist/utils/database.d.ts +62 -0
  351. package/dist/utils/database.d.ts.map +1 -0
  352. package/dist/utils/database.js +399 -0
  353. package/dist/utils/database.js.map +1 -0
  354. package/dist/utils/stopwords.d.ts +18 -0
  355. package/dist/utils/stopwords.d.ts.map +1 -0
  356. package/dist/utils/stopwords.js +117 -0
  357. package/dist/utils/stopwords.js.map +1 -0
  358. package/docker-compose.dev.yml +50 -0
  359. package/docker-compose.prod.yml +77 -0
  360. package/docker-compose.yml +43 -0
  361. package/docs/en/Memento-Goals.md +217 -0
  362. package/docs/en/Memento-M1-DetailSpecs.md +130 -0
  363. package/docs/en/Memento-Milestones.md +135 -0
  364. package/docs/en/Search-Ranking-Memory-Decay-Formulas.md +177 -0
  365. package/docs/en/api-reference.md +658 -0
  366. package/docs/en/architecture.md +1302 -0
  367. package/docs/en/developer-guide.md +1005 -0
  368. package/docs/en/user-manual.md +595 -0
  369. package/docs/ko/Memento-Goals.md +217 -0
  370. package/docs/ko/Memento-M1-DetailSpecs.md +130 -0
  371. package/docs/ko/Memento-Milestones.md +134 -0
  372. package/docs/ko/Search-Ranking-Memory-Decay-Formulas.md +177 -0
  373. package/docs/ko/api-reference.md +658 -0
  374. package/docs/ko/architecture.md +1302 -0
  375. package/docs/ko/developer-guide.md +1006 -0
  376. package/docs/ko/embedding-api-reference.md +122 -0
  377. package/docs/ko/embedding-configuration.md +62 -0
  378. package/docs/ko/embedding-performance-benchmark.md +62 -0
  379. package/docs/ko/embedding-service-guide.md +314 -0
  380. package/docs/ko/user-manual.md +595 -0
  381. package/env.example +49 -0
  382. package/install.sh +191 -0
  383. package/mcp-http-client.js +218 -0
  384. package/mcp.json +0 -0
  385. package/package.json +125 -0
  386. package/packages/mcp-client/docs/API-REFERENCE.md +560 -0
  387. package/packages/mcp-client/docs/BEST-PRACTICES.md +564 -0
  388. package/packages/mcp-client/docs/MIGRATION-GUIDE.md +344 -0
  389. package/packages/mcp-client/docs/PERFORMANCE-GUIDE.md +476 -0
  390. package/packages/mcp-client/docs/TROUBLESHOOTING.md +564 -0
  391. package/packages/mcp-client/package-lock.json +907 -0
  392. package/packages/mcp-client/package.json +58 -0
  393. package/packages/mcp-client/performance-optimizer.js +428 -0
  394. package/packages/mcp-client/test-basic.js +65 -0
  395. package/packages/mcp-client/test-integration.js +366 -0
  396. package/scripts/auto-setup.js +234 -0
  397. package/scripts/backup-daily.bat +28 -0
  398. package/scripts/backup-embeddings.js +108 -0
  399. package/scripts/check-db-integrity.js +93 -0
  400. package/scripts/debug-embeddings.js +184 -0
  401. package/scripts/direct-sql-migration.sql +36 -0
  402. package/scripts/docker-migration.sh +105 -0
  403. package/scripts/fix-migration.js +93 -0
  404. package/scripts/fix-vector-dimensions.js +206 -0
  405. package/scripts/migrate-embedding-data.js +307 -0
  406. package/scripts/regenerate-embeddings.js +144 -0
  407. package/scripts/restore-legacy.ps1 +60 -0
  408. package/scripts/restore-legacy.sh +62 -0
  409. package/scripts/run-migration.js +122 -0
  410. package/scripts/safe-migration.js +150 -0
  411. package/scripts/simple-migrate.js +41 -0
  412. package/scripts/simple-update.js +123 -0
  413. package/scripts/start-container.sh +10 -0
  414. package/src/algorithms/forgetting-algorithm.spec.ts +538 -0
  415. package/src/algorithms/forgetting-algorithm.ts +243 -0
  416. package/src/algorithms/hybrid-search-engine.spec.ts +484 -0
  417. package/src/algorithms/hybrid-search-engine.ts +489 -0
  418. package/src/algorithms/search-engine.spec.ts +429 -0
  419. package/src/algorithms/search-engine.ts +392 -0
  420. package/src/algorithms/search-ranking.spec.ts +293 -0
  421. package/src/algorithms/search-ranking.ts +407 -0
  422. package/src/algorithms/spaced-repetition.spec.ts +510 -0
  423. package/src/algorithms/spaced-repetition.ts +238 -0
  424. package/src/algorithms/vector-search-engine.ts +505 -0
  425. package/src/client/index.spec.ts +427 -0
  426. package/src/client/index.ts +222 -0
  427. package/src/config/index.spec.ts +339 -0
  428. package/src/config/index.ts +106 -0
  429. package/src/database/init.spec.ts +239 -0
  430. package/src/database/init.ts +130 -0
  431. package/src/database/migrate.spec.ts +293 -0
  432. package/src/database/migrate.ts +94 -0
  433. package/src/database/migrations/001_add_embedding_metadata.sql +29 -0
  434. package/src/database/schema.sql +159 -0
  435. package/src/npm-client/context-injector.spec.ts +335 -0
  436. package/src/npm-client/context-injector.ts +412 -0
  437. package/src/npm-client/index.spec.ts +108 -0
  438. package/src/npm-client/index.ts +96 -0
  439. package/src/npm-client/memento-client.spec.ts +549 -0
  440. package/src/npm-client/memento-client.ts +501 -0
  441. package/src/npm-client/memory-manager.spec.ts +374 -0
  442. package/src/npm-client/memory-manager.ts +414 -0
  443. package/src/npm-client/types.spec.ts +427 -0
  444. package/src/npm-client/types.ts +296 -0
  445. package/src/npm-client/utils.spec.ts +355 -0
  446. package/src/npm-client/utils.ts +423 -0
  447. package/src/scripts/copy-assets.js +37 -0
  448. package/src/server/http-server.spec.ts +648 -0
  449. package/src/server/http-server.ts +1030 -0
  450. package/src/server/index-backup.ts +875 -0
  451. package/src/server/index-refactored.ts +237 -0
  452. package/src/server/index.spec.ts +281 -0
  453. package/src/server/index.ts +347 -0
  454. package/src/server/simple-mcp-server.spec.ts +207 -0
  455. package/src/server/simple-mcp-server.ts +173 -0
  456. package/src/services/async-optimizer.spec.ts +569 -0
  457. package/src/services/async-optimizer.ts +484 -0
  458. package/src/services/batch-scheduler.ts +759 -0
  459. package/src/services/cache-service.spec.ts +372 -0
  460. package/src/services/cache-service.ts +434 -0
  461. package/src/services/database-optimizer.spec.ts +344 -0
  462. package/src/services/database-optimizer.ts +450 -0
  463. package/src/services/embedding-provider-factory.ts +173 -0
  464. package/src/services/embedding-service.spec.ts +342 -0
  465. package/src/services/embedding-service.ts +333 -0
  466. package/src/services/error-logging-service.spec.ts +416 -0
  467. package/src/services/error-logging-service.ts +383 -0
  468. package/src/services/forgetting-policy-service.spec.ts +140 -0
  469. package/src/services/forgetting-policy-service.ts +334 -0
  470. package/src/services/gemini-embedding-service.spec.ts +463 -0
  471. package/src/services/gemini-embedding-service.ts +283 -0
  472. package/src/services/lightweight-embedding-service.spec.ts +458 -0
  473. package/src/services/lightweight-embedding-service.ts +324 -0
  474. package/src/services/memory-embedding-service.spec.ts +417 -0
  475. package/src/services/memory-embedding-service.ts +289 -0
  476. package/src/services/minilm-embedding-service.spec.ts +104 -0
  477. package/src/services/minilm-embedding-service.ts +262 -0
  478. package/src/services/performance-alert-service.spec.ts +517 -0
  479. package/src/services/performance-alert-service.ts +477 -0
  480. package/src/services/performance-monitor.spec.ts +401 -0
  481. package/src/services/performance-monitor.ts +532 -0
  482. package/src/services/performance-monitoring-integration.spec.ts +478 -0
  483. package/src/services/performance-monitoring-integration.ts.bak +276 -0
  484. package/src/services/unified-embedding-service.spec.ts +224 -0
  485. package/src/services/unified-embedding-service.ts +255 -0
  486. package/src/test/debug-http-v2.ts +30 -0
  487. package/src/test/embedding-integration-test.spec.ts +295 -0
  488. package/src/test/embedding-integration-test.ts +295 -0
  489. package/src/test/embedding-performance-benchmark.spec.ts +354 -0
  490. package/src/test/embedding-performance-benchmark.ts +312 -0
  491. package/src/test/performance-benchmark.ts +565 -0
  492. package/src/test/test-alerts-direct.ts +136 -0
  493. package/src/test/test-batch-scheduler-simple.spec.ts +122 -0
  494. package/src/test/test-batch-scheduler.spec.ts +453 -0
  495. package/src/test/test-batch-scheduler.ts +182 -0
  496. package/src/test/test-client.ts +97 -0
  497. package/src/test/test-embedding.ts +153 -0
  498. package/src/test/test-error-handling.spec.ts +575 -0
  499. package/src/test/test-error-logging.ts +117 -0
  500. package/src/test/test-forgetting.ts +162 -0
  501. package/src/test/test-gemini-embedding.ts +159 -0
  502. package/src/test/test-http-server-v2-simple.ts +147 -0
  503. package/src/test/test-http-server-v2.ts +586 -0
  504. package/src/test/test-hybrid-search-engine.spec.ts +521 -0
  505. package/src/test/test-integration-fixed.spec.ts +612 -0
  506. package/src/test/test-integration.spec.ts +463 -0
  507. package/src/test/test-lightweight-embedding.ts +208 -0
  508. package/src/test/test-m1-completion.spec.ts +614 -0
  509. package/src/test/test-m1-completion.ts +141 -0
  510. package/src/test/test-m1-integration.spec.ts +514 -0
  511. package/src/test/test-memory-injection-prompt.spec.ts +650 -0
  512. package/src/test/test-memory-injection-prompt.ts +391 -0
  513. package/src/test/test-performance-alerts.ts +125 -0
  514. package/src/test/test-performance-monitor-updates.spec.ts +490 -0
  515. package/src/test/test-performance-monitor.spec.ts +284 -0
  516. package/src/test/test-performance-monitor.ts +228 -0
  517. package/src/test/test-performance-monitoring.ts +171 -0
  518. package/src/test/test-search.ts +151 -0
  519. package/src/test/test-simple-alerts.ts +136 -0
  520. package/src/test/test-vector-search-engine.spec.ts +408 -0
  521. package/src/test/test-vector-search-engine.ts +303 -0
  522. package/src/tools/base-tool.ts +189 -0
  523. package/src/tools/cleanup-memory-tool.ts +77 -0
  524. package/src/tools/database-optimize-tool.ts +79 -0
  525. package/src/tools/error-stats.ts +119 -0
  526. package/src/tools/forget-tool.spec.ts +613 -0
  527. package/src/tools/forget-tool.ts +454 -0
  528. package/src/tools/forgetting-stats-tool.ts +47 -0
  529. package/src/tools/index.ts +71 -0
  530. package/src/tools/memory-injection-prompt.ts +257 -0
  531. package/src/tools/performance-alerts.ts +226 -0
  532. package/src/tools/performance-stats-tool.ts +48 -0
  533. package/src/tools/pin-tool.spec.ts +497 -0
  534. package/src/tools/pin-tool.ts +277 -0
  535. package/src/tools/recall-tool.spec.ts +475 -0
  536. package/src/tools/recall-tool.ts +389 -0
  537. package/src/tools/remember-tool.spec.ts +469 -0
  538. package/src/tools/remember-tool.ts +112 -0
  539. package/src/tools/resolve-error.ts +69 -0
  540. package/src/tools/tool-registry.ts +417 -0
  541. package/src/tools/types.ts +63 -0
  542. package/src/tools/unpin-tool.spec.ts +549 -0
  543. package/src/tools/unpin-tool.ts +306 -0
  544. package/src/types/embedding.types.ts +78 -0
  545. package/src/types/index.spec.ts +420 -0
  546. package/src/types/index.ts +117 -0
  547. package/src/utils/database.spec.ts +77 -0
  548. package/src/utils/database.ts +458 -0
  549. package/src/utils/stopwords.ts +128 -0
  550. package/start-docker-setup.bat +38 -0
  551. package/static/logo.png +0 -0
  552. package/static/memento_logo.svg +2 -0
  553. package/test-docker.js +103 -0
  554. package/tsconfig.json +46 -0
  555. package/vitest.config.ts +23 -0
@@ -0,0 +1,595 @@
1
+ # User Manual
2
+
3
+ ## Overview
4
+
5
+ This manual explains how to manage AI Agent memory using Memento MCP Server. It is designed for users of all levels, from beginners to advanced users.
6
+
7
+ ## Table of Contents
8
+
9
+ 1. [Getting Started](#getting-started)
10
+ 2. [Basic Usage](#basic-usage)
11
+ 3. [Advanced Features](#advanced-features)
12
+ 4. [Troubleshooting](#troubleshooting)
13
+ 5. [FAQ](#faq)
14
+
15
+ ## Getting Started
16
+
17
+ ### Installation
18
+
19
+ #### M1 (Personal) - Local Installation
20
+
21
+ ```bash
22
+ # Clone repository
23
+ git clone https://github.com/your-org/memento.git
24
+ cd memento
25
+
26
+ # Install dependencies
27
+ npm install
28
+
29
+ # Set environment variables
30
+ cp .env.example .env
31
+ # Edit .env file to enter necessary settings
32
+
33
+ # Initialize database
34
+ npm run db:init
35
+
36
+ # Start server (hot reload)
37
+ npm run dev
38
+ ```
39
+
40
+ #### M2 (Team) - Docker Installation
41
+
42
+ ```bash
43
+ # Run with Docker Compose
44
+ docker-compose -f docker-compose.team.yml up -d
45
+
46
+ # Check server status
47
+ curl http://localhost:8080/health
48
+ ```
49
+
50
+ ### MCP Client Setup
51
+
52
+ #### Claude Desktop Setup
53
+
54
+ 1. Open Claude Desktop configuration file:
55
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
56
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
57
+
58
+ 2. Add MCP server:
59
+ ```json
60
+ {
61
+ "mcpServers": {
62
+ "memento": {
63
+ "command": "node",
64
+ "args": ["path/to/memento/dist/server/index.js"],
65
+ "env": {
66
+ "NODE_ENV": "production"
67
+ }
68
+ }
69
+ }
70
+ }
71
+ ```
72
+
73
+ 3. Restart Claude Desktop
74
+
75
+ #### Cursor Setup
76
+
77
+ 1. Add MCP server in Cursor settings
78
+ 2. Enter server URL: `ws://localhost:8080/mcp`
79
+ 3. Test connection
80
+
81
+ ## Basic Usage
82
+
83
+ ### 1. Storing Memories
84
+
85
+ You can store important information from conversations with AI Agents as memories.
86
+
87
+ #### Using the Actually Implemented Client
88
+
89
+ ```typescript
90
+ import { createMementoClient } from './src/client/index.js';
91
+
92
+ const client = createMementoClient();
93
+ await client.connect();
94
+
95
+ // Basic storage
96
+ const memoryId = await client.callTool('remember', {
97
+ content: "User asked about React Hooks and I explained the difference between useState and useEffect."
98
+ });
99
+
100
+ // Store with tags
101
+ const memoryId = await client.callTool('remember', {
102
+ content: "Decided to introduce TypeScript in the project.",
103
+ tags: ['typescript', 'decision', 'project'],
104
+ importance: 0.8
105
+ });
106
+
107
+ // Specify memory type
108
+ ```
109
+
110
+ @memento remember "React Hook usage" --type "semantic" --tags "react,hooks,programming"
111
+ ```
112
+
113
+ ### 2. Searching Memories
114
+
115
+ You can search stored memories to find related information. Memento provides basic search and hybrid search.
116
+
117
+ #### Hybrid Search (Recommended)
118
+
119
+ Using hybrid search that combines FTS5 text search and vector search provides more accurate results.
120
+
121
+ ```typescript
122
+ // Basic hybrid search (vector 60%, text 40%)
123
+ const result = await client.callTool('hybrid_search', {
124
+ query: "React Hook usage"
125
+ });
126
+
127
+ // Adjust weights (increase vector search ratio)
128
+ const result = await client.callTool('hybrid_search', {
129
+ query: "TypeScript interface",
130
+ vectorWeight: 0.8, // Vector search 80%
131
+ textWeight: 0.2 // Text search 20%
132
+ });
133
+ ```
134
+
135
+ #### Basic Search
136
+
137
+ ```
138
+ @memento recall "React Hook"
139
+ ```
140
+
141
+ #### Advanced Search
142
+
143
+ ```
144
+ @memento recall "TypeScript" --type "episodic,semantic" --tags "programming" --limit 10
145
+ ```
146
+
147
+ #### Time Range Search
148
+
149
+ ```
150
+ @memento recall "project decision" --from "2024-01-01" --to "2024-12-31"
151
+ ```
152
+
153
+ ### 3. Using Embedding Features
154
+
155
+ Memento uses OpenAI's `text-embedding-3-small` model to provide semantic similarity-based search. If OpenAI API is not available, it automatically uses the lightweight hybrid embedding service (TF-IDF + keyword matching).
156
+
157
+ #### Embedding Feature Setup
158
+
159
+ 1. **Set OpenAI API Key**:
160
+ ```bash
161
+ # Add to .env file (optional - uses lightweight embedding if not available)
162
+ OPENAI_API_KEY=your_openai_api_key_here
163
+ ```
164
+
165
+ 2. **Test Embedding Service**:
166
+ ```bash
167
+ # Test embedding functionality
168
+ npm run test:embedding
169
+ ```
170
+
171
+ #### Benefits of Embedding Features
172
+
173
+ - **Semantic Search**: Search based on meaning rather than keywords
174
+ - **Synonym Recognition**: Recognizes "car" and "vehicle" as the same meaning
175
+ - **Related Concept Search**: Recognizes "programming" and "coding" as related concepts
176
+ - **Automatic Embedding Generation**: Automatically generates vectors when storing memories
177
+
178
+ #### Using Embedding Search
179
+
180
+ ```typescript
181
+ // Embeddings are automatically generated when storing memories
182
+ const result = await client.callTool('remember', {
183
+ content: "Detailed explanation and usage examples of React Hooks",
184
+ type: 'semantic',
185
+ tags: ['react', 'hooks', 'javascript']
186
+ });
187
+
188
+ // Utilize vector search in hybrid search
189
+ const searchResult = await client.callTool('hybrid_search', {
190
+ query: "React state management",
191
+ vectorWeight: 0.7, // Increase vector search ratio
192
+ textWeight: 0.3
193
+ });
194
+ ```
195
+
196
+ ### 4. Managing Memories
197
+
198
+ #### Pinning Memories
199
+
200
+ You can pin important memories to protect them from automatic deletion.
201
+
202
+ ```
203
+ @memento pin memory-123
204
+ ```
205
+
206
+ #### Unpinning Memories
207
+
208
+ ```
209
+ @memento unpin memory-123
210
+ ```
211
+
212
+ #### Deleting Memories
213
+
214
+ ```
215
+ @memento forget memory-123
216
+ ```
217
+
218
+ #### Hard Delete
219
+
220
+ ```
221
+ @memento forget memory-123 --hard
222
+ ```
223
+
224
+ ## Advanced Features
225
+
226
+ ### 1. Using Forgetting Policy
227
+
228
+ #### What is Forgetting Policy?
229
+
230
+ Forgetting policy is a system that manages memory lifespan. It mimics human memory systems by:
231
+
232
+ - **Automatic Forgetting**: Automatically deleting old and unused memories
233
+ - **Spaced Repetition**: Periodically reviewing important memories to strengthen them
234
+ - **TTL Management**: Applying different lifespan policies by memory type
235
+
236
+ #### Applying Forgetting Policy
237
+
238
+ ```typescript
239
+ // Apply basic forgetting policy
240
+ const result = await client.callTool('apply_forgetting_policy', {});
241
+
242
+ console.log('Soft deleted memories:', result.softDeleted);
243
+ console.log('Hard deleted memories:', result.hardDeleted);
244
+ console.log('Memories scheduled for review:', result.scheduledForReview);
245
+ ```
246
+
247
+ #### Custom Forgetting Policy
248
+
249
+ ```typescript
250
+ // Apply forgetting policy with custom settings
251
+ const result = await client.callTool('apply_forgetting_policy', {
252
+ config: {
253
+ forgetThreshold: 0.7, // Forgetting threshold (0.7)
254
+ softDeleteThreshold: 0.7, // Soft delete threshold (0.7)
255
+ hardDeleteThreshold: 0.9, // Hard delete threshold (0.9)
256
+ ttlSoft: {
257
+ working: 3, // Working memory 3 days
258
+ episodic: 45, // Episodic memory 45 days
259
+ semantic: 200, // Semantic memory 200 days
260
+ procedural: 120 // Procedural memory 120 days
261
+ }
262
+ }
263
+ });
264
+ ```
265
+
266
+ #### Spaced Repetition Scheduling
267
+
268
+ ```typescript
269
+ // Create review schedule
270
+ const schedule = await client.callTool('schedule_review', {
271
+ memory_id: 'memory-123',
272
+ features: {
273
+ importance: 0.8, // Importance 80%
274
+ usage: 0.6, // Usability 60%
275
+ helpful_feedback: 0.7, // Helpful feedback 70%
276
+ bad_feedback: 0.1 // Bad feedback 10%
277
+ }
278
+ });
279
+
280
+ console.log('Next review date:', schedule.next_review);
281
+ console.log('Recall probability:', schedule.recall_probability);
282
+ ```
283
+
284
+ ### 2. Using HTTP Server
285
+
286
+ #### What is HTTP Server?
287
+
288
+ HTTP server is a real-time communication server that supports WebSocket. It is designed for communication with web clients.
289
+
290
+ #### Starting HTTP Server
291
+
292
+ ```bash
293
+ # Start HTTP server
294
+ npm run dev:http
295
+
296
+ # Or run directly
297
+ node dist/server/http-server.js
298
+ ```
299
+
300
+ #### WebSocket Connection
301
+
302
+ ```javascript
303
+ // WebSocket connection from web client
304
+ const ws = new WebSocket('ws://localhost:3000');
305
+
306
+ ws.on('open', () => {
307
+ console.log('WebSocket connected');
308
+
309
+ // Send MCP message
310
+ ws.send(JSON.stringify({
311
+ method: 'tools/call',
312
+ params: {
313
+ name: 'remember',
314
+ arguments: {
315
+ content: 'Memory stored from web',
316
+ type: 'episodic'
317
+ }
318
+ },
319
+ id: 'web-1'
320
+ }));
321
+ });
322
+
323
+ ws.on('message', (data) => {
324
+ const response = JSON.parse(data);
325
+ console.log('Server response:', response);
326
+ });
327
+ ```
328
+
329
+ ### 3. Session Summary
330
+
331
+ You can summarize conversation sessions and store them as memories.
332
+
333
+ ```
334
+ @memento summarize_thread session-456 --importance 0.8
335
+ ```
336
+
337
+ ### 4. Creating Memory Relationships
338
+
339
+ You can set relationships between memories to get better search results.
340
+
341
+ ```
342
+ @memento link memory-123 memory-456 --relation "derived_from"
343
+ ```
344
+
345
+ Available relationship types:
346
+ - `cause_of`: Cause relationship
347
+ - `derived_from`: Derived relationship
348
+ - `duplicates`: Duplicate relationship
349
+ - `contradicts`: Contradiction relationship
350
+
351
+ ### 5. Exporting Memories
352
+
353
+ You can export stored memories in various formats.
354
+
355
+ #### JSON Format
356
+
357
+ ```
358
+ @memento export --format json --type "episodic,semantic"
359
+ ```
360
+
361
+ #### CSV Format
362
+
363
+ ```
364
+ @memento export --format csv --tags "programming,react"
365
+ ```
366
+
367
+ #### Markdown Format
368
+
369
+ ```
370
+ @memento export --format markdown --from "2024-01-01"
371
+ ```
372
+
373
+ ### 4. Providing Feedback
374
+
375
+ You can provide feedback on memory usefulness to improve search quality.
376
+
377
+ ```
378
+ @memento feedback memory-123 --helpful true --comment "Very useful information"
379
+ ```
380
+
381
+ ## Memory Type Usage
382
+
383
+ ### Working Memory
384
+
385
+ Temporarily stores currently processing information.
386
+
387
+ ```
388
+ @memento remember "Current bug fix work in progress" --type "working"
389
+ ```
390
+
391
+ - **Features**: Automatically deleted after 48 hours
392
+ - **Usage**: Maintain current work context
393
+
394
+ ### Episodic Memory
395
+
396
+ Stores events and experiences.
397
+
398
+ ```
399
+ @memento remember "Decisions made in today's meeting" --type "episodic" --tags "meeting,decision"
400
+ ```
401
+
402
+ - **Features**: Automatically deleted after 90 days (if not pinned)
403
+ - **Usage**: Project progress, meeting content, experiences
404
+
405
+ ### Semantic Memory
406
+
407
+ Stores knowledge and facts.
408
+
409
+ ```
410
+ @memento remember "Basic concepts and usage of React Hooks" --type "semantic" --tags "react,hooks,knowledge"
411
+ ```
412
+
413
+ - **Features**: Preserved indefinitely
414
+ - **Usage**: Technical knowledge, guidelines, rules
415
+
416
+ ### Procedural Memory
417
+
418
+ Stores methods and procedures.
419
+
420
+ ```
421
+ @memento remember "Docker container deployment procedure" --type "procedural" --tags "docker,deployment,procedure"
422
+ ```
423
+
424
+ - **Features**: Preserved indefinitely
425
+ - **Usage**: Work procedures, setup methods, problem-solving processes
426
+
427
+ ## Tag System
428
+
429
+ ### Tag Naming Rules
430
+
431
+ - **Language/Technology**: `javascript`, `typescript`, `react`, `docker`
432
+ - **Category**: `programming`, `design`, `meeting`, `decision`
433
+ - **Status**: `todo`, `in-progress`, `completed`, `blocked`
434
+ - **Priority**: `critical`, `important`, `nice-to-have`
435
+
436
+ ### Tag Usage Examples
437
+
438
+ ```
439
+ @memento remember "Project architecture design" --tags "architecture,design,typescript,important"
440
+ ```
441
+
442
+ ## Search Tips
443
+
444
+ ### 1. Writing Effective Search Queries
445
+
446
+ - **Use specific keywords**: "React Hook" > "programming"
447
+ - **Utilize synonyms**: Both "JavaScript" and "JS" are searchable
448
+ - **Include context**: "Project setup" > "setup"
449
+
450
+ ### 2. Using Filters
451
+
452
+ - **Type filter**: Search only specific memory types
453
+ - **Tag filter**: Search only memories with related tags
454
+ - **Time filter**: Search only memories from specific periods
455
+
456
+ ### 3. Interpreting Search Results
457
+
458
+ - **Score**: Higher scores indicate higher relevance
459
+ - **recall_reason**: Explanation of why it was retrieved
460
+ - **Tags**: Classification information of the memory
461
+
462
+ ## Troubleshooting
463
+
464
+ ### Common Issues
465
+
466
+ #### 1. Connection Error
467
+
468
+ **Symptoms**: Cannot connect to MCP server
469
+
470
+ **Solutions**:
471
+ 1. Check if server is running
472
+ 2. Verify port is correct (default: 8080)
473
+ 3. Check firewall settings
474
+
475
+ #### 2. No Search Results
476
+
477
+ **Symptoms**: No results when searching
478
+
479
+ **Solutions**:
480
+ 1. Try different keywords
481
+ 2. Relax filter conditions
482
+ 3. Verify memories are actually stored
483
+
484
+ #### 3. Memory Shortage
485
+
486
+ **Symptoms**: Server performance degradation, response delays
487
+
488
+ **Solutions**:
489
+ 1. Clean up old memories
490
+ 2. Delete unnecessary memories
491
+ 3. Check server resources
492
+
493
+ ### Log Checking
494
+
495
+ #### M1 (Local)
496
+
497
+ ```bash
498
+ # Check server logs
499
+ npm run logs
500
+
501
+ # Check database status
502
+ npm run db:status
503
+ ```
504
+
505
+ #### M2+ (Docker)
506
+
507
+ ```bash
508
+ # Check container logs
509
+ docker-compose logs memento-server
510
+
511
+ # Check container status
512
+ docker-compose ps
513
+ ```
514
+
515
+ ### Performance Optimization
516
+
517
+ #### 1. Memory Cleanup
518
+
519
+ Regularly clean up unnecessary memories:
520
+
521
+ ```bash
522
+ # Clean up old working memories
523
+ @memento forget --type "working" --older-than "2 days"
524
+
525
+ # Clean up duplicate memories
526
+ @memento cleanup --duplicates
527
+ ```
528
+
529
+ #### 2. Index Optimization
530
+
531
+ ```bash
532
+ # Rebuild search indexes
533
+ @memento optimize --indexes
534
+ ```
535
+
536
+ ## FAQ
537
+
538
+ ### Q: Are memories automatically deleted?
539
+
540
+ A: Yes, memories are automatically deleted based on type:
541
+ - Working memory: After 48 hours
542
+ - Episodic memory: After 90 days (if not pinned)
543
+ - Semantic/Procedural memory: Not automatically deleted
544
+
545
+ ### Q: How to preserve memories permanently?
546
+
547
+ A: Use the `pin` command to exclude memories from automatic deletion:
548
+
549
+ ```
550
+ @memento pin memory-123
551
+ ```
552
+
553
+ ### Q: How to improve search result accuracy?
554
+
555
+ A: Try these methods:
556
+ 1. Use more specific search queries
557
+ 2. Add related tags
558
+ 3. Provide feedback to improve learning
559
+
560
+ ### Q: How to separate memories from multiple projects?
561
+
562
+ A: Use tags or project IDs:
563
+
564
+ ```
565
+ @memento remember "Project A related content" --tags "project-a"
566
+ @memento recall "project-a" --tags "project-a"
567
+ ```
568
+
569
+ ### Q: Can I share memories with others?
570
+
571
+ A: Team sharing is available in M2+ version:
572
+
573
+ ```
574
+ @memento remember "Team shared information" --privacy-scope "team"
575
+ ```
576
+
577
+ ### Q: How to backup?
578
+
579
+ A: Use the `export` command to backup:
580
+
581
+ ```bash
582
+ # Full backup
583
+ @memento export --format json > backup.json
584
+
585
+ # Backup specific period
586
+ @memento export --format json --from "2024-01-01" > backup-2024.json
587
+ ```
588
+
589
+ ## Additional Resources
590
+
591
+ - [API Reference Documentation](api-reference.md)
592
+ - [Developer Guide](developer-guide.md)
593
+ - [Troubleshooting Guide](troubleshooting.md)
594
+ - [GitHub Repository](https://github.com/your-org/memento)
595
+ - [Community Forum](https://github.com/your-org/memento/discussions)