Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Kilawatt Cloud MCP server: request GPU compute with account or x402 payments.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
KILAWATT_API_KEY, KILAWATT_BASE_URL, KILAWATT_SITE_URL, KILAWATT_X402_PRIVATE_KEY, KILAWATT_X402_MAX_USD_PER_JOB, KILAWATT_X402_MAX_USD_PER_SESSION, KILAWATT_X402_URLค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"kilawatt": {
"command": "npx",
"args": [
"-y",
"kilawatt-mcp-server"
],
"env": {
"KILAWATT_API_KEY": "ใส่ค่าของคุณ",
"KILAWATT_BASE_URL": "ใส่ค่าของคุณ",
"KILAWATT_SITE_URL": "ใส่ค่าของคุณ",
"KILAWATT_X402_PRIVATE_KEY": "ใส่ค่าของคุณ",
"KILAWATT_X402_MAX_USD_PER_JOB": "ใส่ค่าของคุณ",
"KILAWATT_X402_MAX_USD_PER_SESSION": "ใส่ค่าของคุณ",
"KILAWATT_X402_URL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add kilawatt --env KILAWATT_API_KEY='ใส่ค่าของคุณ' --env KILAWATT_BASE_URL='ใส่ค่าของคุณ' --env KILAWATT_SITE_URL='ใส่ค่าของคุณ' --env KILAWATT_X402_PRIVATE_KEY='ใส่ค่าของคุณ' --env KILAWATT_X402_MAX_USD_PER_JOB='ใส่ค่าของคุณ' --env KILAWATT_X402_MAX_USD_PER_SESSION='ใส่ค่าของคุณ' --env KILAWATT_X402_URL='ใส่ค่าของคุณ' -- npx -y kilawatt-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"kilawatt": {
"command": "npx",
"args": [
"-y",
"kilawatt-mcp-server"
],
"env": {
"KILAWATT_API_KEY": "ใส่ค่าของคุณ",
"KILAWATT_BASE_URL": "ใส่ค่าของคุณ",
"KILAWATT_SITE_URL": "ใส่ค่าของคุณ",
"KILAWATT_X402_PRIVATE_KEY": "ใส่ค่าของคุณ",
"KILAWATT_X402_MAX_USD_PER_JOB": "ใส่ค่าของคุณ",
"KILAWATT_X402_MAX_USD_PER_SESSION": "ใส่ค่าของคุณ",
"KILAWATT_X402_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"kilawatt": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"kilawatt-mcp-server"
],
"env": {
"KILAWATT_API_KEY": "ใส่ค่าของคุณ",
"KILAWATT_BASE_URL": "ใส่ค่าของคุณ",
"KILAWATT_SITE_URL": "ใส่ค่าของคุณ",
"KILAWATT_X402_PRIVATE_KEY": "ใส่ค่าของคุณ",
"KILAWATT_X402_MAX_USD_PER_JOB": "ใส่ค่าของคุณ",
"KILAWATT_X402_MAX_USD_PER_SESSION": "ใส่ค่าของคุณ",
"KILAWATT_X402_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
KILAWATT_BASE_URL envKILAWATT_SITE_URL envKILAWATT_X402_MAX_USD_PER_JOB envKILAWATT_X402_MAX_USD_PER_SESSION envKILAWATT_X402_URL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub KilaWattCloud ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: KILAWATT_API_KEY, KILAWATT_X402_PRIVATE_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.0) เข้า registry 19 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Commonly
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.
Read Commonly pods and post as a Commonly agent you create, with a token from your Commonly account.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Model Context Protocol (MCP) server for requesting GPU compute capacity from Kilawatt Cloud, with account-based and x402 payment options.
This server calls the real Kilawatt gateways. Every response is an actual HTTP result from the Kilawatt public API or the x402 endpoint. There are no fabricated responses.
All examples are quote-only. See examples/README.md.
Client setup steps are in docs/clients.md.
The default endpoint is Kilawatt Cloud's gateway: https://www.kilawattcloud.dev/api/public/v1. Change it with the KILAWATT_BASE_URL environment variable.
The discovery and resume tools (get_capacity, get_platform_status, get_pricing, get_resume_info and resume_job) use the site root instead: https://www.kilawattcloud.dev. Change it with the optional KILAWATT_SITE_URL environment variable. A trailing slash is removed.
| Variable | Used by | Default |
|---|---|---|
KILAWATT_BASE_URL | deploy_gpu_node | https://www.kilawattcloud.dev/api/public/v1 |
KILAWATT_SITE_URL | get_capacity, get_platform_status, get_pricing, get_resume_info, resume_job | https://www.kilawattcloud.dev |
Install and run via npx:
npx -y kilawatt-mcp-server
Set your Kilawatt API key to use deploy_gpu_node, get_resume_info or resume_job. It is not required to start the server, use the x402 tools, or use get_capacity, get_platform_status and get_pricing:
export KILAWATT_API_KEY=kw_live_YOUR_KEY_HERE
The API key must start with kw_live_. API keys are issued through your Kilawatt Cloud account. Contact hello@kilawattcloud.dev for assistance if you don't have access to generate keys yet.
Add this configuration to your MCP client settings:
{
"mcpServers": { "kilawatt": { "command": "npx", "args": ["-y", "kilawatt-mcp-server"], "env": { "KILAWATT_API_KEY": "kw_live_YOUR_KEY_HERE" } } } }
Replace kw_live_YOUR_KEY_HERE with your Kilawatt API key when using deploy_gpu_node. For x402-only use, omit KILAWATT_API_KEY.
Using goose? See GOOSE.md.
Start the MCP server:
npm start
Or directly:
node index.js
The server listens on stdio for MCP requests from your agent.
The server exposes nine tools: deploy_gpu_node, x402_quote, x402_run_job, x402_job_status, get_capacity, get_platform_status, get_pricing, get_resume_info and resume_job.
deploy_gpu_nodeProvision real GPU compute on Kilawatt Cloud. This starts an actual machine and charges the caller's Kilawatt wallet. Set dry_run: true to check pricing and routing without provisioning or charging. Requires KILAWATT_API_KEY.
| Parameter | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
gpu_type | string | No | nvidia-h100 | Any non-empty string up to 64 characters (no enum is checked locally) | GPU model identifier; the gateway decides what it accepts |
card_count | integer | No | 1 | 1 to 64 | Number of GPUs |
duration_seconds | number | No | 600 | 1 to 86400 | How long the node is needed. Billed up front. |
routing_policy | string | No | lowest_cost | lowest_cost, lowest_latency, zero_quota | How the smart order router picks a node |
dry_run | boolean | No | false | true, false | Price and pre-authorize only |
{
"name": "deploy_gpu_node", "arguments": { "card_count": 2, "duration_seconds": 1800, "dry_run": true } }
x402_quoteGet the current price and Base USDC payment details for a GPU job without paying.
| Parameter | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
gpu_type | string | No | nvidia-h100 | nvidia-b300, nvidia-b200, nvidia-h200, nvidia-h100, nvidia-a100, nvidia-l40s, nvidia-l40, nvidia-a40, nvidia-a10, nvidia-rtx-a6000, nvidia-rtx-a5000, nvidia-rtx-a4500, nvidia-rtx-a4000, nvidia-rtx-5090, nvidia-rtx-4090, nvidia-rtx-3090 | GPU model |
card_count | integer | No | 1 | 1 to 4 for nvidia-b200; 1 to 8 for nvidia-h100, nvidia-h200, nvidia-a100, nvidia-l40s; 1 to 16 for all others | Number of GPUs |
duration_seconds | number | No | 600 | 60 to 86400 | Job length in seconds |
routing_policy | string | No | not sent | lowest_cost, lowest_latency, zero_quota | Routing policy |
workload_type | string | No | not sent | agent_exec, fine_tune, batch_inference | Workload type |
The published input schema states a maximum of 16 for card_count. The tighter per-GPU limits above are enforced in code when the call is made.
x402_run_jobQuote and pay for one GPU job in Base USDC. Takes the same parameters as x402_quote, plus:
| Parameter | Type | Required | Description |
|---|---|---|---|
max_usd | number | Yes | Must be greater than 0. Payment is refused above this amount or above either spend cap. |
confirm | boolean | Yes | Must be true or nothing is paid. |
x402_job_statusGet the status of a job created through x402, using the API key saved locally by x402_run_job.
| Parameter | Type | Required | Description |
|---|---|---|---|
job_id | string | Yes | 1 to 128 characters |
get_capacityRead current GPU capacity data. Read-only. No API key and no arguments. Calls GET {KILAWATT_SITE_URL}/api/capacity. If the data is not available right now (HTTP 503 with code unavailable), the tool says so.
{ "name": "get_capacity", "arguments": {} }
get_platform_statusRead the platform status. Read-only. No API key and no arguments. Calls GET {KILAWATT_SITE_URL}/api/status. The result has status (operational, degraded, incident or unknown), status_note, last_checked, status_page and latest_test_summary.
{ "name": "get_platform_status", "arguments": {} }
get_pricingRead indicative USD prices per GPU hour for each GPU tier. Read-only. No API key and no arguments. Calls GET {KILAWATT_SITE_URL}/api/pricing. These prices are indicative only. The exact price for a job comes from an unpaid x402 request, for example x402_quote.
{ "name": "get_pricing", "arguments": {} }
get_resume_infoCheck whether a job can be resumed from its last checkpoint. Read-only: nothing is started or charged. Requires KILAWATT_API_KEY. Calls GET {KILAWATT_SITE_URL}/api/jobs/{job_id}/resume-info.
| Parameter | Type | Required | Description |
|---|---|---|---|
job_id | string | Yes | 36 characters, hex digits and dashes. Checked before any request is sent. |
The result has job_id, checkpoint_count, last_checkpoint_at, can_resume, reason (null, no_checkpoint or job_still_running) and resume_action.
{ "name": "get_resume_info", "arguments": { "job_id": "YOUR_JOB_ID" } }
resume_jobStart a new paid run that resumes a job from its last checkpoint on a different supplier. This spends money. Requires KILAWATT_API_KEY. Call get_resume_info first and ask the user before confirming. Calls POST {KILAWATT_SITE_URL}/api/jobs/{job_id}/resume once and never retries it automatically.
| Parameter | Type | Required | Description |
|---|---|---|---|
job_id | string | Yes | 36 characters, hex digits and dashes |
confirm | boolean | Yes | Must be exactly true |
max_spend_usd | number | Yes | Spend cap for the new run. Must be greater than 0. |
duration_seconds | integer | No | 60 to 86400. Sent only when given. |
All of these are checked locally before any request is sent. If a check fails, nothing is sent.
{
"name": "resume_job", "arguments": { "job_id": "YOUR_JOB_ID", "confirm": true, "max_spend_usd": 5 } }
deploy_gpu_node and the x402 toolsgpu_type is free text (up to 64 characters) in deploy_gpu_node but a fixed list in the x402 tools.card_count allows up to 64 in deploy_gpu_node but at most 16 (less for some GPUs) in the x402 tools.duration_seconds allows 1 to 86400 in deploy_gpu_node but 60 to 86400 in the x402 tools.deploy_gpu_node defaults routing_policy to lowest_cost; the x402 tools send no routing policy unless you set one.Tool results are formatted from the real HTTP response returned by the Kilawatt gateway.
The x402 tools let you request capacity with Base USDC without a Kilawatt account or API key. Spend caps are enforced locally.
The server must be able to read the following environment variables when you use x402 payments:
| Variable | Purpose | Default |
|---|---|---|
KILAWATT_X402_PRIVATE_KEY | Base-compatible wallet key, needed only to pay with x402_run_job | Not set |
KILAWATT_X402_MAX_USD_PER_JOB | Maximum price for one paid job | 0.25 |
KILAWATT_X402_MAX_USD_PER_SESSION | Maximum cumulative spend in this server process | 1.00 |
KILAWATT_X402_URL | Override the x402 execution endpoint | Kilawatt production endpoint |
The returned API key is stored at ~/.config/kilawatt/x402-api-key with restrictive file permissions. It is never shown in tool output. Existing deploy_gpu_node still requires KILAWATT_API_KEY.
Use a separate small wallet for x402, and keep its private key out of prompts and shared configuration. The payer does not need ETH; the facilitator submits the transaction.
For x402 users: Check that your Base wallet has enough USDC and that your spend caps allow the amount.
All errors are descriptive and indicate whether anything was provisioned or charged. Common scenarios:
card_count > 64). Fix and retry.gpu_type or smaller card_count.ตัดมาแค่ช่วงต้น อ่านต่อใน repo