ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Engram Server

โดย jamjet-labsรุ่น 0.5.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.jamjet-labs/engram-server

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Durable memory for AI agents: fact extraction, hybrid retrieval, temporal graph. SQLite/Postgres.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ฐานข้อมูลและชุดข้อมูล

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • Dockerติดตั้ง Docker ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "engram": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/jamjet-labs/engram-server:0.5.0"
      ]
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add engram -- docker run -i --rm ghcr.io/jamjet-labs/engram-server:0.5.0

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "engram": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/jamjet-labs/engram-server:0.5.0"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "engram": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/jamjet-labs/engram-server:0.5.0"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub jamjet-labs ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด ฐานข้อมูลและชุดข้อมูลi

  • ดาวมากกว่า 0% ของอีก 952 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 9% ของอีก 952 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 952 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Engram Server ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.5.0) เข้า registry 7 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Supabase, MongoDB MCP Server, Elasticsearch MCP Server

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Supabase

โดย supabase

server ทางการของ Supabase ให้ AI สร้างตาราง ถามข้อมูล และดูการตั้งค่าโปรเจกต์ในฐานข้อมูล Supabase ของคุณ

บนเครื่องหรือคลาวด์★ 2,993Apache-2.0อัปเดต วันนี้
ติดตั้ง

MongoDB MCP Server

โดย mongodb-js

MongoDB Model Context Protocol Server

รันบนเครื่อง★ 1,157Apache-2.0อัปเดต เมื่อวานซืน
ติดตั้ง

Elasticsearch MCP Server

โดย cr7258

MCP server for interacting with Elasticsearch

รันบนเครื่อง★ 315Apache-2.0อัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

⚡ Engram

Durable memory for AI agents — temporal knowledge graph, hybrid retrieval, SQLite or PostgreSQL.

java-ai-memory.dev · Main repo · JamJet docs · Discord


Engram is a durable memory layer for AI agents. It extracts facts from conversations, stores them in a temporal knowledge graph, and retrieves them with hybrid semantic + keyword search — backed by a single SQLite file or a PostgreSQL database.

It ships in two shapes:

  • `jamjet-engram` — a Rust library you embed in your own application.
  • `jamjet-engram-server` (this crate) — a standalone binary that speaks MCP over stdio and REST over HTTP, so Claude Desktop, Cursor, and any HTTP client can use it with no code.

Engram is provider-agnostic. Five LLM backends are wired in out of the box, and a sixth — command — lets you shell out to any external script, so you can plug in a provider Engram does not ship natively without touching Rust code:

ENGRAM_LLM_PROVIDER=What it does
ollama (default)Local Ollama via /api/chat. Free, no API keys, runs on your laptop.
openai-compatibleAny endpoint that speaks OpenAI's chat-completions protocol — see the long list below.
anthropicAnthropic Claude via the Messages API.
googleGoogle Gemini via generateContent with native JSON mode.
commandShell out to a user-supplied script. Infinite extensibility, zero recompile.
mockDeterministic tests-only backend — returns empty facts.

Pick one with ENGRAM_LLM_PROVIDER=… — the same binary handles all of them.

State of the project, April 2026. Engram is new — v0.3.2, small community, no public LongMemEval / DMR numbers yet. The architecture below works, the tests pass, the Docker image runs. If you need production-scale memory today, Mem0 Cloud and Zep Cloud are more mature. If you need a tryable, self-hostable, single-binary memory layer that doesn't require Python, Postgres, Qdrant, or Neo4j, Engram is built for you.

Why Engram?

ProblemEngram's answer
Every agent memory library is Python-firstRust core with native Python, Java, and MCP clients — no sidecar required
Needs Postgres + Qdrant + Neo4j just to trySingle SQLite file (zero infra) or Postgres when you need it
Conversation history is not knowledge memoryFact extraction pipeline — pulls structured facts out of messages
Old facts drift and contradict each otherConflict detection + consolidation — decay, promote, dedup, summarize, reflect
Memory recall is either semantic OR keywordHybrid retrieval — vector search + SQLite FTS5 in one query
Agents lose memory across processesDurable by default — SQLite or Postgres, crash-safe, portable
MCP support is an afterthoughtMCP-native — 7 tools exposed by a single binary
No time-travel over what the agent knewTemporal knowledge graph — every fact is scoped and timestamped
Can't isolate memory per user or tenantFirst-class scopes — org / user / session built into every query

