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

server-noonien

โดย sequicoรุ่น 1.1.2i★ –iรันบนเครื่อง
ชื่อใน registryio.github.sequico/server-noonien

ติดตั้ง

ภาพรวม

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

Shared, serverless, conflict-free knowledge-graph memory for AI agents

สามเสาของ PopNx MCP

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

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

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

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

ติดตั้ง

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

ก่อนติดตั้ง

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

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

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

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

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

{
  "mcpServers": {
    "server-noonien": {
      "command": "npx",
      "args": [
        "-y",
        "server-noonien"
      ],
      "env": {
        "NOONIEN_DIR": "ใส่ค่าของคุณ",
        "NOONIEN_NODE_ID": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

claude mcp add server-noonien --env NOONIEN_DIR='ใส่ค่าของคุณ' --env NOONIEN_NODE_ID='ใส่ค่าของคุณ' -- npx -y server-noonien

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

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

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

{
  "mcpServers": {
    "server-noonien": {
      "command": "npx",
      "args": [
        "-y",
        "server-noonien"
      ],
      "env": {
        "NOONIEN_DIR": "ใส่ค่าของคุณ",
        "NOONIEN_NODE_ID": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

เปิดใน VS Code

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

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

{
  "servers": {
    "server-noonien": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "server-noonien"
      ],
      "env": {
        "NOONIEN_DIR": "ใส่ค่าของคุณ",
        "NOONIEN_NODE_ID": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

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

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

ค่าที่ต้องใส่เอง

  • NOONIEN_DIR env
    Directory holding this machine's shards (default ~/.noonien).
  • NOONIEN_NODE_ID env
    This node's shard name (default the hostname). Must be unique per machine.

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

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

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

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

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

  • ✓ ผ่าน

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

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

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

    ยังมีคนดูแล

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

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

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

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

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

เทียบกับตัวอื่นในหมวด ค้นข้อมูลและความจำของ AIi

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

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

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

server-noonien ปลอดภัยไหม?

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

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

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

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

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

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

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.1.2) เข้า registry 11 วันที่ผ่านมา

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

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

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

ในหมวดเดียวกันมี Context7, Codebase Memory, Exa

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

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

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

Context7

โดย upstash

ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว

บนเครื่องหรือคลาวด์★ 64,224MITอัปเดต 3 วันที่ผ่านมา
ติดตั้ง

Codebase Memory

โดย DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

รันบนเครื่อง★ 48,148MITอัปเดต 20 วันที่ผ่านมา
ติดตั้ง

Exa

โดย exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

รันบนคลาวด์★ 5,213MITอัปเดต 44 วันที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

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

server-noonien

Shared, serverless, conflict-free memory for AI agents — with peer-to-peer sync.

server-noonien is a drop-in replacement for the official @modelcontextprotocol/server-memory knowledge graph — the same entities, observations and relations — that converges across machines with no central server, no database and no merge conflicts.

Its headline feature is peer-to-peer sync: the nooniend daemon replicates each node's shard directly to the others, so several machines share one memory with no shared folder — only IP reachability over a VPN or a LAN.

Table of contents

  • Why server-noonien
  • The problem
  • How server-noonien solves it
  • Comparison
  • The three commands
  • Share across machines
  • Peer to peer — nooniend (recommended)
  • The daemon HTTP API
  • Shared area — file and s3
  • Configuration
  • Shared variables
  • Server variables
  • Daemon variables
  • How it works
  • Compaction
  • Deletion and collection
  • Tools
  • Drop-in compatibility
  • Security
  • Development
  • Why the name noonien?
  • Documentation
  • License & Disclaimer
  • Support the Project

Why server-noonien

The problem

Agent memory today is local, and the official memory server is a single JSONL file that every mutation reads and rewrites in full. That breaks the moment you have more than one machine:

  • It lives on one host. Switch machine and your agent has forgotten everything.
  • Sharing it over a synced folder loses writes. The server serializes mutations *in-process only*: two hosts each load the whole graph, mutate their own copy and write it back, so the last write silently discards the other's — and the sync tool forks the file into conflict copies instead of merging it.
  • The alternatives want a server, a database or a cloud. The mainstream "shared memory" products are something you have to host, or they ship your memory off your machines.
How server-noonien solves it

server-noonien removes the shared file and the central server at the root, and keeps the drop-in tool surface:

  • Every node keeps its own memory. Each machine writes only its own append-only shard ( .jsonl); a shard has a single writer by design, so no two nodes ever write the same file and noonien itself never forks one — a shared area's syncer still can, and a conflict copy is just another shard to fold.
  • Shards merge, they do not overwrite. The graph is a CRDT — an LWW-Element-Set ordered by (HLC, node, sequence) — whose merge is idempotent, commutative, associative and convergent. Any two machines that have seen the same operations hold the identical graph, in any order, so there is no "last write wins" data loss.
  • No shared area, no central server. The shards travel directly between machines with the nooniend daemon — only IP reachability, over a VPN or a LAN — so several machines share one memory with no shared folder and no service to host. Prefer a folder or a bucket you already have? file and s3 work too: the transport is a choice, not a lock-in.
  • Local-first and offline-friendly. Every node reads and writes its own shard on disk and keeps a full local replica, so it keeps working offline; the mesh reconverges when the network returns.
  • Drop-in for the official server. The same nine tools, inputs and outputs, so it slots under the memory server name with no agent changes — plus the update_*, merge_entities and read_conflicts extensions, the operations the official nine have no equivalent for.

Comparison

server-noonien vs the official memory server vs hosted memory services:

server-noonienOfficial server-memoryHosted memory services
Multi-machineYes — per-node shards, one graphNo — one local fileYes, via the service
Sharing a synced folderSafe — append-only, conflict-freeUnsafe — whole-file read-modify-writeN/A
Needs a server / databaseNoNoYes
Needs a cloud accountNoNoYes
Works offlineYes (file backend)YesNo
StorageFolder or S3-compatible bucket, your choiceOne JSONL fileTheir cloud
Drop-in for the official toolsYes — same nine, plus extension tools—No
Migrationnoonien import memory.jsonl—Export/import dance
ModelExplicit knowledge graphExplicit knowledge graphOften vector/semantic
LicenseMPL-2.0MITProprietary

Hosted is a category, not a product: it covers services that host your memory for you. server-noonien is the local-first opposite — you own the storage and there is no account.

A shared area is required for the file/s3 backends — a folder or an object store every node can reach. nooniend removes that requirement: it replicates the shards directly between nodes.

The three commands

One npm package, `server-noonien`, ships three commands (Node.js ≥ 22). Install it once and all three land on your PATH:

npm install -g server-noonien

The s3 backend's @aws-sdk/client-s3 is an optional dependency, loaded only when NOONIEN_BACKEND=s3 selects it. npm install -g server-noonien --omit=optional skips it when you never use s3.

CommandRoleHow it runs
`server-noonien`the MCP memory servershort-lived, spawned by the MCP client over stdio
`noonien`the maintenance CLIone-shot, run by hand
`nooniend`the peer-to-peer replication daemonlong-lived, one per machine

Only server-noonien matches the package name, so it is the only command npx can run by package name. Run the other two with --package, or from the global install above:

npx -y server-noonien                       # the MCP server (no argument serves over stdio)

npx -y -p server-noonien noonien help # the maintenance CLI npx -y -p server-noonien nooniend # the replication daemon

From a clone — for development, or to run code not yet on npm:

git clone https://github.com/sequico/server-noonien.git

cd server-noonien && npm install && npm run build

node dist/index.js # server-noonien — the MCP server node dist/noonien.js # noonien — the maintenance CLI node dist/gossip.js # nooniend — the replication daemon

server-noonien — the MCP server

The entry every MCP client uses. With no argument (or serve) it speaks MCP over stdio, so you don't run it yourself — the client spawns it and it lives for the session:

npx -y server-noonien                          # the stdio command the client runs

claude mcp add memory -- npx -y server-noonien # register it with Claude Code as the memory server

Point your client at it; it works on one machine out of the box, and sharing across machines is the next step. In OpenCode (V2):

{

"$schema": "https://opencode.ai/config.json", "mcp": { "servers": { "memory": { "type": "local", "command": ["npx", "-y", "server-noonien"], "environment": { "NOONIEN_DIR": "~/.noonien" } } } } }

Other clients wrap the same command and environment in their own envelope; from a clone the command is ["node", "/path/to/server-noonien/dist/index.js"]. Because the nine drop-in tools are identical, you can replace the memory server entry with server-noonien and change nothing else.

noonien — the maintenance CLI
CommandDoes
noonien serverun the MCP memory server over stdio (the same as server-noonien)
noonien import import an official server-memory JSONL file (writes its own -import shard, so it runs online)
noonien exportprint the folded knowledge graph as JSON
noonien mergefold every shard and report the merged state
noonien compactmaintain this node's shard now: prune shadowed operations and, only where it is safe, physically delete its tombstones — the same rule the server applies (NOONIEN_GC; with a daemon that owns the directory it keeps the whole view and leaves the shard to the daemon) — and report why when it keeps them
noonien query search entities and print the matching subgraph
noonien helplist the commands; noonien --version prints the version
nooniend — the daemon

A long-lived service, one per machine, that replicates the shard directory peer to peer. It takes no arguments and is configured entirely through environment variables — the shared NOONIEN_DIR and NOONIEN_NODE_ID (Shared variables) plus the daemon's NOONIEND_* (Daemon variables). See Peer to peer for the setup.

Share across machines

noonien merges shards; it does not move them by itself. How the shards travel between machines is your choice: peer to peer (a companion daemon — the recommended default) or a shared area (a folder or a bucket that already exists). The MCP server always reads and writes its own local shard; only the transport differs.

Peer to peer — nooniend (recommended)

The recommended way to share one memory across machines with no shared storage. nooniend is a long-lived daemon that replicates the local shard directory peer to peer. It only needs IP reachability, so it runs over any VPN (WireGuard, Tailscale, OpenVPN, Netbird, ZeroTier, …) or a plain LAN.

Give each machine a unique node id and run one nooniend per machine. Every daemon keeps a full replica of the others' shards beside its own, in the same local directory the MCP server uses — no shared folder required:

# on a tailnet

NOONIEN_DIR=~/.noonien \ NOONIEND_TAILSCALE=true \ nooniend

or, with no self-listing underlay, seed one reachable peer

NOONIEN_DIR=~/.noonien \ NOONIEND_PEERS=ai.example:49778 \ nooniend

The peers find each other — you never list the machines. Configure one discovery source: NOONIEND_TAILSCALE (from tailscale status), NOONIEND_DNS_SRV (the _nooniend._tcp SRV records), or NOONIEND_PEERS (a static seed; one is enough, membership then self-propagates). A discovery source returns candidates, not members: a candidate joins only once it answers /info, so a machine on the network that does no

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

ถาม PopNx