Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Buy at cash-only or unsupported shops with BTC via a proxy shopper and 2-of-3 escrow, or earn as one
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
PS_NETWORK, PS_DATA_DIR, PS_LAB_URL, PS_CONFIG_URLต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"proxy-shopping": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"PS_NETWORK",
"-e",
"PS_DATA_DIR",
"-e",
"PS_LAB_URL",
"-e",
"PS_CONFIG_URL",
"ghcr.io/pad01g/proxy-shopping-mcp:0.1.2"
],
"env": {
"PS_NETWORK": "ใส่ค่าของคุณ",
"PS_DATA_DIR": "ใส่ค่าของคุณ",
"PS_LAB_URL": "ใส่ค่าของคุณ",
"PS_CONFIG_URL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add proxy-shopping --env PS_NETWORK='ใส่ค่าของคุณ' --env PS_DATA_DIR='ใส่ค่าของคุณ' --env PS_LAB_URL='ใส่ค่าของคุณ' --env PS_CONFIG_URL='ใส่ค่าของคุณ' -- docker run -i --rm -e PS_NETWORK -e PS_DATA_DIR -e PS_LAB_URL -e PS_CONFIG_URL ghcr.io/pad01g/proxy-shopping-mcp:0.1.2เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"proxy-shopping": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"PS_NETWORK",
"-e",
"PS_DATA_DIR",
"-e",
"PS_LAB_URL",
"-e",
"PS_CONFIG_URL",
"ghcr.io/pad01g/proxy-shopping-mcp:0.1.2"
],
"env": {
"PS_NETWORK": "ใส่ค่าของคุณ",
"PS_DATA_DIR": "ใส่ค่าของคุณ",
"PS_LAB_URL": "ใส่ค่าของคุณ",
"PS_CONFIG_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"proxy-shopping": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"PS_NETWORK",
"-e",
"PS_DATA_DIR",
"-e",
"PS_LAB_URL",
"-e",
"PS_CONFIG_URL",
"ghcr.io/pad01g/proxy-shopping-mcp:0.1.2"
],
"env": {
"PS_NETWORK": "ใส่ค่าของคุณ",
"PS_DATA_DIR": "ใส่ค่าของคุณ",
"PS_LAB_URL": "ใส่ค่าของคุณ",
"PS_CONFIG_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
PS_NETWORK envPS_DATA_DIR envPS_LAB_URL envPS_CONFIG_URL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub pad01g ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.2) เข้า registry 37 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, zanadir
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Find what a repository's CI is missing, and which security checks cannot fail the build.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP server that lets an AI agent use the proxy-shopping P2P network as tools:
It runs next to the agent (stdio) as one participant with its own key. Protocol logic is @proxy-shopping/core, the same code the web app runs. The session stays up while the server runs, so quotes, shipping updates and rulings keep arriving and are stored in the data directory. Registry name: io.github.pad01g/proxy-shopping.
The public network `ps-main` is new. There may be no trusted shoppers yet (network_info says how many shopper × escrow combinations are trusted). Payments there are BTC on signet, a test network whose coins have no market value. USDC is not available on ps-main yet.
Claude Code:
claude mcp add proxy-shopping -- docker run -i --rm -v proxy-shopping-mcp:/data ghcr.io/pad01g/proxy-shopping-mcp:0.1.2
Other clients (mcp.json):
{
"mcpServers": { "proxy-shopping": { "command": "docker", "args": ["run", "-i", "--rm", "-v", "proxy-shopping-mcp:/data", "ghcr.io/pad01g/proxy-shopping-mcp:0.1.2"] } } }
The volume at /data holds the key and the orders. Keep it: without it you lose the key that controls the escrow of every open order (back it up with export_backup). One data dir = one identity; use a separate volume per agent or per person.
The local docker compose lab (proxy-shopping-go, demo server on http://localhost:8888):
claude mcp add proxy-shopping-lab -- docker run -i --rm --add-host=host.docker.internal:host-gateway \
-v proxy-shopping-mcp-lab:/data -e PS_NETWORK=lab -e PS_LAB_URL=http://host.docker.internal:8888 \ ghcr.io/pad01g/proxy-shopping-mcp:0.1.2
MCPB bundle (Claude Desktop and other MCPB clients: open the file to install; needs Node 22+): proxy-shopping- .mcpb from the releases; build it with node packages/mcp/scripts/build-mcpb.mjs after npm run build -w @proxy-shopping/core. Agents installing the server: llms-install.md.
Without Docker (Node 22, from the repository root): npm ci && npm run build -w @proxy-shopping/core -w @proxy-shopping/mcp, then node packages/mcp/dist/server.js (bin proxy-shopping-mcp).
| Variable | Default | Meaning |
|---|---|---|
PS_NETWORK | ps-main | ps-main: public Nostr relays (relay.damus.io, nos.lol, relay.primal.net), BTC signet via mempool.space, coordinators and signed trust events from the registry. lab: the compose lab through its demo server |
PS_DATA_DIR | ~/.proxy-shopping-mcp (image: /data) | the mnemonic (mnemonic, mode 0600, created on first run) and the state per network (state- .json) |
PS_LAB_URL | http://localhost:8888 | lab only: the demo server (relays at /relay-1 /relay-2, /esplora, /evm, /faucet, /rates, /deployments/31337.json) |
PS_CONFIG_URL / PS_CONFIG_FILE | unset | a web-app config.json (format of proxy-shopping-go/lab/web-config.json: relays, coordinators, esplora, evm_rpc, deployments_url, rates, timelock_policy, …) that overrides the preset |
PS_COORDINATORS | unset | comma-separated coordinator pubkeys that replace the preset's trust roots |
| Tool | What it does |
|---|---|
network_info | network, relays, coordinators, chains, how many shopper × escrow combinations are trusted, an honest status |
wallet | identity pubkey, BTC signet address and balance (EVM/USDC where the network has it) |
lab_faucet | lab only: test BTC / USDC to this wallet, mine blocks |
find_offers | trusted shopper × escrow combinations for a shop URL, region and payment, with fees, cash regions and provenance (coordinator → operator list) |
request_quote | order from one combination and wait for the quote; returns its validation: rate deviation from our own sources, the recomputed escrow address, the timelocks |
get_order / list_orders | status, timeline and next steps; get_order can wait for a status |
accept_quote | accept a valid quote (a strong rate deviation needs acknowledge_rate_deviation) |
fund_order | moves money: pay the lock and the escrow upfront fee (confirm: true) |
confirm_receipt | moves money: items received, sign the payout to the shopper (confirm: true) |
open_dispute | ask the escrow to decide; hands it the evidence and the key to your address (confirm: true) |
review_ruling / countersign_ruling | check the escrow's split, then co-sign it (moves money, confirm: true) |
accept_refund_offer | moves money: co-sign the shopper's cooperative refund (confirm: true) |
refund_after_timelock | moves money: after T2, take the funds back alone (confirm: true) |
cancel_order | cancel before funding |
report | report the shopper or escrow to the operator that listed them |
export_backup | show the 12-word mnemonic (confirm: true) |
become_shopper | the plan for earning as a proxy shopper: requirements, fees, node config and compose file for ps-main, how to get listed |
registry_entry | the exact file for a pull request to the registry, in its format: shoppers/ .json {pk, contact, description, regions (cash regions), payments, escrows}, escrows/ .json {pk, contact, description, sla_days}, operators/ .json {pk, contact, description, regions}, coordinators/ .json {pk, contact, description, url?, bundle?} |
A purchase: network_info → wallet (fund it) → find_offers → request_quote → accept_quote → fund_order → (get_order until delivered) → confirm_receipt.
Every tool answers with a short text plus the same data as structured JSON.
confirm: true; without it they show what would happen (amounts, recipients, fees). An agent should show that to its human and ask before confirming.completed / settled / refunded are reported only once the chain shows the payment.export_backup. The delivery address is encrypted for the shopper; the escrow can read it only when you open a dispute.network_info lists them and where they came from). Orders are only as good as the shoppers and escrows that operators list.# from the repository root, in Docker (no host Node needed)
docker run --rm -v "$PWD":/src -v ps-npm:/root/.npm -w /src node:22-bookworm \ sh -c "npm ci && npm run build -w @proxy-shopping/core && npm test -w @proxy-shopping/mcp"
docker run --rm --add-host=host.docker.internal:host-gateway -v "$PWD":/src -v ps-npm:/root/.npm -w /src/packages/mcp \ -e PS_LAB_URL=http://host.docker.internal:8888 node:22-bookworm npm run test:lab
The unit tests drive every tool through an MCP client against core's in-memory world (relays, chain, a scripted shopper and an escrow), and run the registry's own validator (proxy-shopping-registry/scripts/registry.ts validate) on the files registry_entry writes; they expect ../proxy-shopping-registry next to this repository (or PS_REGISTRY_DIR, or mounted at /proxy-shopping-registry; SKIP_REGISTRY=1 skips it). Add -v "$PWD/../proxy-shopping-registry":/proxy-shopping-registry:ro to the Docker command above.