Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Open, Git-native memory protocol for MCP agents. Portable, versioned, human-editable.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"elefante": {
"command": "npx",
"args": [
"-y",
"elefante-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add elefante -- npx -y elefante-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"elefante": {
"command": "npx",
"args": [
"-y",
"elefante-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"elefante": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"elefante-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub amenophis1er ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.9) เข้า registry 7 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
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.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
The open, Git-native memory protocol for MCP agents: portable, inspectable, versioned, and human-editable.
Your agent's memory is a Git repo you own.
Every memory is a Markdown file you can read. Every change is a commit you can audit. Any MCP agent can connect to it.
Every AI agent has its own memory system. Claude's works only with Claude. ChatGPT's works only with ChatGPT. They're all opaque, vendor-locked, and non-portable.
Elefante takes a different approach. Instead of optimizing for retrieval quality, it optimizes for ownership, auditability, and portability — the things that matter when memory is a first-class asset, not a hidden implementation detail.
| Question | Answer |
|---|---|
| Who owns my agent's memory? | You do. It's a Git repo. |
| What does my agent know about me? | cat memories/user/*.md |
| What changed since last week? | git log --since="1 week ago" |
| How do I use it across Claude, Codex, and Cursor? | Point them at the same MCP server. |
| How do I back it up? | Every clone is a full backup. |
| How do I undo a bad memory? | git revert |
# Install
npm install -g elefante-mcp
elefante init git@github.com:yourname/my-memory.git
elefante add \ --name "TypeScript strict mode" \ --type user \ --body "Always enable strict: true in tsconfig.json"
elefante search "typescript"
elefante status
From the terminal (before starting Claude Code):
claude mcp add --scope user elefante -- npx -y elefante-mcp mcp
From inside Claude Code (during a session):
/mcp add --scope user elefante -- npx -y elefante-mcp mcp
Or manually — add to your MCP config (~/.claude.json, .cursor/mcp.json, etc.):
{
"mcpServers": { "elefante": { "command": "npx", "args": ["-y", "elefante-mcp", "mcp"] } } }
Cursor / VS Code / Codex — same config. Any agent that speaks MCP can read and write to the same vault.
Once connected, your agent gets 7 tools: memory_write, memory_read, memory_search, memory_list, memory_update, memory_delete, memory_sync.
Elefante injects your top memories directly into the agent's system prompt at startup via MCP instructions. The agent sees your preferences, feedback, and project context without needing to search first.
No CLAUDE.md hacks. No "search my elefante memory" prompts. It just works.
Elefante auto-detects which project you're in and scopes memories accordingly. No configuration needed.
When the MCP server starts, it reads the git remote from your working directory:
~/Projects/acme-api/ → git remote = github.com:you/acme-api.git
→ profile = "you/acme-api" → memories scoped to this project
~/Projects/my-cli/ → git remote = github.com:you/my-cli.git → profile = "you/my-cli" → different project, different memories
| You say | What happens |
|---|---|
| "Remember this project uses Postgres 16" | Stored with profile: you/acme-api (project-scoped) |
| "Remember I prefer Bun over npm" | Agent stores with profile: global → null (applies everywhere) |
| "Remember the staging URL is staging.acme.io" | Stored with profile: you/acme-api (project-scoped) |
The agent decides based on context. User preferences and behavioral feedback are typically global. Project details and references are typically scoped.
Working in acme-api:
✓ "Uses Postgres 16" (profile: you/acme-api) ✓ "Prefers Bun over npm" (profile: null — global) ✗ "Uses SQLite" (profile: you/my-cli — different project)
Working in my-cli: ✓ "Uses SQLite" (profile: you/my-cli) ✓ "Prefers Bun over npm" (profile: null — global) ✗ "Uses Postgres 16" (profile: you/acme-api — different project)
Global memories always show up. Project memories only show up in their project.
| Profile value | Meaning |
|---|---|
| *(omitted)* | Auto-scope to detected project |
"global" | Explicitly global — no project scope |
"all" | Search/list across every project |
"owner/other-repo" | Explicitly target a different project |
Every memory is a Markdown file with YAML frontmatter. You can open it in any editor.
---
id: mem_a1b2c3d4e5f6 type: feedback name: No database mocking in tests description: Integration tests must use real database connections profile: you/acme-api importance: 3 tags: [testing, database] created_at: "2026-04-14T10:30:00Z" updated_at: "2026-04-14T14:22:00Z"
Do not mock the database in integration tests — use a real connection to a test database.
Why: Mocked tests passed but the production migration failed because the mock didn't reflect actual schema constraints.
How to apply: Use the test database helper (createTestDb()) instead of jest mocks.
$ git log --oneline
f4a2c1e remember: No database mocking in tests b3d8e7a remember: TypeScript strict mode preference a1c9f2b update: REST to GraphQL migration deadline 9e7d4c3 forget: Outdated staging URL 2f8a6b1 Initialize elefante vault
Every write is remember:. Every update is update:. Every delete is forget:. Your memory has a clean, auditable history.
~/.elefante/vault/
├── .elefante/ │ └── config.yaml # Vault settings ├── memories/ │ ├── user/ # Who the user is │ │ └── mem_*.md │ ├── feedback/ # How the agent should behave │ │ └── mem_*.md │ ├── project/ # Active work context │ │ └── mem_*.md │ └── reference/ # External resource pointers │ └── mem_*.md ├── profiles/ │ └── *.yaml # Named scopes for partitioning └── index/ ├── manifest.json # All memory metadata (generated) └── search.json # Search index (generated)
Four types. Intentionally constrained — a small taxonomy forces good classification.
| Type | What to store | Typically scoped to |
|---|---|---|
user | Facts about you — role, preferences, expertise | Global |
feedback | Agent behavior guidance — corrections, confirmations | Global |
project | Active work context — goals, deadlines, decisions | Project |
reference | External pointers — URLs, dashboards, tools | Project |
Elefante doesn't reinvent auth. It uses whatever Git credentials you already have.
Resolution order:
gh auth token (if GitHub CLI is installed)ELEFANTE_GITHUB_TOKEN environment variable~/.elefante/config.json token fieldIf git or gh is authenticated, Elefante works with zero config.
elefante init <repo-url> Clone vault repo to ~/.elefante/vault/
elefante status Vault status, sync state, memory count elefante list [--type TYPE] List memories with filters elefante search Search by keyword elefante read Read a specific memory elefante add Create a memory elefante delete Delete a memory elefante sync Pull and push changes elefante reindex Rebuild search index elefante mcp Start MCP stdio server
Elefante doesn't compete on retrieval quality. It competes on ownership.
| Elefante | Claude/ChatGPT Memory | Mem0 / Zep | |
|---|---|---|---|
| You own the data | Git repo you control | Vendor-controlled | Self-hosted or SaaS |
| Human-readable | Markdown files | No | No |
| Version history | Git log for free | No | No |
| Agent-agnostic | Any MCP agent | Single vendor | Yes |
| Zero infrastructure | Git + local process | N/A (managed) | Server + database |
| Offline access | Local clone | No | No |
| Auto project scoping | Detects git remote | Per-conversation | Manual |
| Semantic search | Not yet (planned) | Yes | Yes |
"Why not Obsidian + MCP plugin?" — Obsidian is a tool for humans that agents can access. Elefante is a tool for agents that humans can access. Same data format (Markdown + Git), different design center.
The full protocol specification — memory model, vault structure, MCP interface, concurrency model, indexing, security considerations — is in PROTOCOL.md.
MIT