Quickstart — 30 seconds

Engram speaks to four LLM providers out of the box: Ollama (default — free, local), OpenAI, Anthropic Claude, and Google Gemini. Pick one.

Option A — Ollama (free, local, zero API keys)

Requirements: Ollama with llama3.2 and nomic-embed-text pulled:

ollama pull llama3.2

ollama pull nomic-embed-text

Docker (easiest):

docker run --rm -i \

-v engram-data:/data \ ghcr.io/jamjet-labs/engram-server:0.3.2

The container defaults to Ollama at host.docker.internal:11434 — works out of the box on Docker Desktop for Mac and Windows. Linux users need --add-host=host.docker.internal:host-gateway.

Option B — Anthropic Claude (hosted, highest quality)
docker run --rm -i \

-e ENGRAM_LLM_PROVIDER=anthropic \ -e ANTHROPIC_API_KEY=sk-ant-... \ -v engram-data:/data \ ghcr.io/jamjet-labs/engram-server:0.3.2

Defaults to claude-haiku-4-5-20251001. Override with -e ENGRAM_ANTHROPIC_MODEL=claude-sonnet-4-6.

Note: Anthropic has no native JSON mode, so Engram parses JSON from text responses. The llm_util::extract_json_payload helper strips markdown fences that Claude occasionally emits.

Option C — Google Gemini
docker run --rm -i \

-e ENGRAM_LLM_PROVIDER=google \ -e GOOGLE_API_KEY=AIza... \ -v engram-data:/data \ ghcr.io/jamjet-labs/engram-server:0.3.2

Defaults to gemini-flash-latest. Override with -e ENGRAM_GOOGLE_MODEL=gemini-2.5-flash.

Option D — Any OpenAI-compatible endpoint
docker run --rm -i \

-e ENGRAM_LLM_PROVIDER=openai-compatible \ -e OPENAI_API_KEY=sk-... \ -v engram-data:/data \ ghcr.io/jamjet-labs/engram-server:0.3.2

