Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
21 paid data tools plus free quote/budget inspection, with bounded USDC payments on Base.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
AGENT_PRIVATE_KEY, AGENTTOLL_URL, AGENTTOLL_NETWORK, AGENTTOLL_RECIPIENT, AGENTTOLL_BUDGET_USDC, AGENTTOLL_MAX_PER_CALL_USDC, AGENTTOLL_TIMEOUT_MSค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"agenttoll": {
"command": "npx",
"args": [
"-y",
"agenttoll-mcp"
],
"env": {
"AGENT_PRIVATE_KEY": "ใส่ค่าของคุณ",
"AGENTTOLL_URL": "ใส่ค่าของคุณ",
"AGENTTOLL_NETWORK": "ใส่ค่าของคุณ",
"AGENTTOLL_RECIPIENT": "ใส่ค่าของคุณ",
"AGENTTOLL_BUDGET_USDC": "ใส่ค่าของคุณ",
"AGENTTOLL_MAX_PER_CALL_USDC": "ใส่ค่าของคุณ",
"AGENTTOLL_TIMEOUT_MS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add agenttoll --env AGENT_PRIVATE_KEY='ใส่ค่าของคุณ' --env AGENTTOLL_URL='ใส่ค่าของคุณ' --env AGENTTOLL_NETWORK='ใส่ค่าของคุณ' --env AGENTTOLL_RECIPIENT='ใส่ค่าของคุณ' --env AGENTTOLL_BUDGET_USDC='ใส่ค่าของคุณ' --env AGENTTOLL_MAX_PER_CALL_USDC='ใส่ค่าของคุณ' --env AGENTTOLL_TIMEOUT_MS='ใส่ค่าของคุณ' -- npx -y agenttoll-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"agenttoll": {
"command": "npx",
"args": [
"-y",
"agenttoll-mcp"
],
"env": {
"AGENT_PRIVATE_KEY": "ใส่ค่าของคุณ",
"AGENTTOLL_URL": "ใส่ค่าของคุณ",
"AGENTTOLL_NETWORK": "ใส่ค่าของคุณ",
"AGENTTOLL_RECIPIENT": "ใส่ค่าของคุณ",
"AGENTTOLL_BUDGET_USDC": "ใส่ค่าของคุณ",
"AGENTTOLL_MAX_PER_CALL_USDC": "ใส่ค่าของคุณ",
"AGENTTOLL_TIMEOUT_MS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"agenttoll": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"agenttoll-mcp"
],
"env": {
"AGENT_PRIVATE_KEY": "ใส่ค่าของคุณ",
"AGENTTOLL_URL": "ใส่ค่าของคุณ",
"AGENTTOLL_NETWORK": "ใส่ค่าของคุณ",
"AGENTTOLL_RECIPIENT": "ใส่ค่าของคุณ",
"AGENTTOLL_BUDGET_USDC": "ใส่ค่าของคุณ",
"AGENTTOLL_MAX_PER_CALL_USDC": "ใส่ค่าของคุณ",
"AGENTTOLL_TIMEOUT_MS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
AGENTTOLL_URL envAGENTTOLL_NETWORK envAGENTTOLL_RECIPIENT envAGENTTOLL_BUDGET_USDC envAGENTTOLL_MAX_PER_CALL_USDC envAGENTTOLL_TIMEOUT_MS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub tevfikefeaydin ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: AGENT_PRIVATE_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.14.0) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, FlyDocs
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.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
AgentToll
agenttoll.app provides 21 paid data endpoints for agents, priced from $0.001 to $0.008 in USDC. The hosted service settles on Base mainnet. Onchain identity: agenttoll.base.eth. Source · MCP package.
Fresh-pool discovery, token safety checks, sampled radar history, wallet activity and market data share one API. Base market and chain data always use mainnet; a self-hosted instance can accept payments on Base Sepolia without changing the data network.
The browser flow at /inspect.html includes a free, dated report captured from real provider data. Paste a Base token contract address, check the price without connecting a wallet, then approve one USDC payment to receive the eight-check report. It uses the existing /api/base/safety/:address endpoint ($0.003), preserves missing evidence, and offers a settlement receipt and JSON download. A report can be cached for up to five minutes. Ambiguous signed failures require checking the wallet before another payment can be requested.
web/inspect.html is the page template; web/inspect.ts controls quotes and payment, and web/token-report.ts presents the data. npm run build:web builds both browser bundles and embeds public/token-example.json into the generated page, so the example works without JavaScript. npm run check:generated checks that all three generated files agree with their sources. Refresh the example only with a newly recorded response and its capture time and provenance; do not relabel an old example as live.
Operational inspection metrics come from exported application logs; see ops:inspections in OPERATIONS.md. These distinguish mainnet settlements from testnet activity and known operator wallets, and do not claim that a wallet is a person or that a quote is a unique visitor.
/research.html keeps a browser-local watchlist and dated report history. Save a token address or the recorded example; completed inspections can also be saved from the inspector. Storage is limited to 50 watched tokens and 100 sanitized reports, with ten per token. No keys, signatures, payment receipts or paying wallet addresses enter that storage. It is specific to this browser; removing site data removes the history. Storage failures are shown and preserve previously stored data.
The history view compares observations of the same token and provenance type, preserving missing evidence and warning when dates are unavailable or the same observation has conflicting contents. Repeated cached results are not presented as fresh checks. Examples and shared snapshots remain distinct from inspections.
Compare two to five token addresses using saved observations, or review a summed quote for new inspections. Each token uses the existing safety endpoint and its own wallet authorization. Batches run sequentially, keep completed responses and receipts, and stop after a failure. Remaining requests need a fresh explicit quote; an uncertain payment must be acknowledged after checking the wallet before another payment can start. Displayed quotes expire after 60 seconds, including remaining steps of a long batch.
The wallet panel separately prices /api/base/portfolio/:address?minValue=0&limit=50, displays observed holdings and source coverage, and lets the visitor select up to five discovered ERC20 tokens for separately priced inspections. Native ETH, missing/unpriced holdings and coverage gaps are not silently treated as inspected. Wallet addresses and the portfolio response remain in page memory.
Report actions copy a bounded URL-fragment snapshot or download a 1200×1200 PNG card. /shared-report.html labels every imported snapshot as user-supplied and unverified, preserves observation dates and never pays or saves automatically. Fragment contents can be read or changed by anyone with the link; they are not an authenticated AgentToll record. Payment and wallet metadata are excluded. There is no background monitoring or messaging service.
web/research*.ts, web/portfolio-model.ts and web/report-share.ts implement these tools. The build shares CSS source files while inlining their contents into generated HTML to match the existing deployed Content Security Policy. npm run build:web regenerates every browser entry; npm run check:generated verifies the results.
accepts there.API consumers do not need an account or API key. Paying clients need a wallet key; operators may need facilitator/upstream credentials. An initial quote and its signed retry are separate HTTP requests.
Handler failures before settlement are not billed. A lost response or timeout after signing/settlement may have an unknown outcome: inspect the receipt and wallet before retrying. The bounded client keeps ambiguous signed amounts reserved.
| GET endpoint | Description | USDC per call |
|---|---|---|
| /api/price/:symbol | Spot USD price and 24h change | $0.001 |
| /api/gas?gasLimit= | Base gas, latest block and optional transaction-cost estimate | $0.001 |
| /api/trending?limit= | Market-wide trending assets | $0.002 |
| /api/base/token/:address | Onchain Base token price | $0.001 |
| /api/base/address/:address | Base address snapshot and verified primary Basename | $0.001 |
| /api/base/portfolio/:address?minValue=&limit= | Observed holdings and USD valuation with coverage | $0.003 |
| /api/base/safety/:address | Automated token checks and missing-evidence coverage | $0.003 |
| /api/base/scout?minLiquidity=&pools= | Selected radar pools with safety results | $0.008 |
| /api/base/fresh?minutes=&limit=&fundedOnly= | Recent Uniswap v4 pool events, token attribution and funding activity | $0.004 |
| /api/base/radar/history?date= | Published snapshot pinned to an immutable git SHA | $0.002 |
| /api/base/scorecard?days= | Latest published samples compared with current observations | $0.005 |
| /api/base/name/:nameOrAddress | Forward Basename resolution and verified reverse resolution | $0.001 |
| /api/feargreed?days= | Sentiment index with optional daily history | $0.001 |
| /api/base/trending?limit= | Trending Base DEX pools | $0.002 |
| /api/brief?symbols= | Prices, Base gas and sentiment in one call | $0.005 |
| /api/base/radar?minLiquidity=&limit= | Ranked new-pool listing above a liquidity floor | $0.003 |
| /api/try/premium?asset= | Crypto-implied versus official USD/TRY | $0.002 |
| /api/try/spread?asset= | Turkish exchange quotes versus the global USD price | $0.002 |
| /api/watch/address/:address?since= | Paginated confirmed address transactions | $0.002 |
| /api/watch/radar?since= | Newer observations from the current partial radar listing | $0.003 |
| /api/watch/price/:symbol?ref=&pct= | Price threshold check | $0.001 |
| /api/stats | Network/receiver-scoped onchain toll totals | free |
| /api/catalog | Machine-readable endpoint catalog | free |
| /api/demo | Static sample response shapes | free |
| /api/health | Process liveness | free |
| /api/ready | Facilitator and Base RPC readiness | free |
Optional query parameters do not change registered prices. Invalid inputs return 400. fundedOnly accepts the literal values true or false. The catalog and OpenAPI describe parameter limits. Selected upstream results are cached and concurrent loads are coalesced; TTLs vary, and history caches last longer than live-market caches.
API GET/HEAD requests use URL parameters and payment headers, and reject request bodies with 400 and a closed connection. Encoded path parameters, case variants and one trailing slash are supported; encoded route prefixes and duplicate or encoded path separators are rejected before payment verification.
Safety responses preserve unknown checks and provider coverage. A missing owner flag or tax is not a pass. clear requires the necessary evidence; a detected failure can still produce high-risk when other checks are unknown. Passing automated checks does not guarantee safety. Portfolio and radar responses also need their partial/coverage fields to be interpreted correctly.
Free supplemental safety sources provide address-risk screening, verified interface context and observed pool liquidity. Interface names and market value do not complete missing permission or liquidity-ownership checks. See safety evidence and limits.
Portfolio indexer scans stop after three pages or when the indexed tail falls below the $1 source read floor. Lowering minValue changes the display filter, not this source scan bound. Any unread provider pages mark the response partial; totals and unpriced counts describe observed holdings only, and the number of unseen tokens remains unknown. Sentiment responses preserve the provider's observation timestamp separately from their fetch time, including when served from cache.
Address-to-Basename results are forward-resolved back to the original address. Fresh pools cover Uniswap v4; token attribution can be null, ages are estimates from block height, and funded records observed liquidity events rather than a USD liquidity valuation.
For /api/watch/address/:address, keep the opaque cursor unchanged and pass it as since. Continue while hasMore is true before scheduled polling resumes. Each call reads one provider page; partial and coverage.complete report whether that scan has drained. An initial ISO timestamp is accepted.
The polling overlap is 120 seconds, with at most 100 remembered transaction hashes. Deduplicate by hash in the consuming agent, especially when coverage.replayPossible is true. These bounds do not cover all delayed indexing, older reorganizations or indexer gaps.
The radar watch uses an ISO cursor over a ranked, liquidity-filtered listing. Its coverage is always partial: an omitted or late-indexed pool can be missed. The price-alert watch reports a threshold result and has no cursor.
The snapshot workflow writes selected scout observations to data/scout/ and publishes them in git. History reads pin the index and snapshot bytes to one immutable revision, exposed through provenance.revision and commit/raw links. The payment transaction is a settlement record; it does not authenticate snapshot contents or prove capture time.
For scorecards, days selects the latest N published snapshot days, not a strict calendar lookback. Tokens use their first sighting in that selected window, so holding periods vary. C
ตัดมาแค่ช่วงต้น อ่านต่อใน repo