Context7
Up-to-date docs for AI agents
제작자가 쓴 설명(영어 원문)
Evidence-grounded agent memory with mandatory provenance, on local SQLite or Cloudflare D1
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
TITEN_MCP_URL, TITEN_API_KEY비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"titen-memory": {
"command": "npx",
"args": [
"-y",
"titen-memory",
"mcp"
],
"env": {
"TITEN_MCP_URL": "your-value",
"TITEN_API_KEY": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add titen-memory --env TITEN_MCP_URL=your-value --env TITEN_API_KEY=your-value -- npx -y titen-memory mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"titen-memory": {
"command": "npx",
"args": [
"-y",
"titen-memory",
"mcp"
],
"env": {
"TITEN_MCP_URL": "your-value",
"TITEN_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"titen-memory": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"titen-memory",
"mcp"
],
"env": {
"TITEN_MCP_URL": "your-value",
"TITEN_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
TITEN_MCP_URL env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 RamaAditya49 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: TITEN_API_KEY
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.7.2)은 3개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Context7, Codebase Memory, Exa
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Titen
Agent memory that runs with no API key, no LLM, and no embedding provider.
Every memory keeps its source, who may read it, and the evidence that contradicts it.
Website · Documentation · npm · Changelog
Built with C.A.D.I.S Agent .
If Titen is useful to you, a ⭐ on GitHub helps other people find it.
No account, no key, no configuration — but the CLI runs on [Bun](https://bun.sh/) 1.2 or newer, and refuses to start without it:
curl -fsSL https://bun.sh/install | bash # skip if you already have Bun
npx titen-memory mcp
With no environment set, that opens or creates ~/.titen/memory.db, writes a real organization, workspace, project and owner into it, and serves MCP over stdio in-process — no HTTP hop, no key to paste, and no outbound network call. Retrieval is FTS5, so nothing needs an embedding provider or a model.
curl -fsSL https://titen.dev/install.sh | bash does the same in one step: it adds Bun when it is missing, then installs the titen command.
Point an agent at it:
claude mcp add --transport stdio --scope user titen -- npx -y titen-memory mcp
Already using @modelcontextprotocol/server-memory? Titen serves the same nine tool names with the same schemas, and answers memory://knowledge-graph too, so a client does not notice the swap. On the first local-mode start it imports your existing graph. Pass the old store's path, because that server writes beside its own install rather than in the directory you launch it from:
claude mcp add --transport stdio --scope user titen \
--env MEMORY_FILE_PATH=/path/to/memory.jsonl -- npx -y titen-memory mcp
Without it Titen still checks the working directory, its node_modules, and npm's npx cache — and says on stderr when it found nothing, rather than starting empty in silence. Point titen at a served instance later by setting TITEN_MCP_URL and TITEN_API_KEY — full setup below.
Audit what any agent memory store has accumulated, including one Titen does not own:
npx titen-memory audit ./memory.json
package.json declares none. What it needs is Bun and one SQLite file; everything else is the standard library and Web APIs.titen_* plus the nine reference-server names — with search_nodes routed through real retrieval rather than a substring scan, and your existing memory.json imported on first run.titen audit reads a reference-server memory.json, a Mem0 export, or a Titen store, and reports duplicates, recall loops, secret patterns and staleness with per-item evidence you can check by hand.@modelcontextprotocol/server-memory?That server had 106,662 downloads in the week of 31 July 2026 — it is the default memory for a large part of the MCP ecosystem, and it is deliberately minimal. Reading its published 2026.7.4 tarball: the store is one newline-delimited JSON file rewritten in full on every mutation, and a search is
graph.entities.filter(e => e.name.toLowerCase().includes(query.toLowerCase()) || ...)
String.includes on a lowercased needle. No tokenizer, no stemming, no ranking — results arrive in insertion order — no scoping or authorization, and no eviction, so the file grows without bound and every call is O(n) in the whole graph. Ask it *"which service handles refunds"* and it matches nothing unless that exact sentence is stored.
Titen answers the same nine tool names, with the same argument schemas, and the same memory://knowledge-graph resource, so a client does not notice the swap. What changes is underneath: search_nodes runs the real retrieval path — FTS5 with stemming, ranked best-first, and the vector index when one is configured — and every read is scoped to a subject and filtered by authorization before it is retrieved, not after.
@modelcontextprotocol/server-memory | Titen | |
|---|---|---|
| Search | String.includes, insertion order | FTS5 + stemming, ranked, optional vectors |
| Scope | the whole graph, always | org / subject / project / workspace, enforced pre-retrieval |
| Contradictions | overwritten | kept, linked to evidence, flagged |
| Growth | full-file rewrite, unbounded | SQLite, retention and eviction policies |
| Provider | none | none — no key, no LLM, no embedding provider |
Import is on first start; the switch is above.
Every published memory benchmark measures retrieval on a corpus somebody curated. The failure people actually report is on the write side: a store fills with copies of its own output. The one public audit of a production store found 97.8% of 10,134 entries were junk after 32 days. Nothing measures that.
npx titen-memory audit ~/.titen/memory.db # a Titen store
npx titen-memory audit ./memory.jsonl # @modelcontextprotocol/server-memory npx titen-memory audit ./mem0-export.json --json # a Mem0 export
Five counts — exact duplicate, near duplicate, recall loop, secret pattern, stale — each with per-item evidence you can check by hand. No network, no model, no upload: it opens the path read-only and prints a report; sharing it is your decision. A store that lacks the signal a metric needs is reported as *not measurable from this export*, never as a failure. There is no composite score and there is no leaderboard.
The detection rules are published in audit rules. Titen's own numbers — including 17.9% duplicates and 96.7% stale in its own store, and a compatibility-surface defect the tool found in Titen itself — are in the self-report.
Titen's default memory model is caller-authored claims. consolidate() takes statements you wrote, each explicitly linked to a source observation you already recorded. Titen does not read a transcript and decide on its own what is worth remembering.
That is deliberate. Every claim has an author, a source, and a scope, which is what makes provenance, permission, conflict, and audit answerable at all. It is also a real cost, and it is the honest comparison point: systems that derive memory from raw dialogue do work Titen hands back to you.
Model-assisted derivation and reflection are implemented and ship in the package, but they are activation-gated and no candidate model has passed the gate — the best result on record is 65.56% against a 90% contract threshold. Treat them as unfinished work with a public gate, not as a feature you can simply switch on. The roadmap carries the current evidence.
| Question | Titen's answer |
|---|---|
| Where did this memory come from? | Every claim points back to source observations and keeps its version history. |
| May this agent see it? | Organization, subject, project, workspace, and visibility checks run before retrieval. |
| What if two sources disagree? | Contradictions remain visible until an explicit lifecycle action resolves them. |
| Who is doing the work? | Leases prevent silent double ownership; checkpoints and handoffs make work resumable. |
| Can we audit or move it? | Canonical records live in SQL, with authenticated audit trails and versioned JSONL export/import. |
| Do we need an LLM or vector database? | No. The default install is FTS-only with no provider at all; embeddings and model enrichment are opt-in projections. Whether the vector arm helps depends on the store shape — see below. |
Agents connect through authenticated REST, Streamable HTTP MCP, the titen mcp stdio bridge, or the TypeScript SDK. Titen never treats retrieved memory as an instruction, and it does not run agent loops.
On LongMemEval-S (MIT, externally authored, 500 instances, 246,930 turns), our own scorer, failures kept in the denominator, protocol pre-registered before each run. Full table and method at titen.dev/benchmark.
Every figure below names its condition, because the condition moves recall@1 by 63 points on the same corpus. *Per-instance (scoped)* gives each question its own ~50-session haystack — the single-subject shape
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요