Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Read-only tools for x207 circles on NEAR: members, epochs, clearing simulation, listings.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://mcp.x207.boxd.sh/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"x207": {
"command": "npx",
"args": [
"-y",
"@x207/mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http x207 https://mcp.x207.boxd.sh/mcpclaude mcp add x207 -- npx -y @x207/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"x207": {
"url": "https://mcp.x207.boxd.sh/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"x207": {
"command": "npx",
"args": [
"-y",
"@x207/mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"x207": {
"type": "http",
"url": "https://mcp.x207.boxd.sh/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"x207": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@x207/mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://mcp.x207.boxd.sh/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 6 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
x207_circle_overviewStart here: the circle itself, i.e. its record and rules (get_circle, get_params) plus a page of its members (read API GET /members, or the contract view list_members when no read API is set). Use x207_member_inspect for one member in detail and x207_epoch_report for one epoch. R
x207_member_inspectOne member of the circle: status, stake, outstanding debt and credit limit (read API GET /members/{account} and /limits, or the contract views member and limit when no read API is set). Use it after x207_circle_overview has shown the account ids, or before paying a member; for ep
x207_epoch_reportOne epoch of the circle: its phase and deadlines from the contract (get_epoch), and from the read API the summary, the metrics (cleared ratio: the share of debt that netting removed, so only the net cash moves) and the settlements, i.e. who owes whom what in cash. Use it after an
x207_simulate_clearingDry run of a netting proposal: asks the contract (view simulate_clearing) whether the edges would be accepted for an epoch and how much debt they would cancel. Use it to check a proposal before a solver submits it; to see what a finished epoch actually netted use x207_epoch_repor
x207_search_listingsFind offers on the circle's marketplace (read API GET /listings): what an account offers and what it wants. Use it to discover who sells a service; for an order that already exists use x207_order_status. Returns {items, nextCursor}; pass nextCursor as `cursor` for the next page.
x207_order_statusOrders of the circle's marketplace (read API GET /orders). With a hash: one order with its parties, budget, milestones and status. Without a hash: a page of orders, filtered by party and status. Use x207_search_listings to find offers before an order exists. An unknown hash is an
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub x207-labs ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 1930 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 6 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.0.6) เข้า registry 4 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Agilitycms MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว 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.
An MCP server that provides access to Agility CMS. See https://mcp.agilitycms.com for more details.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP server for x207, the mutual-credit settlement layer for x402 agent payments on NEAR. It lets a model such as Claude read a circle: its rules and members, one member's position and limit, the result of an epoch, a clearing proposal checked by the contract, the marketplace, and one order.
Status: version 0.0.1, pre-release. By default the server has read tools only: it signs nothing, sends nothing and holds no key. The eight write tools exist only on stdio, only when you turn them on, and only behind the guards below. Node 22.22.2 or newer.
| Tool | What it answers | Reads |
|---|---|---|
x207_circle_overview | The circle and its rules, and its members | contract views get_circle, get_params; read API GET /members (the view list_members when there is no read API) |
x207_member_inspect | One member: status, stake, position, credit limit | read API GET /members/{account} and GET /members/{account}/limits (the views member and limit when there is no read API) |
x207_epoch_report | One clearing epoch, the current one by default: phase, deadlines, cleared ratio and settlements | contract view get_epoch; read API GET /epochs/{n}, GET /epochs/{n}/metrics, GET /epochs/{n}/settlements (the view list_positions when there is no read API) |
x207_simulate_clearing | Whether a proposed clearing is valid, and what it would clear | contract view simulate_clearing |
x207_search_listings | Marketplace listings, filtered by account, asset type and class | read API GET /listings (needs the read API) |
x207_order_status | One service order, or a list of orders by party and status | read API GET /orders/{hash} and GET /orders (needs the read API) |
All six are marked readOnlyHint: true. Credit amounts are decimal strings in the smallest unit (6 decimals). A tool that fails returns an error result with a short reason, and a part of an answer that could not be read (for example a read API that is down) is reported in warnings while the rest is returned. A result longer than 100,000 characters is cut and says so.
Everything comes from the environment. No variable holds a secret.
| Variable | Meaning |
|---|---|
X207_CIRCLE_CONTRACT | Required. The circle contract account, for example x207-v013.testnet. |
X207_CIRCLE_ID | The circle id in the read API paths. Default agents-main. |
X207_RPC_URL | NEAR JSON-RPC endpoints, comma separated, tried in order. Default: https://rpc.testnet.fastnear.com then https://near-testnet.drpc.org for a .testnet contract, otherwise the mainnet endpoints of @x207/core. An endpoint that fails or answers 429 hands over to the next. |
X207_BACKEND_URL | Base URL of the x207 read API, for example http://127.0.0.1:8080. Optional; without it x207_search_listings and x207_order_status explain what is missing and the other tools answer from the contract. |
X207_TIMEOUT_MS | Timeout of one RPC or read API call. Default 10000. |
Add the server to claude_desktop_config.json (Claude Desktop) or .cursor/mcp.json (Cursor). npx fetches the package the first time, so there is nothing to install:
{
"mcpServers": { "x207": { "command": "npx", "args": ["-y", "@x207/mcp"], "env": { "X207_CIRCLE_CONTRACT": "x207-v013.testnet", "X207_BACKEND_URL": "http://127.0.0.1:8080" } } } }
Use version 0.0.2 or newer: 0.0.1 was published without its x207-mcp command. To keep a copy on your machine, npm install -g @x207/mcp and use "command": "x207-mcp" without args. From a checkout of the repository, build once with npm run build and point command at node with "args": ["/path/to/sdk/packages/mcp/dist/cli.js"]. Restart Claude Desktop, then ask for example: "Give me the overview of the x207 circle", "Inspect the member alice.x207-v013.testnet", or "Report epoch 1".
Set X207_MCP_WRITE=1 and give the agent's account and keys in the environment. The HTTP server never has these tools, whatever the environment says.
| Tool | What it does | Signs with | Off unless |
|---|---|---|---|
x207_pay_request | Fetches a URL; on an x207 402 it signs a credit voucher and repeats the request. The facilitator of the seller registers the voucher; this tool sends nothing to the chain. | voucher key | a voucher key |
x207_list_offer | Signs a listing (what the agent offers, what it seeks) and posts it to the marketplace book. | voucher key | a voucher key and X207_BACKEND_URL |
x207_make_offer | Signs an offer or a counter-offer (in_reply_to) on a listing and posts it. | voucher key | a voucher key and X207_BACKEND_URL |
x207_accept_offer | Previews the acceptance at the backend, checks what the agent would pay, signs the bundle and posts the acceptance. | voucher key | a voucher key and X207_BACKEND_URL |
x207_confirm_milestone | Signs a notice for a milestone of an order (confirmed, disputed, delivered, cancelled) and posts it. | voucher key | a voucher key and X207_BACKEND_URL |
x207_join | Joins the circle and stakes USDT: join with the 0.35 NEAR storage deposit, then ft_transfer_call. | NEAR key | X207_ALLOW_OUTFLOWS=1 and X207_ALLOW_FULL_ACCESS_KEY=1 |
x207_settle | Pays the residual the agent owes for an epoch (at most the amount due): ft_transfer_call with the settle message. | NEAR key | X207_ALLOW_OUTFLOWS=1 and X207_ALLOW_FULL_ACCESS_KEY=1 |
x207_claim | Claims what the agent is owed for an epoch, to its own account or its Intents balance: claim with 1 yoctoNEAR. | NEAR key | X207_ALLOW_FULL_ACCESS_KEY=1 |
A tool whose key or switch is missing is not listed at all. The voucher key is an off-chain ed25519 key of the agent (ed25519: ); it is not a NEAR access key. The NEAR key is an access key of the agent's account.
| Variable | Meaning |
|---|---|
X207_MCP_WRITE | 1 turns the write tools on. Default: off. |
X207_AGENT_ACCOUNT | The NEAR account of the agent, a member of the circle. Required with X207_MCP_WRITE=1. |
X207_AGENT_VOUCHER_KEY | Voucher secret key. Signs vouchers, listings, offers, acceptances and notices. |
X207_AGENT_NEAR_KEY | NEAR secret key of the agent account. Signs the transactions of x207_join, x207_settle and x207_claim only. |
X207_MAX_SPEND_SESSION | Most the agent may commit in one run of the server, in credit units (6 decimals). Default 1000000 (1 credit). |
X207_MAX_PRICE_PER_CALL | Most one payment, offer or milestone may be. Default 100000 (0.1 credit). |
X207_ALLOWED_COUNTERPARTIES | Comma separated accounts the agent may deal with. Empty: any active member of the circle. |
X207_ALLOW_OUTFLOWS | 1 allows x207_join and x207_settle, which move USDT from the agent into the circle. Default off. |
X207_ALLOW_FULL_ACCESS_KEY | 1 allows the NEAR key to be a full-access key. Default off. |
X207_ALLOW_PRIVATE_URLS | 1 lets x207_pay_request fetch a URL on this machine or in a private network, for a seller you run yourself. Default off. |
X207_MAX_SPEND_SESSION. A commitment that does not fit is refused before it is signed; one that fails afterwards is given back.X207_MAX_PRICE_PER_CALL is refused. The price in a 402 comes from the seller, so the server does not trust it: the check runs on the requirement before the voucher is signed.x207_join and x207_settle stay off until the operator sets X207_ALLOW_OUTFLOWS=1.X207_ALLOWED_COUNTERPARTIES when that list is set, and is never the agent itself.x207_pay_request comes from a model, so it can come from a prompt injection. The tool refuses a URL whose host is, or resolves to, a loopback, private, link-local (the metadata service of a cloud machine), carrier-grade NAT, multicast or unspecified address, and names such as localhost, *.local and *.internal. It does not follow redirects (the answer says where a redirect points), gives each call 30 seconds, and reads at most 1 MiB of an answer. X207_ALLOW_PRIVATE_URLS=1 turns the address check off for a seller on your own machine.view_access_key). A function-call key cannot attach a deposit, and join, stake, settle and claim all attach one (NEAR protocol rule), so with a function-call key those tools refuse and send nothing. With a full-access key they run only if X207_ALLOW_FULL_ACCESS_KEY=1; use a dedicated agent account with a small balance. The tools that sign with the voucher key send no transaction, so they do not need a NEAR key at all.Also: the backend returns the terms of a bundle together with their hash, and x207_accept_offer refuses when the hash does not match the terms; x207_make_offer refuses when the listing the book returns does not hash to the hash that was asked for.
A NEAR deposit cannot be attached by a function-call key, so the tools that send one (x207_join, x207_settle, x207_claim) need a full-access key of the agent account. A full-access key can do anything the account can do, and none of the guards above limits what a stolen or misused key does outside this server. So use a dedicated agent account that holds only what the agent may lose: whatever NEAR and USDT sit on that account is the most that can be lost. The session budget and the price cap protect against a model that misbehaves; they do not protect against someone who has the key. Leave X207_ALLOW_FULL_ACCESS_KEY unset, and the three tools off, if the agent only needs to pay, list, offer, accept and confirm: those tools sign with the voucher key and never need a NEAR key.
{
"mcpServers": { "x207-agent": { "command": "x207-mcp", "env": { "X207_CIRCLE_CONTRACT": "x207-v013.testnet", "X207_BACKEND_URL": "http://127.0.0.1:8080", "X207_MCP_WRITE": "1", "X207_AGENT_ACCOUNT": "agent.x207-v013.testnet", "X207_AGENT_VOUCHER_KEY": "ed25519:…", "X207_MAX_SPEND_SESSION": "500000", "X207_MAX_PRICE_PER_CALL": "50000" } } } }
Keep the keys out of any file you commit. Then ask for example: "List a translation service for 0.05 credit", "Pay https://seller.example/api/summarize", or "Confirm milestone 1 of order …".
X207_CIRCLE_CONTRACT=x207-v013.testnet X207_BACKEND_URL=http://127.0.0.1:8080 x207-mcp --http --port 3207
The endpoint is POST http://127.0.0.1:3207/mcp. It is stateless (no session) and serves only the read tools, so it can be shown to anybody who can already read the contract and the read API. GET /healthz answers 200. It listens on 127.0.0.1 unless --host says otherwise; put a reverse proxy with TLS and a rate limit in front of it before you expose it. On a loopback address it serves only the Host names of the loopback (127.0.0.1, localhost, [::1]), so a web page cannot reach it through DNS rebinding; behind a
ตัดมาแค่ช่วงต้น อ่านต่อใน repo