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
package/INSTALL.md ADDED
@@ -0,0 +1,303 @@
1
+ # ๐Ÿš€ Memento MCP Server ์„ค์น˜ ๊ฐ€์ด๋“œ
2
+
3
+ <div align="center">
4
+ [๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด](INSTALL.md) | [๐Ÿ‡บ๐Ÿ‡ธ English](INSTALL.en.md)
5
+ </div>
6
+
7
+ AI Agent ๊ธฐ์–ต ๋ณด์กฐ MCP ์„œ๋ฒ„์˜ ๋‹ค์–‘ํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
8
+
9
+ ## ๐Ÿ“‹ ์„ค์น˜ ๋ฐฉ๋ฒ• ์„ ํƒ
10
+
11
+ ### ๐Ÿฅ‡ **1์ˆœ์œ„: ์›ํด๋ฆญ ์„ค์น˜ (๊ถŒ์žฅ)**
12
+ ```bash
13
+ # ์ž๋™ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰
14
+ curl -sSL https://raw.githubusercontent.com/jee1/memento/main/install.sh | bash
15
+ ```
16
+
17
+ ### ๐Ÿฅˆ **2์ˆœ์œ„: npx ๋ฐฉ์‹ (๊ฐœ๋ฐœ์ž์šฉ)**
18
+ ```bash
19
+ # ์ฆ‰์‹œ ์‹คํ–‰ (์„ค์น˜ ์—†์ด)
20
+ npx memento-mcp-server@latest dev
21
+
22
+ # ์ž๋™ ์„ค์ • ํ›„ ์‹คํ–‰
23
+ npx memento-mcp-server@latest setup
24
+ npx memento-mcp-server@latest start
25
+ ```
26
+
27
+ ### ๐Ÿฅ‰ **3์ˆœ์œ„: Docker ๋ฐฉ์‹ (ํ”„๋กœ๋•์…˜์šฉ)**
28
+ ```bash
29
+ # ๊ฐœ๋ฐœ ํ™˜๊ฒฝ
30
+ docker-compose -f docker-compose.dev.yml up -d
31
+
32
+ # ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ
33
+ docker-compose -f docker-compose.prod.yml up -d
34
+ ```
35
+
36
+ ### ๐Ÿ› ๏ธ **4์ˆœ์œ„: ์†Œ์Šค์ฝ”๋“œ ๋ฐฉ์‹ (๊ฐœ๋ฐœ์ž์šฉ)**
37
+ ```bash
38
+ # ์ €์žฅ์†Œ ํด๋ก 
39
+ git clone https://github.com/jee1/memento.git
40
+ cd memento
41
+
42
+ # ์›ํด๋ฆญ ์„ค์น˜ ๋ฐ ์‹คํ–‰
43
+ npm run quick-start
44
+ ```
45
+
46
+ ## ๐ŸŽฏ ์‚ฌ์šฉ์ž๋ณ„ ๊ถŒ์žฅ ์„ค์น˜ ๋ฐฉ๋ฒ•
47
+
48
+ ### ๐Ÿ‘จโ€๐Ÿ’ป **๊ฐœ๋ฐœ์ž/์—ฐ๊ตฌ์ž**
49
+ - **npx ๋ฐฉ์‹** ๋˜๋Š” **์†Œ์Šค์ฝ”๋“œ ๋ฐฉ์‹** ๊ถŒ์žฅ
50
+ - ๋น ๋ฅธ ํ”„๋กœํ† ํƒ€์ดํ•‘๊ณผ ๋””๋ฒ„๊น…์— ์ตœ์ ํ™”
51
+
52
+ ### ๐Ÿ‘ค **์ผ๋ฐ˜ ์‚ฌ์šฉ์ž**
53
+ - **์›ํด๋ฆญ ์„ค์น˜** ๋˜๋Š” **Docker ๋ฐฉ์‹** ๊ถŒ์žฅ
54
+ - ๊ฐ„๋‹จํ•œ ์„ค์น˜์™€ ์•ˆ์ •์ ์ธ ์‹คํ–‰
55
+
56
+ ### ๐Ÿข **ํŒ€/์กฐ์ง**
57
+ - **Docker ๋ฐฉ์‹** ํ•„์ˆ˜
58
+ - ํ‘œ์ค€ํ™”๋œ ๋ฐฐํฌ์™€ ํ™•์žฅ์„ฑ
59
+
60
+ ## ๐Ÿ“š ์ƒ์„ธ ์„ค์น˜ ๋ฐฉ๋ฒ•
61
+
62
+ ### 1. ์›ํด๋ฆญ ์„ค์น˜
63
+
64
+ #### Linux/macOS
65
+ ```bash
66
+ curl -sSL https://raw.githubusercontent.com/jee1/memento/main/install.sh | bash
67
+ ```
68
+
69
+ #### Windows (PowerShell)
70
+ ```powershell
71
+ Invoke-WebRequest -Uri "https://raw.githubusercontent.com/jee1/memento/main/install.sh" -OutFile "install.sh"
72
+ bash install.sh
73
+ ```
74
+
75
+ ### 2. npx ๋ฐฉ์‹
76
+
77
+ #### ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•
78
+ ```bash
79
+ # ๊ฐœ๋ฐœ ๋ชจ๋“œ (ํ•ซ ๋ฆฌ๋กœ๋“œ)
80
+ npx memento-mcp-server@latest dev
81
+
82
+ # ํ”„๋กœ๋•์…˜ ๋ชจ๋“œ
83
+ npx memento-mcp-server@latest start
84
+
85
+ # HTTP/WebSocket ์„œ๋ฒ„
86
+ npx memento-mcp-server@latest dev-http
87
+
88
+ # ์ž๋™ ์„ค์ •
89
+ npx memento-mcp-server@latest setup
90
+ ```
91
+
92
+ #### ์ „์—ญ ์„ค์น˜
93
+ ```bash
94
+ # ์ „์—ญ ์„ค์น˜
95
+ npm install -g memento-mcp-server
96
+
97
+ # ์‚ฌ์šฉ๋ฒ•
98
+ memento-mcp dev
99
+ memento-mcp start
100
+ memento-mcp setup
101
+ ```
102
+
103
+ ### 3. Docker ๋ฐฉ์‹
104
+
105
+ #### ๊ฐœ๋ฐœ ํ™˜๊ฒฝ
106
+ ```bash
107
+ # ๊ฐœ๋ฐœ์šฉ Docker Compose ์‹คํ–‰
108
+ docker-compose -f docker-compose.dev.yml up -d
109
+
110
+ # ๋กœ๊ทธ ํ™•์ธ
111
+ docker-compose -f docker-compose.dev.yml logs -f
112
+
113
+ # ์ค‘์ง€
114
+ docker-compose -f docker-compose.dev.yml down
115
+ ```
116
+
117
+ #### ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ
118
+ ```bash
119
+ # ํ”„๋กœ๋•์…˜์šฉ Docker Compose ์‹คํ–‰
120
+ docker-compose -f docker-compose.prod.yml up -d
121
+
122
+ # ๋กœ๊ทธ ํ™•์ธ
123
+ docker-compose -f docker-compose.prod.yml logs -f
124
+
125
+ # ์ค‘์ง€
126
+ docker-compose -f docker-compose.prod.yml down
127
+ ```
128
+
129
+ #### ๊ธฐ๋ณธ Docker Compose
130
+ ```bash
131
+ # ๊ธฐ๋ณธ ์‹คํ–‰ (ํ”„๋กœ๋•์…˜ ๋ชจ๋“œ)
132
+ docker-compose up -d
133
+
134
+ # ๋กœ๊ทธ ํ™•์ธ
135
+ docker-compose logs -f
136
+
137
+ # ์ค‘์ง€
138
+ docker-compose down
139
+ ```
140
+
141
+ ### 4. ์†Œ์Šค์ฝ”๋“œ ๋ฐฉ์‹
142
+
143
+ #### ๊ธฐ๋ณธ ์„ค์น˜
144
+ ```bash
145
+ # ์ €์žฅ์†Œ ํด๋ก 
146
+ git clone https://github.com/jee1/memento.git
147
+ cd memento
148
+
149
+ # ์˜์กด์„ฑ ์„ค์น˜
150
+ npm install
151
+
152
+ # ์ž๋™ ์„ค์ •
153
+ npm run setup
154
+
155
+ # ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹œ์ž‘
156
+ npm run dev
157
+ ```
158
+
159
+ #### ์›ํด๋ฆญ ์„ค์น˜
160
+ ```bash
161
+ # ๋ชจ๋“  ๊ณผ์ •์„ ํ•œ ๋ฒˆ์—
162
+ npm run quick-start
163
+ ```
164
+
165
+ ## โš™๏ธ ํ™˜๊ฒฝ ์„ค์ •
166
+
167
+ ### ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
168
+ ```bash
169
+ # .env ํŒŒ์ผ ์ƒ์„ฑ
170
+ cp env.example .env
171
+
172
+ # API ํ‚ค ์„ค์ • (์„ ํƒ์‚ฌํ•ญ)
173
+ # OPENAI_API_KEY=your_openai_api_key_here
174
+ # GEMINI_API_KEY=your_gemini_api_key_here
175
+ ```
176
+
177
+ ### ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™”
178
+ ```bash
179
+ # SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™”
180
+ npm run db:init
181
+
182
+ # ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‹คํ–‰
183
+ npm run db:migrate
184
+ ```
185
+
186
+ ## ๐Ÿ”ง ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์–ด
187
+
188
+ ### ๊ฐœ๋ฐœ ๋ช…๋ น์–ด
189
+ ```bash
190
+ npm run dev # MCP ์„œ๋ฒ„ ๊ฐœ๋ฐœ ๋ชจ๋“œ
191
+ npm run dev:http # HTTP/WebSocket ์„œ๋ฒ„ ๊ฐœ๋ฐœ ๋ชจ๋“œ
192
+ npm run dev:http-v2 # HTTP ์„œ๋ฒ„ v2 ๊ฐœ๋ฐœ ๋ชจ๋“œ
193
+ ```
194
+
195
+ ### ํ”„๋กœ๋•์…˜ ๋ช…๋ น์–ด
196
+ ```bash
197
+ npm run build # TypeScript ์ปดํŒŒ์ผ
198
+ npm run start # MCP ์„œ๋ฒ„ ํ”„๋กœ๋•์…˜ ์‹คํ–‰
199
+ npm run start:http # HTTP/WebSocket ์„œ๋ฒ„ ํ”„๋กœ๋•์…˜ ์‹คํ–‰
200
+ ```
201
+
202
+ ### ํ…Œ์ŠคํŠธ ๋ช…๋ น์–ด
203
+ ```bash
204
+ npm run test # ๋ชจ๋“  ํ…Œ์ŠคํŠธ ์‹คํ–‰
205
+ npm run test:client # ํด๋ผ์ด์–ธํŠธ ํ…Œ์ŠคํŠธ
206
+ npm run test:search # ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ
207
+ npm run test:forgetting # ๋ง๊ฐ ์ •์ฑ… ํ…Œ์ŠคํŠธ
208
+ npm run test:performance # ์„ฑ๋Šฅ ๋ฒค์น˜๋งˆํฌ
209
+ ```
210
+
211
+ ### Docker ๋ช…๋ น์–ด
212
+ ```bash
213
+ npm run docker:dev # ๊ฐœ๋ฐœ์šฉ Docker ์‹คํ–‰
214
+ npm run docker:prod # ํ”„๋กœ๋•์…˜์šฉ Docker ์‹คํ–‰
215
+ npm run docker:build # Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ
216
+ npm run docker:logs # Docker ๋กœ๊ทธ ํ™•์ธ
217
+ ```
218
+
219
+ ### ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ช…๋ น์–ด
220
+ ```bash
221
+ npm run setup # ์ž๋™ ์„ค์ • ์‹คํ–‰
222
+ npm run quick-start # ์›ํด๋ฆญ ์„ค์น˜ ๋ฐ ์‹คํ–‰
223
+ npm run backup:embeddings # ์ž„๋ฒ ๋”ฉ ๋ฐฑ์—…
224
+ npm run regenerate:embeddings # ์ž„๋ฒ ๋”ฉ ์žฌ์ƒ์„ฑ
225
+ ```
226
+
227
+ ## ๐ŸŒ ์ ‘์† ์ •๋ณด
228
+
229
+ ์„ค์น˜ ์™„๋ฃŒ ํ›„ ๋‹ค์Œ ์ฃผ์†Œ๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
230
+
231
+ - **MCP ์„œ๋ฒ„**: `stdio` ๋˜๋Š” `ws://localhost:8080/mcp`
232
+ - **HTTP API**: `http://localhost:8080`
233
+ - **WebSocket**: `ws://localhost:8080`
234
+ - **๊ด€๋ฆฌ ๋Œ€์‹œ๋ณด๋“œ**: `http://localhost:8080/admin`
235
+
236
+ ## ๐Ÿšจ ๋ฌธ์ œ ํ•ด๊ฒฐ
237
+
238
+ ### ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋“ค
239
+
240
+ #### 1. Node.js ๋ฒ„์ „ ์˜ค๋ฅ˜
241
+ ```bash
242
+ # Node.js 20 ์ด์ƒ ํ•„์š”
243
+ node --version
244
+
245
+ # nvm์œผ๋กœ Node.js ์„ค์น˜ (Linux/macOS)
246
+ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
247
+ nvm install 20
248
+ nvm use 20
249
+ ```
250
+
251
+ #### 2. ํฌํŠธ ์ถฉ๋Œ
252
+ ```bash
253
+ # ํฌํŠธ 8080์ด ์‚ฌ์šฉ ์ค‘์ธ ๊ฒฝ์šฐ
254
+ # .env ํŒŒ์ผ์—์„œ PORT ๋ณ€๊ฒฝ
255
+ PORT=8081
256
+ ```
257
+
258
+ #### 3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์˜ค๋ฅ˜
259
+ ```bash
260
+ # ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์žฌ์ดˆ๊ธฐํ™”
261
+ rm -rf data/memory.db*
262
+ npm run db:init
263
+ ```
264
+
265
+ #### 4. Docker ์˜ค๋ฅ˜
266
+ ```bash
267
+ # Docker ์ปจํ…Œ์ด๋„ˆ ์™„์ „ ์ •๋ฆฌ
268
+ docker-compose down -v
269
+ docker system prune -a
270
+ docker-compose up -d
271
+ ```
272
+
273
+ ### ๋กœ๊ทธ ํ™•์ธ
274
+ ```bash
275
+ # ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ
276
+ tail -f logs/memento-server.log
277
+
278
+ # Docker ๋กœ๊ทธ
279
+ docker-compose logs -f
280
+
281
+ # ์‹œ์Šคํ…œ ๋กœ๊ทธ (Linux)
282
+ journalctl -u memento-mcp-server -f
283
+ ```
284
+
285
+ ## ๐Ÿ“ž ์ง€์›
286
+
287
+ - **์ด์Šˆ ๋ฆฌํฌํŠธ**: [GitHub Issues](https://github.com/jee1/memento/issues)
288
+ - **๋ฌธ์„œ**: [Wiki](https://github.com/jee1/memento/wiki)
289
+ - **๊ฐœ๋ฐœ์ž ๊ฐ€์ด๋“œ**: [docs/developer-guide.md](docs/developer-guide.md)
290
+ - **API ์ฐธ์กฐ**: [docs/api-reference.md](docs/api-reference.md)
291
+
292
+ ## ๐ŸŽ‰ ์„ค์น˜ ์™„๋ฃŒ!
293
+
294
+ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ง„ํ–‰ํ•˜์„ธ์š”:
295
+
296
+ 1. **์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ**: `http://localhost:8080/health`
297
+ 2. **MCP ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ**: [ํด๋ผ์ด์–ธํŠธ ๊ฐ€์ด๋“œ](packages/mcp-client/README.md)
298
+ 3. **API ํ…Œ์ŠคํŠธ**: [API ๋ฌธ์„œ](docs/api-reference.md)
299
+ 4. **์‚ฌ์šฉ๋ฒ• ํ•™์Šต**: [์‚ฌ์šฉ์ž ๋งค๋‰ด์–ผ](docs/user-manual.md)
300
+
301
+ ---
302
+
303
+ **๐Ÿ’ก ํŒ**: ์ฒ˜์Œ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๊ฒฝ์šฐ `npm run quick-start` ๋ช…๋ น์–ด๋กœ ๋ชจ๋“  ์„ค์ •์„ ์ž๋™์œผ๋กœ ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!
package/README.en.md ADDED
@@ -0,0 +1,330 @@
1
+ # Memento MCP Server
2
+
3
+ <div align="center">
4
+ <img src="static/logo.png" alt="Memento Logo" width="200" height="200">
5
+
6
+ [๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด](README.md) | [๐Ÿ‡บ๐Ÿ‡ธ English](README.en.md)
7
+ </div>
8
+
9
+ AI Agent Memory Assistant MCP Server - Storage+Search+Summary+Forgetting mechanisms modeled after human memory structure
10
+
11
+ ## ๐ŸŽฏ Project Overview
12
+
13
+ Memento MCP Server is a Model Context Protocol (MCP) server that helps AI Agents store and manage long-term memory. It simulates human memory structure (working memory, episodic memory, semantic memory, procedural memory) to provide an efficient memory management system.
14
+
15
+ ## โœจ Key Features
16
+
17
+ ### ๐Ÿง  Core Memory Management (MCP Client)
18
+ - **Memory Storage**: Store 4 types of memories (working, episodic, semantic, procedural)
19
+ - **Memory Search**: Hybrid search (text + vector)
20
+ - **Memory Pinning**: Pin/unpin important memories
21
+ - **Memory Deletion**: Soft/hard deletion
22
+
23
+ ### ๐Ÿ” Advanced Search
24
+ - **FTS5 Text Search**: SQLite's Full-Text Search
25
+ - **Vector Search**: OpenAI embedding-based semantic search
26
+ - **Hybrid Search**: Combination of text and vector search
27
+ - **Lightweight Embedding**: TF-IDF + keyword matching based fallback solution
28
+ - **Tag-based Filtering**: Metadata-based search
29
+
30
+ ### ๐Ÿงน Forgetting Policy
31
+ - **Forgetting Algorithm**: Forgetting score calculation based on recency, usage, duplication ratio
32
+ - **Spaced Repetition**: Review scheduling based on importance and usage
33
+ - **TTL Management**: Type-specific lifespan management
34
+ - **Auto Cleanup**: Automated soft/hard deletion
35
+
36
+ ### ๐Ÿ“Š Performance Monitoring (HTTP Management API)
37
+ - **Real-time Metrics**: Database, search, memory performance monitoring
38
+ - **Real-time Alerts**: Automatic performance checks every 30 seconds with threshold-based alerts
39
+ - **Error Logging**: Structured error logging and statistics collection
40
+ - **Database Optimization**: Automatic index recommendation and creation
41
+ - **Cache System**: LRU + TTL based caching
42
+ - **Async Processing**: Worker pool based parallel processing
43
+
44
+ ## ๐Ÿš€ Quick Start
45
+
46
+ ### ๐Ÿฅ‡ **One-click Installation (Recommended)**
47
+ ```bash
48
+ # Run automatic installation script
49
+ curl -sSL https://raw.githubusercontent.com/jee1/memento/main/install.sh | bash
50
+ ```
51
+
52
+ ### ๐Ÿฅˆ **npx Method (For Developers)**
53
+ ```bash
54
+ # Run immediately (without installation)
55
+ npx memento-mcp-server@latest dev
56
+
57
+ # Auto setup then run
58
+ npx memento-mcp-server@latest setup
59
+ npx memento-mcp-server@latest start
60
+ ```
61
+
62
+ ### ๐Ÿฅ‰ **Docker Method (For Production)**
63
+ ```bash
64
+ # Development environment
65
+ docker-compose -f docker-compose.dev.yml up -d
66
+
67
+ # Production environment
68
+ docker-compose -f docker-compose.prod.yml up -d
69
+ ```
70
+
71
+ ### ๐Ÿ› ๏ธ **Source Code Method (For Developers)**
72
+ ```bash
73
+ # Clone repository
74
+ git clone https://github.com/jee1/memento.git
75
+ cd memento
76
+
77
+ # One-click installation and run
78
+ npm run quick-start
79
+ ```
80
+
81
+ ### ๐Ÿ“š **Detailed Installation Guide**
82
+ For detailed installation methods, see [INSTALL.en.md](INSTALL.en.md).
83
+
84
+ ## ๐Ÿ› ๏ธ Usage
85
+
86
+ ### MCP Client Connection
87
+
88
+ ```typescript
89
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
90
+
91
+ const client = new Client({
92
+ name: "memento-client",
93
+ version: "0.1.0"
94
+ }, {
95
+ capabilities: {
96
+ tools: {},
97
+ resources: {},
98
+ prompts: {}
99
+ }
100
+ });
101
+
102
+ // stdio connection
103
+ await client.connect({
104
+ command: "node",
105
+ args: ["dist/server/index.js"]
106
+ });
107
+
108
+ // WebSocket connection
109
+ await client.connect({
110
+ transport: {
111
+ type: "websocket",
112
+ url: "ws://localhost:8080/mcp"
113
+ }
114
+ });
115
+ ```
116
+
117
+ ### Memory Storage
118
+
119
+ ```typescript
120
+ // Store memory
121
+ const result = await client.callTool({
122
+ name: "remember",
123
+ arguments: {
124
+ content: "I learned about React Hooks. useState manages state and useEffect handles side effects.",
125
+ type: "episodic",
126
+ tags: ["react", "hooks", "javascript"],
127
+ importance: 0.8
128
+ }
129
+ });
130
+ ```
131
+
132
+ ### Memory Search
133
+
134
+ ```typescript
135
+ // Search memory
136
+ const results = await client.callTool({
137
+ name: "recall",
138
+ arguments: {
139
+ query: "React Hook",
140
+ filters: {
141
+ type: ["episodic", "semantic"],
142
+ tags: ["react"]
143
+ },
144
+ limit: 10
145
+ }
146
+ });
147
+ ```
148
+
149
+ ## ๐Ÿ“‹ API Documentation
150
+
151
+ ### MCP Tools (Core 5 Only)
152
+
153
+ > **Important**: MCP client only exposes 5 core memory management functions.
154
+ > Management functions are separated into HTTP API endpoints.
155
+
156
+ | Tool | Description | Parameters |
157
+ |------|-------------|------------|
158
+ | `remember` | Store memory | content, type, tags, importance, source, privacy_scope |
159
+ | `recall` | Search memory | query, filters, limit |
160
+ | `pin` | Pin memory | memory_id |
161
+ | `unpin` | Unpin memory | memory_id |
162
+ | `forget` | Delete memory | memory_id, hard |
163
+
164
+ ### HTTP Management API
165
+
166
+ | Endpoint | Description | Method |
167
+ |----------|-------------|--------|
168
+ | `/admin/memory/cleanup` | Memory cleanup | POST |
169
+ | `/admin/stats/forgetting` | Forgetting statistics | GET |
170
+ | `/admin/stats/performance` | Performance statistics | GET |
171
+ | `/admin/stats/errors` | Error statistics | GET |
172
+ | `/admin/errors/resolve` | Resolve errors | POST |
173
+ | `/admin/alerts/performance` | Performance alerts | GET |
174
+ | `/admin/database/optimize` | Database optimization | POST |
175
+
176
+ ### Resources
177
+
178
+ | Resource | Description |
179
+ |----------|-------------|
180
+ | `memory/{id}` | Single memory detail |
181
+ | `memory/search?query=...` | Search result cache |
182
+
183
+ ## ๐Ÿ”ง Configuration
184
+
185
+ ### Environment Variables
186
+
187
+ | Variable | Default | Description |
188
+ |----------|---------|-------------|
189
+ | `NODE_ENV` | development | Runtime environment |
190
+ | `PORT` | 8080 | Server port |
191
+ | `DB_PATH` | ./data/memory.db | Database path |
192
+ | `LOG_LEVEL` | info | Log level |
193
+ | `OPENAI_API_KEY` | - | OpenAI API key (optional) |
194
+
195
+ ### Forgetting Policy Configuration
196
+
197
+ ```bash
198
+ # Forgetting thresholds
199
+ FORGET_THRESHOLD=0.6
200
+ SOFT_DELETE_THRESHOLD=0.6
201
+ HARD_DELETE_THRESHOLD=0.8
202
+
203
+ # TTL settings (in days)
204
+ TTL_SOFT_WORKING=2
205
+ TTL_SOFT_EPISODIC=30
206
+ TTL_SOFT_SEMANTIC=180
207
+ TTL_SOFT_PROCEDURAL=90
208
+ ```
209
+
210
+ ## ๐Ÿงช Testing
211
+
212
+ ```bash
213
+ # Run all tests (Vitest)
214
+ npm run test
215
+
216
+ # Run individual tests
217
+ npm run test:client # Client tests
218
+ npm run test:search # Search functionality tests
219
+ npm run test:embedding # Embedding functionality tests
220
+ npm run test:lightweight-embedding # Lightweight embedding tests
221
+ npm run test:forgetting # Forgetting policy tests
222
+ npm run test:performance # Performance benchmarks
223
+ npm run test:monitoring # Performance monitoring tests
224
+ npm run test:error-logging # Error logging tests
225
+ npm run test:performance-alerts # Performance alert tests
226
+
227
+ # Test watch mode
228
+ npm run test -- --watch
229
+
230
+ # Tests with coverage
231
+ npm run test -- --coverage
232
+ ```
233
+
234
+ ## ๐Ÿ“š Developer Guidelines
235
+
236
+ ### Repository Guidelines (`AGENTS.md`)
237
+ - **Project Structure**: Module organization under `src/`
238
+ - **Build/Test Commands**: `npm run dev`, `npm run build`, `npm run test`, etc.
239
+ - **Coding Style**: Node.js โ‰ฅ 20, TypeScript ES modules, 2-space indentation
240
+ - **Testing Guidelines**: Vitest based, `src/test/` or `*.spec.ts` files
241
+ - **Commit/PR Guidelines**: Conventional Commits, Korean context included
242
+ - **Environment/Database**: `.env` configuration, `data/` folder management
243
+
244
+ ## ๐Ÿ“Š Performance Metrics
245
+
246
+ ### Basic Performance
247
+ - **Database Performance**: Average query time 0.16-0.22ms
248
+ - **Search Performance**: 0.78-4.24ms (improved with cache effects)
249
+ - **Memory Usage**: 11-15MB heap usage
250
+ - **Concurrent Connections**: Supports up to 1000 connections
251
+
252
+ ### Advanced Performance Optimization
253
+ - **Cache Hit Rate**: 80%+ (search result caching)
254
+ - **Embedding Caching**: 24-hour TTL for cost savings
255
+ - **Async Processing**: Worker pool based parallel processing
256
+ - **Database Optimization**: Automatic index recommendation and creation
257
+ - **Real-time Monitoring**: Automatic performance checks every 30 seconds
258
+ - **Error Logging**: Structured error tracking and statistics
259
+ - **Performance Alerts**: Threshold-based automatic alert system
260
+
261
+ ### Lightweight Embedding Performance
262
+ - **TF-IDF Vectorization**: Fixed 512-dimensional vector generation
263
+ - **Multilingual Support**: Korean/English stopword removal
264
+ - **Local Processing**: Works without OpenAI API
265
+ - **Cosine Similarity**: Fast vector search
266
+
267
+ ## ๐Ÿ—๏ธ Architecture
268
+
269
+ ### M1: Personal Use (Current Implementation)
270
+ - **Storage**: better-sqlite3 embedded
271
+ - **Index**: FTS5 + sqlite-vss
272
+ - **Authentication**: None (local only)
273
+ - **Operation**: Local execution
274
+ - **MCP Client**: Only exposes 5 core tools
275
+ - **Management Functions**: Separated into HTTP API
276
+ - **Additional Features**: Lightweight embedding, performance monitoring, cache system
277
+
278
+ ### M2: Team Collaboration (Planned)
279
+ - **Storage**: SQLite server mode
280
+ - **Authentication**: API Key
281
+ - **Operation**: Docker single container
282
+
283
+ ### M3: Organization Entry (Planned)
284
+ - **Storage**: PostgreSQL + pgvector
285
+ - **Authentication**: JWT
286
+ - **Operation**: Docker Compose
287
+
288
+ ## ๐Ÿค Contributing
289
+
290
+ 1. Fork the Project
291
+ 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
292
+ 3. Commit your Changes (`git commit -m 'feat: add some AmazingFeature'`)
293
+ 4. Push to the Branch (`git push origin feature/AmazingFeature`)
294
+ 5. Open a Pull Request
295
+
296
+ ### Development Environment Setup
297
+ ```bash
298
+ # Fork and clone repository
299
+ git clone https://github.com/your-username/memento.git
300
+ cd memento
301
+
302
+ # Install dependencies
303
+ npm install
304
+
305
+ # Start development server
306
+ npm run dev
307
+
308
+ # Run tests
309
+ npm run test
310
+ ```
311
+
312
+ ## ๐Ÿ“„ License
313
+
314
+ This project is distributed under the MIT License. See the `LICENSE` file for details.
315
+
316
+ ## ๐Ÿ“ž Support
317
+
318
+ - Issue Reports: [GitHub Issues](https://github.com/jee1/memento/issues)
319
+ - Documentation: [Wiki](https://github.com/jee1/memento/wiki)
320
+ - Developer Guide: [docs/en/developer-guide.md](docs/en/developer-guide.md)
321
+ - API Reference: [docs/en/api-reference.md](docs/en/api-reference.md)
322
+
323
+ ## ๐Ÿ™ Acknowledgments
324
+
325
+ - [Model Context Protocol](https://modelcontextprotocol.io/) - MCP Protocol
326
+ - [OpenAI](https://openai.com/) - Embedding Service
327
+ - [better-sqlite3](https://github.com/WiseLibs/better-sqlite3) - High-performance SQLite driver
328
+ - [Express](https://expressjs.com/) - Web framework
329
+ - [Vitest](https://vitest.dev/) - Testing framework
330
+ - [TypeScript](https://www.typescriptlang.org/) - Development language