GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
RAM-only HTTP debugging proxy and MCP server in Go. AI agents see salted tags, never secrets.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผู้ทำยังไม่ได้ใส่วิธีติดตั้งใน registry ให้ดู README ของผู้ทำด้านล่าง
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub VoxNode-ux ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.2) เข้า registry 9 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code
ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A zero-dependency, RAM-only network inspector that lets your AI assistant debug HTTP, HTTPS and WebSocket traffic, with every secret scrubbed before the model ever sees it.
Quick start · How it works · What gets redacted · MCP tools · Configuration · CLI reference · Security model
Your AI assistant is great at debugging an API call, until the request it needs to read carries an Authorization header, a session cookie, a database URL or a customer's email. Pasting raw traffic into a chat means pasting your secrets with it.
NullWire sits between your app and the network. It records what passes through, scrubs every secret out of the recorded copy, and hands that clean copy to your assistant through the Model Context Protocol. Your app keeps working exactly as before, because the live traffic is never touched.
your app ──► NullWire (127.0.0.1) ──► the real server
│ ├─ forwards every byte, unmodified └─ keeps a scrubbed copy in RAM ──► your AI assistant (MCP)
| 🪶 Zero dependencies | Go standard library only. One static binary, nothing to install. |
| 🧠 RAM only | The last 50 flows live in memory. The server never writes a file, and a stop signal wipes the buffer. (install edits your MCP client configs, but only when you run it.) |
| 🔒 Loopback only | The proxy binds to 127.0.0.1. A DNS-rebinding guard answers only loopback Host headers. |
| 🧽 Layered redaction | Private keys, JSON/XML/query secrets, JWTs, 50+ vendor key formats, IPs, secrets hiding in base64, and a randomness detector for keys nobody has seen before. |
| 🛡️ Fail-closed shields | Bodies that can't be inspected are refused or flagged, never silently passed to the model. |
| 🔌 HTTP, HTTPS and WebSocket | Plain proxying, blind CONNECT tunnels, a reverse gateway for full HTTPS visibility, and WebSocket text capture in both directions. |
| 🔁 Safe replay | Export any captured request as a curl command with secrets swapped for environment variables. |
| 🔎 Secret scanner | scan and protect look for secrets in your MCP configs, .env, TOML, YAML and ZIP files before they leak. |
| 📱 Runs anywhere | Linux, macOS, Windows, Docker and Termux on Android. |
Pick whichever fits your machine. Every method checks the download against the release's SHA256SUMS.txt and installs nothing if it doesn't match. Release binaries also carry signed GitHub build provenance, and each release includes a CycloneDX SBOM (nullwire-sbom.cdx.json).
With Node.js (no install step): npx
npx -y nullwire-mcp install --client all
Nothing to download by hand: the launcher fetches and verifies the binary on first run and keeps it in a cache folder. Your MCP clients are then set to run npx -y nullwire-mcp.
macOS, Linux and Termux: install script
curl -fsSL https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.sh | sh -s -- --setup
Installs to ~/.local/bin (or $PREFIX/bin on Termux). --setup also registers NullWire with your MCP clients. Drop it to install only. --uninstall removes everything again.
Windows: install script
irm https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.ps1 | iex
nullwire-mcp install --client all
Installs to `%LOCALAPPDATA%\Programs\nullwire-mcp` and adds it to your user PATH. To pass options, run it as `& ([scriptblock]::Create((irm https://raw.githubusercontent.com/VoxNode-ux/nullwire-mcp/main/scripts/install.ps1))) -Setup`.
Homebrew and Scoop
brew install VoxNode-ux/nullwire/nullwire-mcp # macOS, Linux
scoop bucket add nullwire https://github.com/VoxNode-ux/scoop-nullwire # Windows scoop install nullwire-mcp
Both packages are generated from the templates in [`packaging/`](packaging/README.md).
Download a release by hand
| Platform | File |
|---|---|
| Linux x86-64 / ARM64 (Raspberry Pi 4+, Termux) | nullwire-linux-amd64 / nullwire-linux-arm64 |
| Linux ARMv7 (older Raspberry Pi) / RISC-V 64 | nullwire-linux-armv7 / nullwire-linux-riscv64 |
| macOS Intel / Apple Silicon | nullwire-darwin-amd64 / nullwire-darwin-arm64 |
| Windows x86-64 / ARM64 | nullwire-windows-amd64.exe / nullwire-windows-arm64.exe |
| FreeBSD x86-64 | nullwire-freebsd-amd64 |
chmod +x nullwire-linux-amd64
sha256sum -c SHA256SUMS.txt --ignore-missing # verify the download (macOS: shasum -a 256 -c) gh attestation verify nullwire-linux-amd64 --repo VoxNode-ux/nullwire-mcp # optional: verify signed build provenance
</details>
Build from source
go install github.com/VoxNode-ux/nullwire-mcp@latest
git clone https://github.com/VoxNode-ux/nullwire-mcp && cd nullwire-mcp CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o nullwire-mcp .
Go 1.26 or newer. There is nothing to `go get`: the module has no dependencies.
Docker
docker run -i --rm ghcr.io/voxnode-ux/nullwire-mcp
The server speaks MCP over stdio, so run it with -i. The proxy listens on the container's own loopback by design, so a published port (-p) cannot reach it. On Linux, add --network host to use it from the host's 127.0.0.1.
One command registers NullWire with every supported client it finds on your machine:
nullwire-mcp install --client all --dry-run # look first: nothing is written
nullwire-mcp install --client all # then do it, and restart the client
It covers Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, Cline, Roo Code, Gemini CLI and Codex CLI. See Connect your MCP clients for details, or add it by hand:
# Claude Code
claude mcp add nullwire -- /path/to/nullwire-mcp
// Claude Desktop, Cursor, Windsurf, Cline and other JSON-configured clients
{ "mcpServers": { "nullwire": { "command": "/path/to/nullwire-mcp", "args": ["-port", "8080"] } } }
The client starts NullWire, and NullWire starts the proxy in the same process. A live status bar on stderr shows what is happening:
⚡ [NullWire-MCP] Proxy 127.0.0.1:8080 | RAM Ring: 3/50 | Scrubbed: 7 Tokens, 2 Cookies, 1 IPs | Disk: 0B
# Plain HTTP through the proxy
curl -x http://127.0.0.1:8080 http://httpbin.org/headers
curl -x http://127.0.0.1:8080 https://example.com
nullwire-mcp -target https://api.example.com curl http://127.0.0.1:8080/v1/things -H "Authorization: Bearer sk-live-..."
*"Use
inspect_trafficto show my last 5 requests and tell me why the third one returned 401."*
flowchart LR
A[Your app or curl] -->|HTTP_PROXY / base URL| P[NullWire proxy 127.0.0.1:8080] P -->|unmodified bytes| S[(Real server)] S -->|unmodified bytes| P P --> C[Capture copy] C --> R[Redaction layers] R --> B[(RAM ring 50 flows)] B -->|MCP over stdio| M[AI assistant]
The key idea: the model reads a scrubbed copy, your app talks to the real server. Nothing the proxy forwards is rewritten, so debugging never changes the behaviour you are debugging.
| Mode | How you use it | What the assistant sees |
|---|---|---|
| Forward proxy | HTTP_PROXY=http://127.0.0.1:8080 and http:// URLs | Full request and response, scrubbed |
| HTTPS tunnel | HTTPS_PROXY=http://127.0.0.1:8080 (CONNECT) | Only the target host:port, timing and byte counts. The encrypted payload is never opened. |
| Reverse gateway | Point your app's base URL at http://127.0.0.1:8080 and start with -target https://… (or send an X-Target-URL header) | Full HTTPS request and response, scrubbed. NullWire makes the TLS connection to the real server. |
| WebSocket | Any Upgrade: websocket request through either proxy mode | Text messages in both directions, scrubbed, as one flow recorded when the connection closes. Frames are forwarded unmodified. |
Why no HTTPS interception? Reading HTTPS from a forward proxy would require a custom root certificate installed on your machine. That is key material and a trust-store change, the opposite of a zero-footprint tool. The reverse gateway gets you the same visibility with no certificate games.
Give each upstream a name. The first path segment picks the upstream and is removed before forwarding:
nullwire-mcp -target openai=https://api.openai.com,anthropic=https://api.anthropic.com
export OPENAI_BASE_URL=http://127.0.0.1:8080/openai/v1 # → https://api.openai.com/v1 export ANTHROPIC_BASE_URL=http://127.0.0.1:8080/anthropic # → https://api.anthropic.com
Names are letters, digits, ., _ and - (up to 32 characters, case-insensitive). One unnamed URL may be added as the default for paths that match no name. An X-Target-URL header overrides everything for a single request.
NullWire exposes three tools over stdio. It speaks MCP protocol versions 2026-07-28, 2025-11-25 and 2024-11-05, and accepts JSON-RPC batches.
| Tool | What it does | Arguments |
|---|---|---|
inspect_traffic | Returns recent scrubbed flows. | limit (1 to 50, default 10), method, url_filter |
export_sanitized_curl | Rebuilds a captured request as a curl command. Redacted values become environment variables you fill in yourself. | flow_id (required) |
clear_ram_buffer | Wipes all 50 slots and resets the counters. | none |
A flow looks like this (illustrative):
{
"id": 7, "timestamp": "2026-10-31T09:14:02Z", "method": "POST", "url": "https://api.example.com/v1/charge", "request_headers": { "Authorization": "[REDACTED_TOKEN#a1b2c3]", "Content-Type": "application/json" }, "request_body": "{\"card_token\":\"[REDACTED_TOKEN#9f3e21]\",\"amount\":4200}", "status_code": 401, "response_body": "{\"error\":\"invalid_api_key\"}", "latency_ms": 143, "redaction_count": 2 }
Tags are stable and correlatable. [REDACTED_TOKEN#a1b2c3] is a short salted hash, so the same secret gets the same tag everywhere in one run. Your assistant can see that two requests used the *same* token without learning it. The salt is random per run, so tags can't be compared across restarts or reversed.
Tag kinds: TOKEN, COOKIE, IP and KEY (private key
ตัดมาแค่ช่วงต้น อ่านต่อใน repo