Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Register domains and manage DNS, hosting and mail at Porkbun, with every purchase confirmed first.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
PORKBUN_API_KEY_FILE, PORKBUN_SECRET_API_KEY_FILE, PORKBUN_OUTBOX_DIR, PORKBUN_TOOLSETSต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"porkbun": {
"command": "npx",
"args": [
"-y",
"@foreverworks/mcp-porkbun"
],
"env": {
"PORKBUN_API_KEY_FILE": "ใส่ค่าของคุณ",
"PORKBUN_SECRET_API_KEY_FILE": "ใส่ค่าของคุณ",
"PORKBUN_OUTBOX_DIR": "ใส่ค่าของคุณ",
"PORKBUN_TOOLSETS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add porkbun --env PORKBUN_API_KEY_FILE='ใส่ค่าของคุณ' --env PORKBUN_SECRET_API_KEY_FILE='ใส่ค่าของคุณ' --env PORKBUN_OUTBOX_DIR='ใส่ค่าของคุณ' --env PORKBUN_TOOLSETS='ใส่ค่าของคุณ' -- npx -y @foreverworks/mcp-porkbunเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"porkbun": {
"command": "npx",
"args": [
"-y",
"@foreverworks/mcp-porkbun"
],
"env": {
"PORKBUN_API_KEY_FILE": "ใส่ค่าของคุณ",
"PORKBUN_SECRET_API_KEY_FILE": "ใส่ค่าของคุณ",
"PORKBUN_OUTBOX_DIR": "ใส่ค่าของคุณ",
"PORKBUN_TOOLSETS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"porkbun": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@foreverworks/mcp-porkbun"
],
"env": {
"PORKBUN_API_KEY_FILE": "ใส่ค่าของคุณ",
"PORKBUN_SECRET_API_KEY_FILE": "ใส่ค่าของคุณ",
"PORKBUN_OUTBOX_DIR": "ใส่ค่าของคุณ",
"PORKBUN_TOOLSETS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
PORKBUN_OUTBOX_DIR envPORKBUN_TOOLSETS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน foreverworks.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: PORKBUN_API_KEY_FILE, PORKBUN_SECRET_API_KEY_FILE
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.2) เข้า registry 4 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MemberVault MCP by usefulapi
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.
List courses; add users to courses, remove course access or delete users in MemberVault.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Run your Porkbun account from your AI assistant: find and register domains, edit DNS and DNSSEC, publish a static site, transfer a domain in or move its DNS to Cloudflare, set up mailboxes and webhooks, and read invoices. The tools are Porkbun's own (@porkbunllc/mcp-server), plus a zone file export, with safety around them. Every tool that spends money, commits to a charge, changes a domain's owner or hands out a secret is money: your client asks you first, and a charge over the account's monthly API limit is refused before it reaches Porkbun.
You need a Porkbun account and an API key pair (pk1_... and sk1_...), each half in a file, with API access turned on for the domains it should manage. Purchases are paid from account credit, or by your card through Stripe Link. To save a file (a certificate, an invoice PDF, a zone file, a mailbox password), the server also needs a directory to save into.
.%22%7D%2C%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22porkbun_secret_api_key_file%22%2C%22description%22%3A%22Path%20of%20a%20file%20holding%20your%20Porkbun%20secret%20API%20key%20(sk1_...).%22%7D%2C%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22porkbun_outbox_dir%22%2C%22description%22%3A%22Optional.%20Where%20the%20tools%20that%20save%20a%20file%20(an%20SSL%20bundle%2C%20an%20invoice%20PDF%2C%20a%20DNS%20zone%20export%2C%20a%20new%20mailbox's%20password)%20write%20it.%20Without%20it%20those%20tools%20answer%20with%20a%20configuration%20error%3B%20every%20other%20tool%20works.%22%7D%2C%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22porkbun_toolsets%22%2C%22description%22%3A%22Optional.%20The%20toolsets%20whose%20tools%20the%20server%20loads%2C%20separated%20by%20commas%2C%20e.g.%20dns%2Cforwards.%20Empty%20loads%20every%20toolset.%22%7D%5D&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40foreverworks%2Fmcp-porkbun%22%5D%2C%22env%22%3A%7B%22PORKBUN_API_KEY_FILE%22%3A%22%24%7Binput%3Aporkbun_api_key_file%7D%22%2C%22PORKBUN_SECRET_API_KEY_FILE%22%3A%22%24%7Binput%3Aporkbun_secret_api_key_file%7D%22%2C%22PORKBUN_OUTBOX_DIR%22%3A%22%24%7Binput%3Aporkbun_outbox_dir%7D%22%2C%22PORKBUN_TOOLSETS%22%3A%22%24%7Binput%3Aporkbun_toolsets%7D%22%7D%7D)
With Claude Code:
claude mcp add porkbun -e PORKBUN_API_KEY_FILE="<path to API key file>" -e PORKBUN_SECRET_API_KEY_FILE="<path to Secret API key file>" -- npx -y @foreverworks/mcp-porkbun
Claude Desktop (Settings, Developer, Edit Config) and most other clients read the same command as JSON:
{
"mcpServers": { "porkbun": { "command": "npx", "args": ["-y", "@foreverworks/mcp-porkbun"], "env": { "PORKBUN_API_KEY_FILE": " ", "PORKBUN_SECRET_API_KEY_FILE": " " } } } }
Each runs the published package on Node 22.19 or newer. VS Code and the Claude Desktop bundle ask for each setting as they add the server; leave an optional one empty. Cursor reads each from your environment instead (${env:PORKBUN_API_KEY_FILE} and so on), so set them before you start Cursor. The commands above set only what is required; Configuration has the rest.
git clone https://github.com/foreverworks/mcps.git && cd mcps
npm ci && npm run build claude mcp add porkbun -e PORKBUN_API_KEY_FILE=" " -e PORKBUN_SECRET_API_KEY_FILE=" " -- node "$PWD/servers/porkbun/dist/index.js"
In a JSON configuration, the command is node and its one argument the full path of servers/porkbun/dist/index.js. To share one running copy between several clients over HTTP, see docs/deploying.md.
| Variable | Required | Meaning |
|---|---|---|
PORKBUN_API_KEY_FILE | yes, or PORKBUN_API_KEY | File holding the API key (pk1_...). A file that is named but missing or empty is a config failure, never a fallback. |
PORKBUN_SECRET_API_KEY_FILE | yes, or PORKBUN_SECRET_API_KEY | File holding the secret API key (sk1_...). |
PORKBUN_API_KEY, PORKBUN_SECRET_API_KEY | no | The keys themselves, for a local stdio run (the names Porkbun's own server reads). |
PORKBUN_OUTBOX_DIR | for the tools that save a file | Where files are saved, with mode 0640 (the server's user and the directory's group). No default: unset, get_ssl_bundle, get_invoice_pdf, export_dns_zone, and create_mailbox or setup_mailbox without a password answer config; every other tool works. |
PORKBUN_BASE_URL, PORKBUN_DOCS_BASE | no | Read by Porkbun's package: the API base (default https://api.porkbun.com/api/json/v3) and where the documentation tools fetch from (default https://porkbun.com). Leave them unset. |
PORKBUN_X402_PRIVATE_KEY, PORKBUN_X402_MAX_CENTS | no | Read by Porkbun's package to pay in USDC, which this server does not offer. Never set them. |
PORKBUN_TOOLSETS | no | The toolsets to load, separated by commas; unset, every one (Toolsets). |
The keys are read on the first call that needs them, so the documentation tools (read_doc, search_docs, list_doc_topics), get_pricing and mock_call work without them. The keys are never logged or returned: the audit line carries no arguments or results.
A deployment that limits egress sets MCP_EGRESS_ALLOW=api.porkbun.com,porkbun.com. deploy_site and import_dns_records read files from MCP_FILE_ROOTS. Both, and the other variables every server shares, are in docs/configuration.md.
chmod 600), and point PORKBUN_API_KEY_FILE and PORKBUN_SECRET_API_KEY_FILE at them.Every tool definition the server hands your client travels with each request the client makes, and Porkbun's are long. PORKBUN_TOOLSETS names the toolsets to load, separated by commas. The tools of the others are not there at all, and the server's instructions tell the assistant which toolsets are missing, so it can tell you instead of looking for a way around. Unset, empty or all, every toolset is loaded, as before.
| Toolset | What it loads |
|---|---|
domains | Availability and prices, registering and renewing, auto-renew, contacts. |
dns | DNS records, restore points, scanning, importing and exporting a zone, nameservers, preflight_domain, and the free TLS certificate (get_ssl_bundle). |
dnssec | DS records at the registry, with preflight_domain. |
glue | Glue records, for nameservers named under the domain they serve. |
forwards | URL forwarding and email forwarding. |
hosting | Static hosting and Cloud for WordPress: plans, deploy_site, files, WordPress passwords. |
mailboxes | Email hosting mailboxes: buying, setting up, renewing, passwords. |
cloudflare | Moving DNS to your own Cloudflare account, and the zone, records and proxy there. |
transfers | Transferring a domain in, with check_domain for its price and scan_dns_records and import_dns_records for its zone. |
marketplace | Names other people sell: Porkbun Marketplace, the aftermarket, closeouts. |
webhooks | Webhook endpoints, their secrets and their deliveries. |
account | Top-ups and auto top-up, verifying the account's email and phone, invoices. |
docs | Porkbun's API documentation, and mock_call's example answers. |
ping, get_balance and get_api_settings are always loaded: ping is where you start and where a failure is diagnosed, and every purchase, in five of the toolsets, is paid from the balance and counts against the monthly API spend cap. Whatever is loaded, a purchase is still money and still checked against the caps before it is sent. A name that is not a toolset stops the server at start, with a message listing the ones there are. src/mcp/toolsets.ts places each tool by name, and a version of Porkbun's package with a tool it does not place fails the tests and will not start. Measured with scripts/measure-tokens.ts on 2026-10-23 (GPT-4 tokenizer), the tool list is 113 tools and about 44,200 tokens with every toolset, 23 tools and 8,800 with dns,forwards, and 25 tools and 12,300 with domains,account.
To load DNS and forwarding only:
{
"mcpServers": { "porkbun": { "command": "npx", "args": ["-y", "@foreverworks/mcp-porkbun"], "env": { "PORKBUN_TOOLSETS": "dns,forwards", "PORKBUN_API_KEY_FILE": "/path/to/porkbun-api-key", "PORKBUN_SECRET_API_KEY_FILE": "/path/to/porkbun-secret-api-key" } } } }
A toolset removes tools; MCP_MAX_ACCESS=read keeps every tool listed and refuses the writes.
ping. It checks the connection and the key pair, and shows the key's scopes.get_api_settings) and the balance (get_balance): what the account may still spend this month, and the credit a purchase is paid from.VERIFICATION_REQUIRED, the assistant sends each code (send_email_verification_code, send_phone_verification_code) and you read it back to confirm.read changes nothing; write changes the account, its DN
ตัดมาแค่ช่วงต้น อ่านต่อใน repo