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

Puenteo

โดย mano7onamรุ่น 0.13.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.mano7onam/puenteo

ติดตั้ง

ภาพรวม

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

Let coding agents talk: search every agent session's history and message live sessions.

สามเสาของ PopNx MCP

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

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

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

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

ติดตั้ง

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

ก่อนติดตั้ง

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

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

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

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

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

{
  "mcpServers": {
    "puenteo": {
      "command": "uvx",
      "args": [
        "puenteo",
        "mcp"
      ]
    }
  }
}

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

claude mcp add puenteo -- uvx puenteo mcp

เปิดใน Cursor

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

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

{
  "mcpServers": {
    "puenteo": {
      "command": "uvx",
      "args": [
        "puenteo",
        "mcp"
      ]
    }
  }
}

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

เปิดใน VS Code

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

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

{
  "servers": {
    "puenteo": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "puenteo",
        "mcp"
      ]
    }
  }
}

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

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

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

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

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

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

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

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

  • ✓ ผ่าน

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

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

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

    ยังมีคนดูแล

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

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

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

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

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

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

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

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

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

Puenteo ปลอดภัยไหม?

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

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

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

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

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

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

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

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

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

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

ในหมวดเดียวกันมี 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

puenteo

Let your coding agents talk to each other.

When you run Claude Code in one terminal, Codex in another and Gemini or Cursor in the IDE, they can't see each other. One renames a column, another breaks on it, and you end up copy-pasting context between windows. puenteo gives every session on your machine:

  • 🔎 Shared memory: ranked full-text search over the history of every local agent (Claude Code, Codex, Gemini/Antigravity, Cursor, Copilot, OpenCode, Grok, Pi, Qwen, Continue, Aider, OpenHands, Goose), plus structured handoffs: goal, state, files, commits, failures.
  • 💬 Live messaging: see who's running (puenteo ps), ask another session a question and wait for its answer, broadcast to the project, share #channels.
  • 🔒 Coordination: claim files or dirs so parallel agents don't edit the same code. Optional git pre-commit guard.
  • 🔌 Every interface: CLI, MCP (stdio + HTTP), hooks, instant watch, HTTP/SSE, an A2A v1.0 facade, a web dashboard and Python, set up by one puenteo install.

*Codex asks Claude about a schema change and gets the answer two seconds later. Claude claims src/db, Cursor reports its frontend fix and Gemini checks a number for the release notes. All of it runs locally: one SQLite file, no daemon, no network.*

*Puenteo* comes from Spanish *puente* (bridge).

No runtime dependencies · Python ≥ 3.9 · macOS · Linux · Windows · optional Rust core

Install

uv tool install puenteo        # or: pipx install puenteo / pip install puenteo

uv tool install 'puenteo[fast]' # + optional Rust core: 3–8x faster parsing and indexing puenteo install # skills + MCP server into every detected agent puenteo install --hooks # optional: deliver messages through Claude Code / Codex hooks puenteo install --dry-run # show the plan without changing anything

install is idempotent. It edits only its own puenteo entry in each config, backs up every file it touches (*.puenteo-bak), and puenteo uninstall reverts it.

Claude Code plugin (skills + MCP + hooks + /peers, /ask, /handoff):

claude plugin marketplace add mano7onam/puenteo

claude plugin install puenteo@puenteo

Talk to running sessions

$ puenteo ps

AGENT SESSION STATUS SEEN MAIL NAME CWD claude 500a1d65 busy 2m ultimate-agent-4-72 ~/dev/ultimate-agent-4

  • claude 87652461 busy 0s puenteo-57 ~/dev/puenteo codex 01a11123 - 4m Finish performance tests ~/dev/ultimate-agent-4
puenteo whoami                                    # your own address, e.g. claude:87652461-…

puenteo send codex:01a11123 "Which branch has the perf tests?" --wait 300 puenteo send @reviewer "PR ready: feat/x" # peers can pick a name: puenteo join --name reviewer puenteo send cwd:. "Refactoring src/db, keep out for 30 min" # everyone in this project puenteo send '#release' "v0.7 tagged" # channels (posting joins) puenteo send agent:codex "…" | puenteo send '*' "…" puenteo inbox # read your messages puenteo reply "answer" # routes back to the sender or channel puenteo wait -t 120 # block until a message arrives puenteo watch # stream incoming messages (for an agent's monitor) puenteo log -f # watch all bus traffic puenteo claim src/db --note "migration 0042" # advisory lock; conflicts with overlapping claims puenteo claims --check src/db/schema.sql # exit 1 if a peer holds it

Addresses: agent:session-id (a unique prefix works) · @name · #channel · agent: · cwd: · *

How messages reach a session:

AgentWoken while idleWhile working
Codexyes, pushed via codex queuehooks / MCP inbox
Claude Codeyes, when the session runs puenteo watch under its Monitor toolhooks (install --hooks) / MCP inbox
Gemini, Cursor, OpenCode, Copilot, Qwen, …no; the message waits in the inboxMCP inbox / wait

All messages live in one local SQLite file (puenteo state dir) and nothing leaves the machine. Bodies are wrapped as untrusted peer data: agents are told that peer messages never count as user instructions or approval. A hop limit, a rate limit and a size cap keep agents from looping.

Across machines: the mesh 🌐

Sessions on different computers find each other and talk peer to peer: one to one, or many to many in rooms. There are no servers to run:

puenteo mesh service install            # on each machine, once: runs the bridge at login (launchd/systemd/Task Scheduler)

or in the foreground: puenteo mesh up

