Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
bug-bounty-programs
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
PIPEWORX_API_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://gateway.pipeworx.io/bug-bounty-programs/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"bug-bounty-programs": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-bug-bounty-programs"
],
"env": {
"PIPEWORX_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http bug-bounty-programs https://gateway.pipeworx.io/bug-bounty-programs/mcpclaude mcp add bug-bounty-programs --env PIPEWORX_API_KEY='ใส่ค่าของคุณ' -- npx -y @pipeworx/mcp-bug-bounty-programsเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"bug-bounty-programs": {
"url": "https://gateway.pipeworx.io/bug-bounty-programs/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"bug-bounty-programs": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-bug-bounty-programs"
],
"env": {
"PIPEWORX_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"bug-bounty-programs": {
"type": "http",
"url": "https://gateway.pipeworx.io/bug-bounty-programs/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"bug-bounty-programs": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-bug-bounty-programs"
],
"env": {
"PIPEWORX_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://gateway.pipeworx.io/bug-bounty-programs/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub pipeworx-io ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: PIPEWORX_API_KEY
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.1) เข้า registry 7 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, topo^alpin
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.
Avalanche bulletins and mountain weather forecasts for any place in the Alps.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Public bug-bounty PROGRAM DIRECTORY data — program name, bounty range, status and scope assets — from Bugcrowd, YesWeHack and HackerOne's own public directories. No vulnerability content, no researcher profiles or handles.
Part of Pipeworx — an MCP gateway connecting AI agents to 1863+ live data sources. This is an independent, unofficial integration — not affiliated with, endorsed by, or published by the upstream provider.
bounty_programs_search(platform?, query?, min_bounty?, launched_since?, has_wildcard?, limit?) — search across one or all three platforms by name, minimum bounty (USD), launch date (HackerOne only — see below), and whether scope includes a wildcard asset like *.example.com (checked live on yeswehack/hackerone; bugcrowd returns a count: 0 with an explanatory note instead of an error, because its scope is login-walled, not broken).bounty_program(platform, handle) — one program by platform + handle. YesWeHack returns a full severity x asset-value reward table and real scope; HackerOne returns real scope but no numeric reward table (not exposed anywhere on the public schema); Bugcrowd returns neither and says why.bounty_new_programs(days) — programs launched in the last N days, by real launch date. HackerOne only; see "What's not here" below for why Bugcrowd/YesWeHack can't contribute to this one honestly.Keyless. Every endpoint below answers with no account, token, or API key.
https://bugcrowd.com/engagements.json — paged (?page=N, 24/page, paginationMeta.totalCount) public program list: name, URL, reward summary, industry, access status. No scope/target data — Bugcrowd's scope "reveal" action redirects to /h/engagements/{handle}/reveal.json, its researcher-sign-in area. That is a genuine login wall, not a bug, and bounty_program/has_wildcard say so rather than returning a silent empty result.https://api.yeswehack.com/programs (list, ?page=N) and https://api.yeswehack.com/programs/{slug} (detail) — the richest of the three. Detail returns scopes[] (real asset identifiers, some with wildcards), out_of_scope, and reward_grid_default/low/medium/high/critical/very_low — a real severity x asset-value-tier reward table (only the tiers the program actually uses have non-null values; everything else is null, not zero). No launch-date field anywhere on this endpoint — only last_update_at (last change, never surfaced as launched_at here to avoid implying a launch).https://hackerone.com/graphql (POST, unauthenticated) — query { teams } / query { team(handle) }. Introspection is disabled, so every field name below was found by probing a guess and reading GraphQL's own "did you mean X?" error back, not from a published schema doc:teams(first/last, after/before): handle name offers_bounties submission_state launched_at — launched_at is a REAL, verified launch date (confirmed against hackerone.com/security → 2013-11-06, the platform's own founding program). last: N returns the N most-recently-created teams, which is what bounty_new_programs walks backward from; there is no working order_by value we could find (order_by: {field: ..., direction: DESC} is accepted syntactically but every field name we tried for field was rejected), so sorting relies on sequential internal IDs rather than an explicit date sort.team(handle).structured_scopes_search(first): a union (DocumentUnion) — use ... on StructuredScopeDocument { identifier asset_type eligible_for_bounty eligible_for_submission instruction }. identifier is the actual scope asset (domain/URL), sometimes a wildcard (*.rubyonrails.org, *.cloudflarepartners.com confirmed live). No numeric bounty amount anywhere we could find — team.bounty_table exists as a type but every plausible field name on it (rewards, severities, low_bounty/high_bounty, min/max, field_names, …) came back doesn't exist. If HackerOne ever documents the real field names, bountyProgram()'s hackerone branch is the one place to add them.Immunefi is not a platform in this pack, on purpose. /explore and every /bug-bounty/{slug}/ page are public — no login needed — but the actual scope list and severity-tiered reward table load client-side from an internal API that is not reachable as a stable, documented JSON endpoint. Checked and ruled out, 2026-10-08:
/bug-bounty/ens/) carries zero reward-table fields and exactly one 0x... contract address — the scope list renders after hydration, client-side.RSC: 1 header, the app-router equivalent of Next's old _next/data/*.json): same result, no reward/scope keys in the ~30KB response.robots.txt / sitemap-dynamic.xml: public and unauthenticated, and useful for *discovering* program slugs (/bug-bounty/{slug}/ × ~166), but a sitemap only carries lastmod (last content change), never a launch date.If Immunefi ever publishes (or we find) a stable JSON endpoint for this, it's a fourth platform value to add, following the same shape as yeswehack.
Not checked — Intigriti's public directory requires a researcher account/token to browse, per the task that specified this pack. Skipped rather than scraped from behind a login.
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": { "bug-bounty-programs": { "url": "https://gateway.pipeworx.io/bug-bounty-programs/mcp" } } }
tools/list at https://gateway.pipeworx.io/bug-bounty-programs/mcp returns the tools in the table above plus the shared Pipeworx meta-tools — ask_pipeworx, discover_tools, search_within, remember/recall and the rest of the gateway-wide set. So the tool count you see is larger than this table: a single-pack endpoint currently lists roughly 30 shared tools alongside the pack's own. The connection's initialize response states its exact scope, and is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a scoped connection answer a question this pack does not cover — via ask_pipeworx, which routes across the whole catalog — without you adding a second MCP server. There is currently no way to mount a pack endpoint without them; if the extra schemas cost you more context than the routing is worth, connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:
{
"mcpServers": { "pipeworx": { "url": "https://gateway.pipeworx.io/mcp" } } }
Both URLs reach the same gateway and the same 1863+ data sources. The only difference is which pack's tools are listed directly; ask_pipeworx reaches all of them from either one.
curl -X POST https://gateway.pipeworx.io/v1/tools/bounty_programs_search \
-H 'Content-Type: application/json' \ -d '{"platform":"yeswehack","min_bounty":1000,"limit":10}'
No account needed for the first calls. Inspect any tool: GET https://gateway.pipeworx.io/v1/tools/bounty_programs_search. Find one: POST https://gateway.pipeworx.io/v1/tools/search_packs with {"query":"..."}.
@pipeworx/mcp-bug-bounty-programs is a local stdio bridge to the Pipeworx gateway: your MCP client starts it with npx, and it forwards every call to the same https://gateway.pipeworx.io/bug-bounty-programs/mcp endpoint shown above. It needs network access; there is no offline mode.
{
"mcpServers": { "bug-bounty-programs": { "command": "npx", "args": ["-y", "@pipeworx/mcp-bug-bounty-programs"] } } }
Without a key it calls anonymously, capped at 50 calls a day. A free account raises that to 200 a day: get a key at https://pipeworx.io/signup and add "env": { "PIPEWORX_API_KEY": " " } to the server entry. The key is sent as a Bearer token, the same way a hosted connection sends it, so calls are metered and billed exactly as they are there.
It lists only this pack's tools by default. Set PIPEWORX_META_TOOLS=1 to also list ask_pipeworx and the other gateway-wide tools.
Behind an HTTPS proxy: Node's built-in fetch does not read HTTPS_PROXY by default. Newer Node releases honour it when NODE_USE_ENV_PROXY=1 is set; check your Node version's documentation.
Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:
ask_pipeworx({ question: "your question about Bug Bounty Programs data" })
The gateway picks the right tool and fills the arguments automatically.
MIT