memento-mcp-server
by jee1
README.md
# ๐ง Memento
<div align="center">
<img src="static/logo.png" alt="Memento Logo" width="200" height="200">
[๐ฐ๐ท ํ๊ตญ์ด](README.md) | [๐บ๐ธ English](README.en.md)
[](LICENSE)
</div>
---
LLM์ ๋ํ๊ฐ ๋๋๋ฉด ๋ชจ๋ ๊ฒ์ ์์ต๋๋ค. ์ด๋ฆ๋, ๊ฒฐ์ ๋, ์ง๋์ฃผ์ ์์ธ ๋งฅ๋ฝ๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. ์ด๋ ๋ชจ๋ธ์ ํ๊ณ๊ฐ ์๋๋ผ **๊ธฐ์ต ์ธํ๋ผ์ ๋ถ์ฌ**์
๋๋ค.
Memento๋ ๊ทธ ์ธํ๋ผ์
๋๋ค. ๋จ์ ์ ์ฅ์๊ฐ ์๋๋ผ, ๊ธฐ์ต์ด ์์ฑยท๋ถ๋ฅยท๊ฐํยท๋ง๊ฐ๋๋ **MCP ๊ธฐ๋ฐ ๊ธฐ์ต ์ด์ ์ฒด์ **์
๋๋ค.
์์
๊ธฐ์ตยท์ผํ๊ธฐ์ตยท์๋ฏธ๊ธฐ์ตยท์ ์ฐจ๊ธฐ์ต์ `remember`์ `type`์ผ๋ก ๊ตฌ๋ถํฉ๋๋ค. ์ฐ์ธ ๊ธฐ์ต์ ๊ฐํ๋๊ณ , ์ธ๋ชจ์์ด์ง ๊ธฐ์ต์ ๋ง๊ฐ ์ ์ฑ
์ผ๋ก ์ ๋ฆฌ๋ฉ๋๋ค. ๋น์ทํ ๊ธฐ์ต์ ๋ฒกํฐ๋ก ์ฐ๊ฒฐ๋๋ฉฐ, ํต์ฌ ๋งฅ๋ฝ์ ์ต์ปค๋ก ๋ค์ ๋ํ์ ๋ฐ๋ก ๋ณต์๋ฉ๋๋ค.
๋ชจ๋
ธ๋ ํฌยทํจํค์ง ๊ตฌ์กฐยท๋น๋ ๋ช
๋ น์ [AGENTS.md](AGENTS.md)๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์.
## ๋น ๋ฅธ ์์
ํจํค์ง ๋งค๋์ ๋ **npm**๋ง ์ง์ํฉ๋๋ค (`pnpm`/`yarn`์ ์ง์ํ์ง ์์ต๋๋ค).
์ญํ ์ ๋ง๋ **๊ธฐ๋ณธ ๊ฒฝ๋ก ํ๋**๋ง ๊ณ ๋ฅด์ธ์. Dockerยท์์ค ํด๋ก ยท๋ค์ค ์์ด์ ํธ HTTPยท์ํด๋ฆญ ์คํฌ๋ฆฝํธ๋ [INSTALL.md](INSTALL.md)์ ์์ต๋๋ค.
### Claude Code โ ํ๋ฌ๊ทธ์ธ
```
/plugin marketplace add jee1/memento
/plugin install memento@memento
```
๊ธฐ์ต DB๋ `${CLAUDE_PLUGIN_DATA}/memory.db`์ ๋์ด ํ๋ฌ๊ทธ์ธ ์
๋ฐ์ดํธ ํ์๋ ์ ์ง๋ฉ๋๋ค. `/plugin` ํจ๋์์ `memento` MCP๊ฐ ์ฐ๊ฒฐ๋๋์ง ํ์ธํด ์ฃผ์ธ์.
### Cursorยท๊ธฐํ MCP โ npx + mcp.json
```bash
npx memento-mcp-server@latest
```
```json
{
"mcpServers": {
"memento": {
"command": "npx",
"args": ["memento-mcp-server@latest"],
"env": {
"DB_PATH": "/absolute/path/to/data/memory.db"
}
}
}
}
```
์ค์ ํ์ผ ์์น๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. Cursor๋ `.cursor/mcp.json` ๋๋ `~/.cursor/mcp.json`์
๋๋ค. Claude DesktopยทClaude Code๋ [INSTALL.md](INSTALL.md)์ [Cursor MCP ์ค์ ๊ฐ์ด๋](docs/guides/ko/cursor-mcp-setup.md)๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์.
์์ฃผ ์ด๋ค๋ฉด `npm i -g memento-mcp-server`๋ก ๊ธ๋ก๋ฒ ์ค์นํ๋ ํธ์ด ๋ซ์ต๋๋ค. ๊ณต์ MCP ๋ ์ง์คํธ๋ฆฌ ์ด๋ฆ์ `io.github.jee1/memento-mcp-server`์
๋๋ค (`server.json`).
### ์ด์ยท์์ฒด ํธ์คํ
โ INSTALL.md
Docker, ์์ค ๋น๋, HTTP MCP(๋ค์ค ์์ด์ ํธ), ํ๊ฒฝ ์ค๋ฒ๋ ์ด๋ [INSTALL.md](INSTALL.md)๋ฅผ ๋ฐ๋ผ ์ฃผ์ธ์.
## ๊ธฐ๋ณธ์ผ๋ก ๋ณด์ด๋ ๋๊ตฌ
์๋ฒ์๋ ๋๊ตฌ 22๊ฐ๊ฐ ๋ฑ๋ก๋์ด ์์ง๋ง, `tools/list`์๋ ๊ธฐ๋ณธ์ ์ผ๋ก **`recall` ยท `remember` ยท `memory_injection` ยท `feedback` 4๊ฐ๋ง** ๋
ธ์ถ๋ฉ๋๋ค(v1.18+). ๋๋จธ์ง๋ ๋ฑ๋ก๋ ์ฑ ํธ์ถ์ ๊ฐ๋ฅํ๊ณ , ๋ชฉ๋ก์์๋ง ๋น ์ง๋๋ค. ์ ๋ถ ๋์ดํ๋ ค๋ฉด `MEMENTO_TOOLSET=full`์ ์ค์ ํ์ธ์.
## ์ฌ์ฉ ์์
```typescript
await client.callTool({
name: "remember",
arguments: {
content: "์ฌ์ฉ์๋ React Hook์ ํ์ตํ์ต๋๋ค. useState๋ ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ , useEffect๋ ์ฌ์ด๋ ์ดํํธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.",
type: "episodic",
tags: ["react", "hooks", "javascript"],
importance: 0.8
}
});
const results = await client.callTool({
name: "recall",
arguments: {
query: "React Hook์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์?",
limit: 5
}
});
```
๋ ๋ง์ ์ฐ๊ฒฐ ๋ฐฉ์(MCP SDK, `@jee1/memento-client`, ์ธ๋ถ ๋น์ SDK)์ [docs/README.md](docs/README.md)์ [docs/integrations/](docs/integrations/README.md)๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์.
## ํต์ฌ ๊ธฐ๋ฅ
- **4์ข
๊ธฐ์ต**: `working` ยท `episodic` ยท `semantic` ยท `procedural`
- **ํ์ด๋ธ๋ฆฌ๋ ๊ฒ์**: FTS5 + ๋ฒกํฐ, ํ๊ทธ ํํฐ
- **์ด์์๋ ๊ธฐ์ต**: ๊ฐํยท๋ง๊ฐยท์ด์ ํ์ยท์ต์ปค
- **์ ์ฐจ ๋ฒ์ **: `procedural_diff` / `procedural_rollback`
- **๊ทธ๋ํยท๋์๋ณด๋**: HTTP ์๋ฒ ๊ธฐ๋ ํ ์ ์ฒด ๊ด๋ฆฌ ํ๋ฆ์ `/dashboard`์์ ์ฌ๋ ํธ์ด ๊ฐ์ฅ ์์ ํ๋ฉฐ, `/graph`๋ฅผ ์ง์ ์ด์ด๋ ๋์ผํ `/auth/session` ๊ธฐ๋ฐ ์ฌ์ธ์ฆ ํจ๋๋ก ์ธ์
์ ์์ํ๊ฑฐ๋ ๋ณต๊ตฌํ ์ ์์ต๋๋ค.
๋ง๊ฐ TTLยท์๋ฒ ๋ฉยท๋ณด์ ๋ฑ ์ค์ ๊ฐ์ README์ ์ซ์๋ฅผ ๋์ง ์์ต๋๋ค. [env.example](env.example)๊ฐ ๊ธฐ์ค์
๋๋ค.
## HTTP ๋ณด์ (๊ด๋ฆฌ ์๋ฒ)
**HTTP ์๋ฒ๋ ๋ธ๋ผ์ฐ์ ์ธ์
๊ณผ ํค๋ ๊ธฐ๋ฐ ์ ๋ขฐ ๊ฒฝ๊ณ๋ฅผ ๋ถ๋ฆฌํฉ๋๋ค.** `/auth/session`์ ์ฟ ํค ๊ธฐ๋ฐ ๋ธ๋ผ์ฐ์ ์ธ์
์ ์์ํ๊ณ , `/admin`๊ณผ `/api`๋ ๋ธ๋ผ์ฐ์ ์ธ์
์ด ํ์ํ๋ฉฐ, `/api/v1/quality`, `/api/v1/maintenance`, `/tools`, `/mcp`๋ `Authorization: Bearer` ๋๋ `X-API-Key`๊ฐ ํ์ํฉ๋๋ค. ์์ธํ ๋ด์ฉ: [docs/reference/ko/security.md](docs/reference/ko/security.md).
**HTTP ์ ์ฉ (MCP์ ์์)**: `restore_anchors`, `migrate_embeddings`, `convert_episodic_to_semantic`, `get_meta_memory_stats` โ [HTTP ๊ด๋ฆฌ API](docs/api/ko/api-reference.md) ์ฐธ์กฐ.
### ๐ง ํต์ฌ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ (MCP ํด๋ผ์ด์ธํธ)
> **์ฐธ๊ณ **: ๋๊ตฌ 22๊ฐ๊ฐ ๋ฑ๋ก๋์ด ์๊ณ , `tools/list`๋ ๊ธฐ๋ณธ 4๊ฐ๋ง ๋
ธ์ถํฉ๋๋ค(`MEMENTO_TOOLSET=full`๋ก ์ ์ฒด). ์ด์ยท๊ด๋ฆฌ ๊ธฐ๋ฅ์ HTTP API๋ก๋ง ์ ๊ณตํฉ๋๋ค.
## ๋ฌธ์
- ๋ฌธ์ ํฌํธ: [docs/README.md](docs/README.md)
- ์ค์น: [INSTALL.md](INSTALL.md) ยท [INSTALL.en.md](INSTALL.en.md)
- ๊ธฐ์ฌ์ยท์์ด์ ํธ: [AGENTS.md](AGENTS.md) ยท [CONTRIBUTING.md](CONTRIBUTING.md)
- API: [docs/api/ko/api-reference.md](docs/api/ko/api-reference.md)
- ๋ณด์: [docs/reference/ko/security.md](docs/reference/ko/security.md)
## ๋ก๋๋งต (์์ฝ)
- **M1 ๊ฐ์ธ์ฉ (ํ์ฌ)**: ๋ก์ปฌ SQLite, MCP + HTTP ๊ด๋ฆฌ API. **์ธ์ฆ**: ๋ธ๋ผ์ฐ์ ์ธ์
+ ํค๋ ๊ธฐ๋ฐ ๋ถ๋ฆฌ ์ ๋ขฐ ๋ชจ๋ธ(`/auth/session` ์ฟ ํค ์ธ์
, `/admin`ยท`/api` ๋ธ๋ผ์ฐ์ ์ธ์
์๊ตฌ, `/tools`ยท`/mcp`๋ Bearer/API-Key ์๊ตฌ).
- **M2 ํ (๊ณํ)**: ๊ณต์ ๋ฐฑ์๋, API Key, Docker
- **M3 ์กฐ์ง (๊ณํ)**: PostgreSQL + pgvector, JWT
## ๊ธฐ์ฌ ยท ๋ผ์ด์ ์ค ยท ์ง์
๊ธฐ์ฌ๋ [CONTRIBUTING.md](CONTRIBUTING.md)๋ฅผ ๋ฐ๋ผ ์ฃผ์ธ์. ๋ผ์ด์ ์ค๋ [MIT](LICENSE)์
๋๋ค.
- ์ด์: [GitHub Issues](https://github.com/jee1/memento/issues)
- ๋ฌธ์: [docs/README.md](docs/README.md)
This server cannot be deployed
Maintenance
ActivityActive
ResponsivenessResponsive