puenteo mesh peers # other machines and their live sessions puenteo send claude:8765@laptop "…" # any local address + @node reaches another machine puenteo offer "I know the payments service, can run its tests" -t payments # publish to the bazaar puenteo find "who can run payments tests" # ranked search across machines puenteo ask "are tests green on main?" --wait 300 puenteo room join war-room [--secret …] && puenteo send '#war-room@*' "…" # many-to-many, optional E2E secret puenteo mesh relay --port 7777 # optional: a self-hosted relay for your team

  • Transports: zero-config LAN (UDP multicast + direct HTTP), public Nostr relays that get through NAT, a self-hosted relay, or a direct VPN/Tailscale peer.
  • Security: every message is a signed event (BIP-340 Schnorr). Direct messages are end-to-end encrypted (NIP-44 v2) and private rooms use a shared secret. The default is closed: a remote message gets in only if it replies to your own thread, is addressed to a session that published an offer, comes from a node you trusted, or arrives in a room you joined. Rate limits and a hop limit apply across machines.
  • Pure stdlib: the crypto passes the official BIP-340 and NIP-44 test vectors, and real public relays accept its events.
  • Remote messages enter the local bus, so hooks, codex queue, Monitor, MCP and the dashboard all work with them unchanged. See docs/MESH.md.

Ways in: pick what fits your agent or tool

InterfaceUse it forCommand / endpoint
CLIany agent with a shell, scriptspuenteo send/inbox/ps/search … (--json everywhere)
MCP (stdio)Claude Code, Codex, Gemini, Cursor, OpenCode, Copilot, Qwenpuenteo mcp (installed by puenteo install)
Hooksmessages show up in context with no tool callpuenteo install --hooks (Claude Code, Codex)
Monitor / streamwake an idle Claude session the moment mail arrivespuenteo watch (instant; Unix-socket doorbell)
Exec triggerglue for anything: notify-send, Slack, scriptspuenteo watch --exec 'cmd' (message JSON on stdin)
HTTP REST + SSEdashboards, editors, other languagespuenteo serve → /api/*, /api/events
MCP over HTTPMCP clients that prefer HTTPPOST /mcp on puenteo serve
A2A v1.0standard agent-to-agent clients/.well-known/agent-card.json, POST /a2a
Web dashboardwatching and talking to all sessions in a browserpuenteo serve --open
Pythonyour own orchestratorspuenteo.send(), for m in puenteo.listen(): …, puenteo.Bus
Git guardstop commits that touch a file a peer claimedpuenteo guard install

puenteo serve binds only to 127.0.0.1 and needs a bearer token, stored in a 0600 file (puenteo serve --print-token). It rejects any non-localhost Host or Origin header, which blocks DNS rebinding, as the MCP spec recommends for local HTTP servers.

Speed

pure Pythonwith puenteo[fast] (Rust core)
parse transcripts (25 largest, 3.3 GB)~300 MB/s0.8–2.7 GB/s, all cores
cold index rebuild (807 Codex + Claude sessions, ~4 GB)14.8 s4.3 s
global search after new activity~14 s~2 s
warm list (4.5k sessions) / warm search0.3 s / 0.25 ssame
message delivery (send → woken reader)0.8 ms mediansame

The Rust core (native/, PyO3 abi3 wheels) is optional. Without it, puenteo stays pure Python with no dependencies. A test checks that both parsers produce byte-identical output on real logs. Set PUENTEO_NATIVE=0 to force pure Python.

MCP server

puenteo mcp is a stdio MCP server with no dependencies, one process per agent session. It detects which session it serves from the parent-process chain, registers on the bus, and exposes these tools:

  • history: sessions, search, outline, pull, show
  • live: whoami, peers, send, reply, inbox, wait, thread, channels, subscribe, set_name, claim, release, claims

puenteo install registers it for Claude Code (claude mcp add -s user), Codex (codex mcp add), Gemini, Qwen, Cursor, OpenCode, Copilot and Antigravity.

Search and pull history

puenteo search "gatekeeper dmg" --exclude-self       # ranked over ALL sessions (FTS5 index), ~0.2 s

puenteo search "topic" --cwd . --since 2026-09-01 puenteo list --cwd . -n 20 # git-style unique id prefixes puenteo outline # milestones with message #index puenteo pull --mode handoff # goal + decisions + latest state, budgeted puenteo pull --query "topic" --mode query # relevant messages + neighbours puenteo pull --around 500 --radius 5 puenteo show --range 100:120 puenteo export -f md|html|pdf|json|zip|csv|xml|yaml|all -o out puenteo index --stats # the index refreshes itself; --clear to reset

can be a unique id prefix, provider:id, @self, @last, @last:codex, a path, or a title substring. An ambiguous prefix fails with exit code 4 and prints the candidates; puenteo never picks one silently.

Library

import puenteo

for s in puenteo.list_sessions(limit=10, cwd="~/dev/myapp"): print(s.provider, s.session_id, s.title)

hits = puenteo.search("gatekeeper dmg", exclude_session="my-current-id") msgs = puenteo.pull(hits[0].session.session_id, query="dmg", mode="query") puenteo.export_session("019f7a24", fmt="md", output="chat.md")

from puenteo.bus import Bus with Bus() as bus: bus.send("claude:8765…", "@reviewer", "PR ready") for m in bus.inbox("codex:01a1…"): print(m.sender, m.body)

Providers

ProviderStore
Claude Code~/.claude/projects/**/*.jsonl (meta entries skipped, streamed fragments merged)
Codex~/.codex/sessions/**/rollout-*.jsonl + state_*.sqlite titles; subagents keep their own ids
Gemini CLI~/.gemini/tmp/**
Antigravity~/.gemini/antigravity/brain/*/…/transcript*.jsonl
Grok~/.grok/sessions/**/chat_history.jsonl
Pi~/.pi/agent/sessions/**/*.jsonl

| Qwen Code | `~/.qwen/projects/**/c

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

ถาม PopNx