Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Project board for teams and coding agents: Kanban, sprints, 46 tools, OAuth 2.1 or API tokens.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://{organisation}.board-planner.com/api/mcpที่อยู่มีส่วน {…} ที่มีแต่คุณรู้ (เช่นบัญชีของคุณ) ให้คัดลอกไปแก้ก่อน
พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http board-planner 'https://{organisation}.board-planner.com/api/mcp'ที่อยู่มีส่วน {…} ที่มีแต่คุณรู้ (เช่นบัญชีของคุณ) ให้คัดลอกไปแก้ก่อน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"board-planner": {
"url": "https://{organisation}.board-planner.com/api/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ที่อยู่มีส่วน {…} ที่มีแต่คุณรู้ (เช่นบัญชีของคุณ) ให้คัดลอกไปแก้ก่อน
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"board-planner": {
"type": "http",
"url": "https://{organisation}.board-planner.com/api/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://{organisation}.board-planner.com/api/mcpที่อยู่มีส่วน {…} ที่มีแต่คุณรู้ (เช่นบัญชีของคุณ) ให้คัดลอกไปแก้ก่อน
ชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub rafalpodles ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ต้องใส่ค่าของบัญชีคุณในที่อยู่ก่อน จึงตรวจแทนไม่ได้
ต้องใส่ค่าของบัญชีคุณในที่อยู่ก่อน จึงตรวจแทนไม่ได้
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.9.0) เข้า registry 12 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper
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.
High-precision static analysis and debug server for AutoCAD AutoLISP (.lsp) files.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
One board. Your team works it. So do your agents.
A Kanban board, sprints and a dashboard small teams can actually run — plus an MCP server and a REST API, so coding agents pick up the same tasks under the same rules as everybody else.
Most trackers bolt automation on: a bot posts a comment, a script moves a card, and the real state of the work lives somewhere the board cannot see. Board Planner starts from the other end. The board, the REST API and the MCP server are three doors into one model, with the same permission checks behind each. An agent moving a task to *In Review* passes the same status rules as a person dragging the card, and leaves the same trail in the same history.
In the cloud, signing up puts a new organisation on its own subdomain of board-planner.com. It starts with a 30-day Pro trial, no card, and then becomes Free — up to 10 members, unlimited projects and tasks, the REST API, the MCP server, and workers and agents on one machine — or Pro, which adds more members, any number of machines, a monthly AI allowance on our key and Coda sync. Agents, workers and API tokens never count as members.
On your own server, docker compose up gives you one organisation of your own. The Community edition is AGPL-3.0, has no member or machine limit and runs the AI features on your own key; Pro self-hosted adds Coda sync and e-mail support.
AI on your own key is free on every plan, and nothing that ships in Free will move to Pro. Prices and the full comparison are on board-planner.com/pricing.
Plenty of tools can now make a machine write code. Board Planner is about everything around it: who proposed the work, who approved it, what the machine was allowed to touch, what had to pass before anything landed, and where it stops and gives the work back.
Two agents, at the two ends of that arc: a PM agent that proposes and writes things down, and an execution worker that takes an approved task and does it. Neither decides anything you did not let it decide.
The PM agent is a project manager that lives in the project. It reads the board, notices what is stuck, duplicated or missing, and brings you the decision rather than filing a pile of tickets nobody asked for. It is good at the work nobody enjoys: writing the acceptance criteria a task was created without, finding the duplicate, saying where a sprint actually stands.
In that screenshot, the badge under the reply is the action — the message and the write are one record, so you can see a reply also changed ORB-9 rather than merely talking about it. And it left the task where it was, because it was told to. Board reviews run with change_status and create_task withheld, so the autonomous path can tell you something is wrong without quietly reorganising your board overnight.
It is off by default, per project, and metered rather than trusted: every call is counted in tokens per organisation, autonomous turns as well as yours, against an allowance an instance can set, and an instance administrator can lock it off for a project in a way project settings cannot override. Without OPENROUTER_API_KEY the pages say so and the feature stays inert; AI Assist runs on the same key.
📖 PM agent · Autonomous board reviews
Assign the task, name an agent, drag it into the column you approve from. That pair is the hand-over — nothing runs on a task that names no agent, and there is no falling back to a project default. A task somebody else assigned to you is a proposal, not a job queued on your machine.
An agent is an ordered list of blocks, and there are exactly two kinds:
| Can it change anything? | Can it stop the run? | |
|---|---|---|
| Step — Implement, Push, Pull request, Merge | yes | no |
| Gate — Size, Protected files, Test written, Builds, Tests pass, Reviewed | no | yes |
A step cannot refuse and a gate cannot write, so every block that could stop the run is a gate, and you can see all of them at a glance.
Each step is its own model session. Two steps in one agent share the task and the worktree and nothing else, which is why *analyse, then implement* is different from asking one model to do both: the second step reads what the first wrote, not what it was thinking.
Merging is a step, not a switch. There is no "auto-merge" checkbox and no rule that ties it to a review setting. An agent merges because its sequence ends with a Merge block; leave it out and the run stops at the pull request.
Three agents ship with it: Default, With security review and Merges its own work. A project that never opens the editor runs Default.
This is the part that took the longest to get right, and it is why the hand-over is safe to use on a real repository:
| Guarantee | Why it holds |
|---|---|
| The server never sends a path | An assignment names a task and a git remote. The worker resolves its own checkout from a file on its own machine, so where anything lives stays a local decision. |
| A read-only step cannot be talked into writing | Read only becomes a tool list the worker builds itself. It is not a thing the board can express, so no prompt typed into a task can grant write access. |
| A check the machine does not implement stops the run | A gate naming an unknown kind refuses rather than skipping — a missing check must never look like a check that passed. |
| Nothing executes the repo's own scripts unreviewed | The editor refuses a Builds or Tests-pass gate over a change that Protected files has not read first, so a script the agent just wrote cannot run before something checked whether it was allowed to write it. |
| The worker holds one credential, and never the database | It talks to the app over REST with a cpw_ credential registration minted. A box executing agent-written code has no business holding database credentials. |
| It pushes as an account you named | gh auth switch is global state on a developer machine, so the identity is pinned per worker rather than left to whatever somebody switched to last. |
| A held task refuses to move | While a run holds a task, a status change that would leave the column is refused with 409 through every writer — board, edit form, MCP, PM agent. Forcing past it is a person's gesture: any machine credential is refused. |
| Failure lands in front of a human | A usage limit returns the task with its attempt refunded; a crash spends one. A repeating failure runs out of retries and stops, instead of cycling forever. |
The whole run reports onto the task as it happens, so the task's comments are the run log — branch, edits, which gate said no, how much model quota is left. No side channel, no CI tab.
📖 The full story: Agents · Execution workers · worker/README.md
Columns you name, in an order you choose. Each one is mapped to a role automation understands (backlog, approved, active, review, blocked, done), so renaming *Up next* to *Ready* breaks nothing. Any column with the review role is a stop sign for automation, where work waits for a person. Drag-and-drop board, list view, sprints, dependencies and subtasks, recurring tasks, and ⌘K search across every task from anywhere in the app.
It follows your system theme, and the whole app is built for both:
Acceptance criteria that tick off one by one, dependencies, the pull request that closes it, custom fields you define per project, every comment and every change since it was created. Name a branch bp-8/dark-mode and the pull request finds its task on its own.
Forty-six MCP tools over HTTP put the board in your terminal, so Claude Code reads the backlog, claims a task and moves it — through the same permissions a teammate gets. API tokens can be scoped to specific projects, and the scope is enforced centrally, so it holds for REST and MCP alike.
How you are doing, what is piling up, and whether you are finishing as fast as you are starting. Six charts, no spreadsheet.
Notifications in-app, by email, or to Slack and Discord — per user, per project, per event. Project audit trail. Webhooks, signed. GitHub and GitLab PR linking. Works on a phone.
You need Docker with Compose 2.24 or newer — older Compose rejects the file's env_file entry even without a .env. Nothing else: no Node, no MongoDB, not even a clone.
curl -fsSLO https://raw.githubusercontent.com/rafalpodles/board-planner/main/docker-compose.yml
docker compose up -d
That runs the published image, ghcr.io/rafalpodles/board-planner, built for linux/amd64 and linux/arm64 on every release from 1.1.0 on — 1.0.x predates it and has no image. :latest is the newest release; pin one with BOARD_PLANNER_VERSION=1.2.3 in a .env next to the compose file. To upgrade, docker compose pull && docker compose up -d.
The compose file on main needs an image of 1.1.2 or later: it passes COOKIE_ALLOW_INSECURE=auto
ตัดมาแค่ช่วงต้น อ่านต่อใน repo