Defaults to OpenAI itself (https://api.openai.com/v1, gpt-4o-mini). Change one env var to point at any of these providers without recompiling:

ProviderENGRAM_OPENAI_BASE_URL=Note
OpenAIhttps://api.openai.com/v1default
Azure OpenAIhttps:// .openai.azure.com/openai/deployments/
Groqhttps://api.groq.com/openai/v1very fast inference
Together.aihttps://api.together.xyz/v1
Mistralhttps://api.mistral.ai/v1
DeepSeekhttps://api.deepseek.com/v1
Perplexityhttps://api.perplexity.ai
OpenRouterhttps://openrouter.ai/api/v1one key, many models
Fireworkshttps://api.fireworks.ai/inference/v1
vLLM (self-hosted)http://your-host:8000/v1
LM Studiohttp://localhost:1234/v1local desktop app
LocalAIhttp://localhost:8080/v1self-hosted
Ollama /v1 compat layerhttp://localhost:11434/v1alternate path for Ollama
Your corporate LLM gatewaywhatever URL your infra team exposes

openai is accepted as a backwards-compatible alias for openai-compatible.

Option E — command (shell out to anything)

For providers Engram does not ship natively — an internal model behind a custom RPC, a raw SOAP endpoint, a local inference binary, a quick wrapper over a Python SDK, or tomorrow's new provider — use the command backend. Engram will spawn your script per extraction call, pipe a JSON request to its stdin, and read a JSON response from its stdout.

The contract. Your script reads one JSON object from stdin:

{"system": "<extraction prompt>", "user": "<conversation text>", "structured": true}

Then writes one JSON value to stdout. Either a bare value:

{"facts": [{"text": "...", "entities": [...], "confidence": 0.95, "category": "..."}]}

Or an envelope (useful for surfacing errors):

{"content": {"facts": [...]}}

{"error": "rate limited, try again"}

Exit 0 on success, non-zero (with stderr) on failure.

Example Python wrapper (~15 lines):

#!/usr/bin/env python3

my-llm.py — wraps any Python SDK for Engram.

import json, sys from my_llm_sdk import chat # your SDK

req = json.loads(sys.stdin.read()) resp = chat( system=req["system"], user=req["user"], json_mode=req.get("structured", False), ) sys.stdout.write(json.dumps(resp))

Point Engram at it:

docker run --rm -i \

-e ENGRAM_LLM_PROVIDER=command \ -e ENGRAM_LLM_COMMAND="python /scripts/my-llm.py" \ -v $(pwd)/scripts:/scripts \ -v engram-data:/data \ ghcr.io/jamjet-labs/engram-server:0.3.2

Timeout is 120 seconds by default — override with ENGRAM_LLM_COMMAND_TIMEOUT=30.

Security: the command provider runs arbitrary commands as the Engram process user. Never use it in a multi-tenant deployment where untrusted users can set ENGRAM_LLM_COMMAND. It is a local and single-tenant feature.

Option F — cargo install (all providers same binary)
cargo install jamjet-engram-server

engram serve # ollama (default) ENGRAM_LLM_PROVIDER=anthropic ANTHROPIC_API_KEY=... engram serve ENGRAM_LLM_PROVIDER=command ENGRAM_LLM_COMMAND="python /path/to/wrapper.py" engram serve

Option G — REST mode for testing
engram serve --mode rest --port 9090
curl -X POST http://localhost:9090/v1/memory \

-H 'content-type: application/json' \ -d '{ "user_id": "alice", "messages": [ {"role": "user", "content": "I am allergic to peanuts and I love sourdough."} ] }'

curl 'http://localhost:9090/v1/memory/recall?q=food%20allergies&user_id=alice'

No server. No config. No Python sidecar. One binary.


MCP client configuration

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json)
{

"mcpServers": { "engram": { "command": "docker", "args": [ "run", "--rm", "-i", "-v", "engram-data:/data", "ghcr.io/jamjet-labs/engram-server:0.3.2" ] } } }

Cursor / any MCP-aware IDE

Point it at the same docker run command, or at a locally-installed engram serve binary. After restart, eleven tools are available to the model (seven memory_* + four messages_*).


MCP tools

Memory tools (7)
ToolWhat it does
memory_addExtract and store facts from conversation messages (calls the LLM for extraction)
memory_recallSemantic search over stored facts, scoped by user_id / org_id
memory_contextAssemble a token-budgeted context block for an LLM prompt, with tier-aware selection
memory_searchKeyword search over facts (SQLite FTS5 / Postgres full-text)
memory_forgetSoft-delete a fact by ID with an optional reason
memory_statsAggregate counts: total facts, valid facts, entities, relationships
memory_consolidateRun a consolidation cycle — decay stale facts, promote high-value ones, dedup near-duplicates

All scoped by (org_id, user_id, session_id) — org is the coarsest, session the finest.

Message store tools (4)
ToolWhat it does
messages_saveSave chat messages for a conversation (optionally triggers fact extraction)
messages_getGet all messages for a conversation by ID
messages_listList all conversation IDs
messages_deleteDelete all messages for a conversation

REST API

Thirteen endpoints, rooted at /v1/memory. Full OpenAPI-style surface:

MethodPathHandler
GET/healthLiveness probe
POST/v1/memoryAdd messages (fact extraction)
GET/v1/memory/recall?q=…&user_id=…Semantic recall
POST/v1/memory/contextToken-budgeted context assembly
GET/v1/memory/search?q=…&user_id=…Keyword search
GET/v1/memory/statsAggregate statistics
POST/v1/memory/consolidateTrigger consolidation
DELETE/v1/memory/facts/:idForget a fact
DELETE

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx