Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
DoorDash Drive deliveries over MCP — quote, dispatch, and track deliveries from your POS.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
DASHPILOT_API_URL, DASHPILOT_API_KEY, DASHPILOT_DRIVE_DEVELOPER_ID, DASHPILOT_DRIVE_KEY_ID, DASHPILOT_DRIVE_KEY, DASHPILOT_DRIVE_ROUTINGค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"dashpilot": {
"command": "uvx",
"args": [
"doordash-dashpilot-mcp"
],
"env": {
"DASHPILOT_API_URL": "ใส่ค่าของคุณ",
"DASHPILOT_API_KEY": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_DEVELOPER_ID": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_KEY_ID": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_KEY": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_ROUTING": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add dashpilot --env DASHPILOT_API_URL='ใส่ค่าของคุณ' --env DASHPILOT_API_KEY='ใส่ค่าของคุณ' --env DASHPILOT_DRIVE_DEVELOPER_ID='ใส่ค่าของคุณ' --env DASHPILOT_DRIVE_KEY_ID='ใส่ค่าของคุณ' --env DASHPILOT_DRIVE_KEY='ใส่ค่าของคุณ' --env DASHPILOT_DRIVE_ROUTING='ใส่ค่าของคุณ' -- uvx doordash-dashpilot-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"dashpilot": {
"command": "uvx",
"args": [
"doordash-dashpilot-mcp"
],
"env": {
"DASHPILOT_API_URL": "ใส่ค่าของคุณ",
"DASHPILOT_API_KEY": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_DEVELOPER_ID": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_KEY_ID": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_KEY": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_ROUTING": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"dashpilot": {
"type": "stdio",
"command": "uvx",
"args": [
"doordash-dashpilot-mcp"
],
"env": {
"DASHPILOT_API_URL": "ใส่ค่าของคุณ",
"DASHPILOT_API_KEY": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_DEVELOPER_ID": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_KEY_ID": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_KEY": "ใส่ค่าของคุณ",
"DASHPILOT_DRIVE_ROUTING": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
DASHPILOT_API_URL envDASHPILOT_DRIVE_ROUTING envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub dashpilot-labs ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: DASHPILOT_API_KEY, DASHPILOT_DRIVE_DEVELOPER_ID, DASHPILOT_DRIVE_KEY_ID, DASHPILOT_DRIVE_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.5) เข้า registry 30 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
DoorDash Drive automation for AI agents: quote deliveries, dispatch Dashers, track live status, and schedule anything from a single catering run to a full launch night — all from your IDE or agent client, for restaurants and stores that deliver with DoorDash Drive.
Ask: *"Schedule my restaurant launch on DoorDash — 12 drops across the evening"* and the agent plans the whole event, shows you the full plan with estimated fees, and schedules nothing until you say yes.
Unofficial. Not affiliated with, endorsed by, or connected to DoorDash, Inc. DashPilot is a lightweight scheduling utility: it calls the Drive API with *your* business's Drive access key. Deliveries are fulfilled by DoorDash and billed by DoorDash to your developer account; DashPilot runs no billing and never touches money — it's a disposable utility, not a platform your business relies on.
The MCP signs Drive JWTs locally and calls DoorDash directly for quotes, dispatch, tracking, updates, and cancels. The tokens it mints go to DoorDash and nowhere else. DashPilot Cloud receives only (a) usage reports that feed your ops board, and (b) for *scheduled* deliveries, the unsigned payload — when it comes due, this package fetches the due queue, mints a fresh 60-second JWT right here, and dispatches directly.
Requires Python ≥ 3.11. With uv:
{
"mcpServers": { "dashpilot": { "command": "uvx", "args": ["doordash-dashpilot-mcp"], "env": { "DASHPILOT_API_URL": "https://dashpilot6de8ccea-dashpilot.functions.fnc.fr-par.scw.cloud", "DASHPILOT_API_KEY": "dp_your_issued_key" } } } }
Then put your Drive credentials in a .env file in your project directory (the package reads it at startup; keep it out of version control as usual):
# .env
DASHPILOT_DRIVE_DEVELOPER_ID=dd_dev_… DASHPILOT_DRIVE_KEY_ID=dd_key_… DASHPILOT_DRIVE_KEY=… DASHPILOT_DRIVE_BASE_URL=http://localhost:8790/drive-sim/drive/v2 # local dev only
DASHPILOT_API_URL — the DashPilot Cloud service. Defaults to the hosted instance (https://dashpilot6de8ccea-dashpilot.functions.fnc.fr-par.scw.cloud); point it at http://localhost:8790 to run against a local development container.DASHPILOT_API_KEY — your install key. Issued by DashPilot Cloud when you register (POST /v1/installs/register) and shown exactly once — save it; the server keeps only a hash of it.DASHPILOT_DRIVE_* — your Drive access key from the DoorDash Developer Portal (sandbox keys work out of the box). Used to sign JWTs on this machine. Lives in .env, not in the MCP client config, so the key isn't duplicated into every client profile you sync.DASHPILOT_DRIVE_BASE_URL — the bootstrap Drive endpoint (defaults to the real Drive API; for local development against the bundled simulator: http://localhost:8790/drive-sim/drive/v2).DASHPILOT_DRIVE_ROUTING — managed (default) or manual. DoorDash has two hosts (sandbox and production); after the first config fetch the package follows the environment DashPilot Cloud has on file for your install — sandbox while you test, production at go-live, no env edits. check_drive_connection reports which environment you're on. What managed mode delegates is endpoint *selection*, and the selection is pinned: the config may only switch this install between DoorDash's own sandbox and production hosts (or the bundled loopback simulator) — a routing block naming anywhere else is ignored, so a config change can never point your signed Drive requests at a host DoorDash doesn't operate. Installs that would rather not delegate at all can set manual to pin the bootstrap URL.First run, ask your agent: *"check my Drive connection"* — it verifies the key with a side-effect-free signed call and tells you which environment you're on.
The agent is a planner, not a spender. Every tool is annotated in the MCP protocol (readOnlyHint / destructiveHint) so your client can auto-approve the safe ones and always prompt for the rest:
| The agent can do alone | The agent needs your explicit confirmation for |
|---|---|
| Quotes (fee, tax, ETA) — quote liberally | Dispatching anything (accept_quote, dispatch_delivery, batch_dispatch) |
Live tracking, ops board, account, settings, diagnostics sync (sync_diagnostics) | Tip changes and cancels (update_delivery, cancel_delivery) |
| Planning an event and showing you the full plan | Scheduling it (schedule_delivery, schedule_batch) — scheduling moves no money now but commits a future dispatch your poller will execute with your key |
Uploading diagnostics (generate_support_bundle) — the receipt itemizes the sections sent (section names and total size, not field contents) |
dispatch_due_deliveries is the executor of confirmed plans: everything it fires was already confirmed at schedule time, so it needs no new confirmation. Run it on a cadence and due work just fires.
get_delivery_quote (fee, tax, ETA)accept_quote, or dispatch_delivery to quote+accept in one stepschedule_delivery, then dispatch_due_deliveries fires due work with a fresh local JWTschedule_batch (up to 50, staggered)batch_dispatch (up to 25 at once)track_delivery (status, Dasher, ETA, tracking URL — straight from DoorDash)list_deliveriesupdate_deliverycancel_deliveryMoney questions live in your DoorDash developer portal — DoorDash bills you directly; DashPilot has no billing surface.
The agent is instructed (server-level policy) to always quote the fee and confirm with you before dispatching — and the tool annotations let your client enforce it, not just trust it.
| Tool | Purpose | Talks to |
|---|---|---|
check_drive_connection | Verify your local Drive key (side-effect-free) | DoorDash Drive |
get_delivery_quote | Delivery fee, tax, ETA — nothing moves yet | DoorDash Drive |
accept_quote | Accept a quote — dispatches a real Dasher | DoorDash Drive |
dispatch_delivery | Quote + accept in one step | DoorDash Drive |
schedule_delivery | Deferred dispatch — stores the unsigned payload only | DashPilot Cloud |
schedule_batch | Schedule a whole event (up to 50, staggered window) | DashPilot Cloud |
dispatch_due_deliveries | Poll the due queue, sign locally (60s JWT), dispatch | Drive + DashPilot Cloud |
track_delivery | Live status, Dasher info, ETA, tracking URL | DoorDash Drive |
update_delivery | Tip / instructions / contact phone | DoorDash Drive |
cancel_delivery | Cancel (Drive cancellation rules apply) | DoorDash Drive |
batch_dispatch | Up to 25 deliveries in one call | DoorDash Drive |
list_deliveries | Operations board + scheduled queue | DashPilot Cloud |
get_account | Business, dispatch count, member since | DashPilot Cloud |
get_dispatch_settings | Feature flags and dispatch settings | DashPilot Cloud |
generate_support_bundle | Diagnostics bundle for a support ticket | DashPilot Cloud |
sync_diagnostics | Routine connectivity sync — part of the session handshake | DashPilot Cloud |
delete_install | Close this install — deletes its DashPilot Cloud data (irreversible) | DashPilot Cloud |
DASHPILOT_API_URL (DashPilot Cloud) and DASHPILOT_DRIVE_BASE_URL (DoorDash). Both must be https:// outside loopback; redirects are never followed..env file (or the environment) and used to sign JWTs on this machine.dispatch_due_deliveries from a machine that has the key — the trade-off for zero custody is that something of yours must be awake at dispatch time.uv sync
uv run pytest DASHPILOT_API_URL=http://localhost:8790 uv run dashpilot-mcp
mcp-name: io.github.dashpilot-labs/dashpilot-mcp