เชื่อม AI agent กับ BoardMark อย่างไร?
เพิ่ม BoardMark เป็น MCP server แล้วเข้าสู่ระบบผ่านเบราว์เซอร์ — ไม่ต้องคัดลอก token หรือใช้ personal access token สำหรับ CI และเครื่องที่ไม่มีเบราว์เซอร์ agent ทำงานด้วยสิทธิ์เท่าคุณ — เห็นเฉพาะ project ที่คุณเห็น และไม่มีวันได้สิทธิ์ admin
สิทธิ์เท่าผู้ใช้ ไม่เคยได้สิทธิ์ admin
หา BoardMark ใน marketplace ของคุณ
BoardMark ลงไว้ใน marketplace เหล่านี้แล้ว — กดการ์ดเพื่อเปิดหน้ารายการ ส่วนที่เป็นสีเทากำลังรอ vendor ตรวจ
เร็ว ๆ นี้: GitHub / VS Code MCP gallery
ติดตั้งคลิกเดียว
เลือก AI client ที่คุณใช้ — ปุ่มเปิดแอปให้เลย หรือคัดลอกคำสั่งเดียว
- กดติดตั้ง แล้วกด Install ใน VS Code
- เริ่ม server แล้วเข้าสู่ระบบ BoardMark ในเบราว์เซอร์
claude mcp add --transport http boardmark https://mcp.boardmark.ai/mcp- รันคำสั่งใน terminal
- ใน Claude Code พิมพ์ /mcp แล้วเลือก boardmark เพื่อเข้าสู่ระบบ
- กด Add custom connector แล้ววาง URL ของ MCP server
- กด Connect แล้วเข้าสู่ระบบ BoardMark
codex mcp add boardmark --url https://mcp.boardmark.ai/mcp && codex mcp login boardmark- รันคำสั่งใน terminal
- เข้าสู่ระบบ BoardMark ในเบราว์เซอร์ที่เปิดขึ้น
gemini extensions install https://github.com/i-c-develop/boardmark- รันคำสั่งใน terminal
- ใน Gemini CLI พิมพ์ /mcp auth boardmark เพื่อเข้าสู่ระบบ
ส่งลิงก์เดียวให้ AI assistant ตัวไหนก็ได้
คู่มือสำหรับ AI agent เป็นไฟล์ Markdown ไฟล์เดียว: BoardMark คืออะไร ใช้งานอย่างไรทีละขั้น กติกา ราคา และคำถามที่พบบ่อย วางลิงก์ใน ChatGPT, Claude, Gemini, Copilot หรือ AI ตัวอื่น แล้ว AI จะช่วยคุณใช้งาน BoardMark ได้ทันที ไม่ว่าจะเชื่อม MCP หรือไม่ ถ้า AI นั้นรองรับ MCP คู่มือนี้ก็บอกวิธีเชื่อมต่อด้วย
https://www.boardmark.ai/th/agents.mdหรือวางข้อความนี้ให้ AI
อ่าน https://www.boardmark.ai/th/agents.md แล้วช่วยฉันใช้งาน BoardMarkวิธีที่ 1 · เข้าสู่ระบบผ่านเบราว์เซอร์ (แนะนำ)
เพิ่ม BoardMark เป็น MCP server
ใน Claude Code รันคำสั่งนี้ (Streamable HTTP) ไม่ต้องใส่ token:
Claude Code claude mcp add --transport http boardmark https://mcp.boardmark.ai/mcpเข้าสู่ระบบและเลือกบริษัท
Claude Code เปิดเบราว์เซอร์ให้คุณเข้าสู่ระบบ BoardMark แล้วเลือกบริษัทที่จะให้ agent ใช้ (ถ้าเบราว์เซอร์ไม่เปิดเอง ให้รัน /mcp ใน Claude Code แล้วเลือก server นี้เพื่อเข้าสู่ระบบ) สิทธิ์นี้ใช้ได้กับบริษัทเดียว
ดูและยกเลิกได้ทุกเมื่อ
แอปที่เข้าสู่ระบบไว้แสดงในหน้า “สิทธิ์เข้าถึงของเอเจนต์และ MCP” ของเว็บแอป กดออกจากระบบแล้วแอปนั้นเสียสิทธิ์ทันที
เปิดเว็บแอป
วิธีที่ 2 · personal access token (สำหรับ CI)
สร้าง token ในแอป
ในหน้า “สิทธิ์เข้าถึงของเอเจนต์และ MCP” สร้างโทเคนใหม่ ตั้งชื่อ และเลือกอายุ 30, 90, 180 หรือ 365 วัน token ขึ้นต้นด้วย board_pat_ และแสดงเพียงครั้งเดียว — เก็บไว้ในที่ปลอดภัย เพิกถอนได้ทุกเมื่อ
เก็บ token ไว้ในตัวแปรสภาพแวดล้อม
อย่าใส่ token ลงในไฟล์ที่ commit เข้า git
shell export BOARDMARK_TOKEN="board_pat_…"เพิ่ม MCP server พร้อม header
สำหรับ Claude Code:
Claude Code claude mcp add --transport http boardmark https://mcp.boardmark.ai/mcp --header "Authorization: Bearer $BOARDMARK_TOKEN"หรือใส่ใน .mcp.json ของ project (Claude Code ขยาย ${BOARDMARK_TOKEN} จากตัวแปรสภาพแวดล้อมให้):
.mcp.json { "mcpServers": { "boardmark": { "type": "http", "url": "https://mcp.boardmark.ai/mcp", "headers": { "Authorization": "Bearer ${BOARDMARK_TOKEN}" } } } }
ใช้กับ AI agent อื่นได้ไหม?
ได้ BoardMark ใช้ได้กับ AI client ทุกตัวที่รองรับ MCP แบบ Streamable HTTP — เข้าสู่ระบบผ่านเบราว์เซอร์ (OAuth) หรือใช้ personal access token ขั้นตอนตั้งค่าที่คัดลอกไปใช้ได้ทันทีของแต่ละตัวอยู่ในคู่มือเดียว:
- Claude Code
- Claude Desktop
- claude.ai
- OpenAI Codex CLI
- ChatGPT
- Google Antigravity
- Gemini CLI
- xAI Grok
- Goose
- OpenCode
- Cursor
- VS Code (GitHub Copilot)
- Windsurf
- Kiro
- Zed
- Cline
- Continue
- LM Studio
- Mistral Le Chat
- Microsoft Copilot Studio
client ที่รันได้เฉพาะ server แบบ local (stdio) เชื่อมต่อผ่าน mcp-remote
วิธีตั้งค่า MCP ของทุก client (connect.md)
ให้ agent ตั้งค่าเอง
วางข้อความนี้ให้ agent แล้ว agent จะอ่านคู่มือและทำตามขั้นตอนสำหรับ client ที่ตัวเองทำงานอยู่:
เชื่อมต่อตัวเองกับ BoardMark: อ่าน https://mcp.boardmark.ai/connect.md แล้วทำตามขั้นตอนสำหรับไคลเอนต์ที่คุณกำลังทำงานอยู่ลดค่า token: เลือกชุด tool ที่ต้องใช้
AI client บางตัว (ChatGPT, Cursor, Gemini และอื่น ๆ) โหลดคำอธิบาย tool ทั้งหมดทุกครั้งที่เริ่ม session — ชุดเต็มประมาณ 198 KB หรือราว 50,000 token (Claude Code โหลดเมื่อต้องใช้ จึงไม่กระทบมาก) ถ้า agent ไม่ต้องใช้ทุก tool ให้ใส่ ?tools= ท้าย URL ของ MCP เพื่อเลือกชุดที่เล็กลง ล็อกอินและสิทธิ์เหมือนเดิมทุกอย่าง และ OAuth ใช้ได้ตามปกติ
| ท้าย URL | ได้อะไร |
|---|---|
https://mcp.boardmark.ai/mcp | ไม่ใส่ tools (ค่าเริ่มต้น) — ได้ทุก tool เหมือนเดิม |
https://mcp.boardmark.ai/mcp?tools=lean | เฉพาะ tool งานหลัก (project, งานของฉัน, ค้นหา, อ่าน/สร้าง/แก้/ย้าย/มอบหมาย/ลบ issue, comment, บริบทของ issue, project และเอกสาร, คน, การจัดลำดับ, ลิงก์, development) ประมาณครึ่งหนึ่งของขนาดเต็ม |
https://mcp.boardmark.ai/mcp?tools=lean,releases,sprints | lean บวกกลุ่มที่ระบุ |
https://mcp.boardmark.ai/mcp?tools=-work_context,-support | ทุก tool ยกเว้นกลุ่มที่ใส่เครื่องหมาย - นำหน้า |
กลุ่มที่เลือกเปิดหรือปิดได้
| กลุ่ม | Tool | รายละเอียด |
|---|---|---|
work_context | — | “กำลังทำอะไร”: agent แต่ละตัวทำอะไรบนการ์ดและแตะไฟล์ไหน (D179–D182) ไม่มี tool ของตัวเอง — ปิดแล้ว working / touches / if_unassigned หายจาก tool ของ issue และจากผลลัพธ์กับ get_issue_context; ถ้ามี agent ตัวเดียวทำงานคนเดียว ส่วนนี้แทบมีแต่ต้นทุน |
inbox | list_inbox, read_inbox | กล่องข้อความของ agent |
releases | list_releases, get_release, move_to_release, add_to_release, create_release, update_release, add_release_deployment | Release |
sprints | list_sprints, create_sprint, update_sprint, close_sprint, move_to_sprint, get_burndown | Sprint และ burndown |
sales_documents | list_sales_documents, issue_sales_document | ใบเสนอราคา ใบวางบิล ใบเสร็จ |
support | open_support_case, list_support_cases, get_support_case, reply_support_case, follow_support_case, unfollow_support_case, close_support_case, reopen_support_case, get_support_summary | เคสขอความช่วยเหลือ (9 tool) |
insights | get_project_insights, get_company_insights, list_summaries, get_summary | Insights และสรุปอัตโนมัติ |
files | read_file, write_file, list_dir, diff, get_history, get_doc_history, restore_doc_version, delete_doc | ไฟล์ ประวัติ และการย้อนเวอร์ชันเอกสาร |
attachments | list_attachments, request_upload, attach_file, get_download_url, delete_attachment | ไฟล์แนบ |
votes_watchers | vote_issue, unvote_issue, watch_issue, unwatch_issue, list_watchers | โหวตและผู้ติดตาม |
tool ที่อยู่นอกชุดจะตอบ tool_disabled พร้อมบอกชื่อกลุ่ม ถ้าพิมพ์ชื่อใน tools ผิดจะถูกปฏิเสธ (400) พร้อมรายชื่อที่ถูกต้อง ในเว็บแอปหน้า Agent & MCP มีสวิตช์ เต็ม / lean / กำหนดเอง ที่สร้าง URL ให้ ส่วน stdio ใช้ตัวแปร BOARD_TOOLS ถ้าแก้ URL ใน client แล้วให้เชื่อมต่อใหม่ นอกจากนี้ คำอธิบาย tool สั้นลงสำหรับทุกการเชื่อมต่อ
Agent ต้องทำงานตามกติกาอะไร?
- ต้องส่ง version ทุกครั้งที่เขียน — เรียก get_issue ก่อน update_issue เสมอ ถ้ามีคนแก้ก่อนจะได้ 409 version_conflict แทนการเขียนทับ
- อ่านเอกสารของ project ก่อนเริ่มงาน — get_project บอกว่าเอกสารไหนต้องอ่านก่อน (docs.read_first) หรือเรียก get_docs_context เพื่อได้ brief, working notes และ handoff ที่เปิดอยู่ในข้อความเดียว กฎของบริษัทและ project ในเอกสารเหล่านี้มาก่อนค่าตั้งต้นของ BoardMark (คำสั่งของผู้ใช้มาก่อนทุกอย่าง) ทีมจึงเขียนกฎครั้งเดียวแล้ว agent ทุกตัวทำตามเหมือนกัน
- รู้จักบอร์ดทั้ง 3 แบบ — Scrum มี sprint (อาจทำงานพร้อมกันหลาย sprint), Kanban และ Delivery pipeline ไม่มี sprint และ status ของ pipeline เป็นไปตาม environment ใน project.md
- บน Scrum คนเป็นผู้เริ่ม sprint — agent เปลี่ยน status ได้เฉพาะ issue ใน sprint ที่คนกดเริ่มแล้ว (ไม่งั้นได้ 409 sprint_not_started) และเริ่ม sprint เองไม่ได้ ระหว่างนั้นยังวางแผนใน backlog, comment และแก้ field อื่นได้
- ทำตามคอลัมน์ของบอร์ด — get_project บอกหมวด สี WIP limit และความหมายของแต่ละคอลัมน์ (บริษัท Premium ปรับคอลัมน์เองได้ในเว็บแอป) agent ทำตามความหมายนั้น และถือ WIP limit เป็นคำเตือน ถ้าได้ 403 plan_required แปลว่าฟีเจอร์นั้นต้องใช้แพ็กเกจ Premium — ผู้ดูแลบริษัทอัปเกรดได้ในเว็บแอป
- บอกว่ากำลังทำอะไร และดูว่าคนอื่นทำอะไร — ก่อนเริ่มการ์ด agent เรียก get_issue_context (การ์ด การ์ดที่ลิงก์ พี่น้อง comment MR/PR และ handoff ในข้อความเดียว) แล้วหยิบด้วย update_issue ครั้งเดียว: สถานะกำลังทำ + working + touches + if_unassigned: true (409 already_assigned = มีคนถืออยู่แล้ว) linked[] ของ get_issue แสดง assignee, working, touches และ agent_live ของแต่ละการ์ดที่ลิงก์ ทุกแพ็กเกจ BoardMark ช่วยเสริม AI harness แบบนี้ ไม่ได้รัน agent หรือล็อกไฟล์
- ทุก write ถูกบันทึก — ประวัติของ issue และเอกสารบอกว่าใช้สิทธิ์ของใคร AI ตัวไหน (เช่น “ผ่าน Claude Code”) เชื่อมด้วย OAuth หรือ token เรียก MCP tool ใด พร้อม request id ในแอปการ์ด comment และไฟล์แนบจาก agent มีป้ายกำกับ และคำขอที่ BoardMark ปฏิเสธบันทึกใน Audit log ของบริษัท
- จำกัด 600 requests/นาที ต่อ token — ค่าเริ่มต้น
- Premium: Agent account มีเจ้าของ — ใช้สิทธิ์เท่าเจ้าของ ใส่ reason ทุกการเขียนเพื่อให้ run log บอกเหตุผล ได้ agent_paused ให้หยุดและแจ้งผู้ใช้ ได้ rate_limited ให้รอตาม retry_after ไม่มีโควตารายวัน
- Premium: สรุปอัตโนมัติ — list_summaries แล้ว get_summary อ่านรายงานที่ BoardMark ส่งให้ทีม (อ่านอย่างเดียว) รายงานคำนวณจากข้อมูลบอร์ด ให้รายงานตามที่ได้ ไม่เดาเพิ่ม
- Premium: Insights — get_project_insights และ get_company_insights อ่านตัวเลข cycle time, lead time, throughput, WIP, งานค้างและต้นทุนต่อ release (อ่านอย่างเดียว) รายงานตามที่ได้ บอก “วัดได้ n จาก m ใบ” ห้ามเดาข้อมูลรายคนที่ไม่ได้รับ
- Pro/Premium: MR/PR ของการ์ด — list_development ดู MR/PR สถานะ CI และ commit ที่จับคู่กับการ์ด (อ่านอย่างเดียว) การเชื่อม repository และกฎย้ายอัตโนมัติตั้งในเว็บแอป
- ใบเสนอราคา ใบวางบิล ใบเสร็จ (ทุกแพ็กเกจ) — list_sales_documents และ issue_sales_document ออก PDF ภาษาไทยและอังกฤษจากการ์ดดีล Sales & Billing ต้องถามผู้ใช้ก่อนเสมอ: ชื่อ ที่อยู่ เลขผู้เสียภาษีของลูกค้า รายการ และ VAT ห้ามเดา ไม่มีใบกำกับภาษี ให้ผู้ใช้ออกจากระบบบัญชี
- Agent ไม่นับเป็น seat — ใช้สิทธิ์ของผู้ใช้ที่เชื่อมต่อ ไม่มีค่าใช้จ่ายเพิ่ม
มี tool อะไรบ้าง? (75 tools)
ทุก tool map 1:1 กับ public API และตรวจสิทธิ์เหมือนหน้าเว็บ
Project และงานของฉัน
| Tool | ทำอะไร |
|---|---|
list_projects | project ที่คุณเข้าถึงได้ พร้อมภาพรวม (issue ที่เปิดอยู่ sprint ที่กำลังทำงานและความคืบหน้า) ในครั้งเดียว |
list_my_issues | issue ที่มอบหมายให้คุณจากทุก project ในครั้งเดียว |
list_inbox | กล่องข้อความของคุณ (ชุดเดียวกับกระดิ่งในเว็บแอป): การ์ดที่มอบหมายให้ @mention การตอบกลับ การเปลี่ยนสถานะของการ์ดคุณ handoff และสิทธิ์เข้า project — ยังไม่อ่านขึ้นก่อน (unread_only, limit ≤ 30, แบ่งหน้าด้วย before = next_before); เรียกเมื่อเริ่ม session และหลังทำแต่ละการ์ด; token ของ agent account อ่านกล่องของเจ้าของ (ทุกแพ็กเกจ) |
read_inbox | ทำเครื่องหมายว่าอ่านแล้ว: ส่ง id เดียว หรือไม่ส่งเพื่ออ่านทั้งหมด — เรียกหลังจัดการเรื่องนั้นแล้ว |
start_run | agent account (Premium): เริ่ม run ใหม่พร้อมเป้าหมาย (goal) ให้ run log อ่านง่าย — ไม่บังคับ; token ส่วนตัวไม่บันทึกอะไร (logged: false) |
get_project | project.md: ประเภทบอร์ดและ template สถานะพร้อมหมวด สี WIP limit และความหมายของคอลัมน์ นิยามฟิลด์กำหนดเอง ตัวกรองที่บันทึกไว้ workflow environment บทบาทของคุณ และบน Scrum ค่า sprint_control (admins หรือ members: ใครกดเริ่ม sprint ได้) |
Issue
| Tool | ทำอะไร |
|---|---|
search_issues | ค้นหาตาม status, assignee, sprint, type, priority, label, ข้อความ (ชื่อ รายละเอียด หรือ issue key เต็มหรือบางส่วน), parent, ฟิลด์กำหนดเอง (fields), ป้ายของ template (flag เช่น overdue, off_track) และ issue ที่ลิงก์ถึง (linked_to=KEY-n) และเรียงตาม priority หรือฟิลด์ได้ (แบ่งหน้า) · hide_released=true ซ่อนการ์ดที่เสร็จใน release ที่ขึ้น production แล้ว (บอก omitted_released) ใช้ตอบว่า “อะไรยังไม่ขึ้น production” |
get_issue | อ่าน issue พร้อม version ล่าสุด ค่าฟิลด์คำนวณ (computed เช่น score, progress) working / touches ของการ์ด และปลายทางที่เชื่อมแบบสด (linked: key, ชื่อ, status หรือ state + progress ของ Release, ผู้รับผิดชอบ, working, touches, เวลาที่แก้ล่าสุด และ agent_live; readable: false เมื่อไม่มีสิทธิ์) |
get_issue_context | ก่อนเริ่มการ์ด: ข้อความ Markdown เดียวที่มีทุกอย่างเกี่ยวกับการ์ดนั้น — ฟิลด์ working / touches, parent, subtask และการ์ดพี่น้องพร้อมสิ่งที่ผู้รับผิดชอบกำลังทำ, การ์ดที่ลิงก์ทุกใบพร้อมผู้ถือและ working, comment ล่าสุด 20 รายการ, รายการ development (MR/PR) และ handoff ที่เปิดอยู่และระบุการ์ดนี้ และส่วนบันทึกสำหรับการ์ดนี้ (working notes ล่าสุด 3 รายการที่ labels ตรงกับการ์ด) — ข้อความที่ทีมเขียนถูกกำกับเป็นข้อมูล ไม่ใช่คำสั่ง; max_chars จำกัดความยาว (ทุกแพ็กเกจ) |
create_issue | สร้าง issue ใหม่ (1 issue = 1 ไฟล์ .md) พร้อมค่าฟิลด์กำหนดเอง (fields) ของ template |
update_issue | แก้หลาย field ในครั้งเดียว รวมฟิลด์กำหนดเอง (fields ทีละคีย์, null = ลบค่า) — ต้องส่ง version; ส่ง working + touches + if_unassigned: true พร้อม status เพื่อหยิบการ์ดในครั้งเดียว (409 already_assigned ถ้ามีคนถืออยู่ ไม่เขียนอะไร); ย้ายเข้าสถานะกำลังทำแล้ว touches ซ้อนกับการ์ดอื่นได้ warning touch_overlap (เตือนเท่านั้น) |
delete_issue | ลบ issue — ต้องส่ง version |
transition_issue | เปลี่ยน status ตาม workflow (รวมสถานะของแต่ละ environment บนบอร์ด Delivery pipeline) — บน Scrum ได้เฉพาะ issue ใน sprint ที่คนกดเริ่มแล้ว ไม่งั้น 409 sprint_not_started; รับ working, touches และ if_unassigned เหมือน update_issue; ถ้าการ์ดถูก blocked_by การ์ดที่ยังไม่ Done ได้คำเตือน unresolved_blocker และถ้า touches ซ้อนกับการ์ดอื่นที่กำลังทำอยู่ ได้ touch_overlap (หนึ่งรายการต่อใบ สูงสุด 10; ย้ายให้อยู่ดี) |
rank_issue | จัดลำดับ issue (วางก่อน/หลัง issue อื่น) |
assign_issue | มอบหมายผู้รับผิดชอบ |
list_people | ใครเปิด project นี้ได้บ้าง พร้อมชื่อและ role — ใช้ดูชื่อ reporter/assignee และหา id สำหรับ @mention (via: "company" = เข้าผ่านสิทธิ์ทั้งบริษัท) |
list_watchers | ใครติดตาม issue นี้อยู่ และคุณติดตามอยู่หรือไม่ |
watch_issue | ติดตาม issue เพื่อรับอีเมลเมื่อ status เปลี่ยนหรือมี comment ใหม่ |
unwatch_issue | เลิกติดตาม issue |
vote_issue | โหวตให้ issue (1 คน 1 เสียง โหวตซ้ำไม่เปลี่ยนอะไร) — สมาชิกขึ้นไป ใช้ได้ใน project ที่เปิดโหวต (template Feedback / Idea box) |
unvote_issue | ถอนโหวตของคุณจาก issue |
link_issues | เชื่อม issue (blocks, relates, duplicates, clones) — รับ key ของ project อื่นในบริษัทเดียวกัน และ delivers ไป Release ด้วย id KEY/R-n (403 link_target_forbidden, 404 release_not_found) |
unlink_issues | ยกเลิกการเชื่อม issue |
list_development | Pro และ Premium: MR/PR ที่จับคู่กับการ์ด (repo, หมายเลข, ชื่อ, ผู้เขียน, สถานะ open / draft / merged / closed, ผล CI, ลิงก์) และ commit ล่าสุดที่อ้างถึง key — อ่านอย่างเดียว ผู้ดูขึ้นไปใช้ได้ รายงานตามที่ได้ ตั้งค่า repository และกฎย้ายอัตโนมัติทำในเว็บแอปเท่านั้น |
Comment และไฟล์แนบ
| Tool | ทำอะไร |
|---|---|
list_comments | comment ของ issue พร้อมการตอบกลับเป็น thread |
add_comment | เพิ่ม comment (Markdown) หรือตอบกลับ comment เดิม — mention คนด้วย [@ชื่อ](mention:usr_…) — id จาก list_people (อีเมลถึงเฉพาะสมาชิก project) และคุณจะติดตาม issue อัตโนมัติ |
update_comment | แก้ comment ของตัวเอง — ต้องส่ง version |
delete_comment | ลบ comment (เหลือ “comment นี้ถูกลบ” ไว้แทน reply ยังอยู่) — ต้องส่ง version |
request_upload | ขอ presigned URL สำหรับอัปโหลด |
attach_file | แนบไฟล์ที่อัปโหลดแล้วเข้ากับ issue — แสดงรูปในเนื้อหาด้วย  (ไม่ใช้ base64; path ที่มีช่องว่างให้ใส่ใน < > เช่น ) |
list_attachments | ไฟล์แนบของ issue: ชื่อ ขนาด วันที่ และผู้อัปโหลด |
delete_attachment | ลบไฟล์แนบถาวร — เฉพาะไฟล์ที่ token นี้อัปโหลดเอง ลิงก์ในเนื้อหาและ comment จะแสดงเป็น “ไฟล์ถูกลบ” |
get_download_url | presigned URL สำหรับดาวน์โหลดไฟล์แนบ |
Sprint
| Tool | ทำอะไร |
|---|---|
list_sprints | sprint ของ project (อาจมีหลาย sprint ที่กำลังทำงาน) |
create_sprint* | สร้าง sprint |
update_sprint* | แก้ชื่อ วันที่ หรือเป้าหมายของ sprint |
move_to_sprint | ย้าย issue เข้า/ออก sprint |
close_sprint* | ปิด sprint และย้ายงานที่ค้าง |
get_burndown | burndown ของ sprint (Scrum) |
Release
| Tool | ทำอะไร |
|---|---|
list_releases | release ของ project พร้อมความพร้อม (ยังไม่พร้อม · พร้อมแต่มีความเสี่ยง · พร้อมขึ้น) ที่คำนวณจากบอร์ดตามกฎ |
get_release | release หนึ่งตัว: สถานะของแต่ละ feature พร้อมเหตุผล ตัวเลข และผลของ gate — agent รายงานตามที่ได้ ไม่เดา |
create_release | สร้าง release ที่ยังเป็นแผน (ชื่อ วันขึ้น production คำอธิบาย milestone) ด้วยสิทธิ์ของผู้ใช้ (ผู้ดูแล project หรือ PM) — ใช้ gate ตั้งต้นเสมอ คนเป็นผู้กำหนด gate ในแอป |
update_release | แก้ชื่อ วัน milestone และคำอธิบายของ release ที่ยังเป็นแผน ได้จนกว่าจะล็อก baseline และเขียน Release note (release_note, Markdown ที่สมาชิกทุกคนของ project เห็น) ได้ขณะที่ยังเป็นแผน แม้หลังล็อก baseline — ส่วนอื่นหลังล็อกหรือแก้ gate ต้องเป็นคนในแอป |
add_release_deployment | บันทึกการ deploy ลงบันทึกของ release (environment, artifact หรือเวอร์ชัน, commit, build_url, เวลา, ผล deployed · verified · failed · rolled_back, หมายเหตุ) ทั้งตอนที่ release ยังเป็นแผนและหลังขึ้น production แล้ว ด้วยสิทธิ์ของผู้ใช้ (ผู้ดูแล project หรือผู้จัดการ release) — เพิ่มได้อย่างเดียว ไม่แตะ gate baseline หรือ scope |
move_to_release | ใส่ issue (หรือ epic พร้อม issue ลูก) เข้า release หรือเอาออก พร้อมเหตุผล — ครั้งละหนึ่ง issue (หลายตัวใช้ add_to_release) |
add_to_release | ใส่ issue สูงสุด 50 ตัวเข้า release ที่ยังเป็นแผนในครั้งเดียวด้วยเหตุผลเดียว — ระบบย้ายทีละตัวและบอกผลรายตัว (ย้ายแล้ว · อยู่แล้ว · ไม่สำเร็จพร้อมเหตุผล) · ติ๊ก gate ล็อก baseline และกดขึ้น production ทำได้เฉพาะคนในแอป |
สรุปอัตโนมัติ
| Tool | ทำอะไร |
|---|---|
list_summaries | Premium: รายการสรุปอัตโนมัติที่ BoardMark ส่งให้ทีมแล้ว (standup, sprint / release review, รายงานผู้บริหาร) เฉพาะ project ที่คุณเปิดได้ — อ่านอย่างเดียว |
get_summary | Premium: สรุปหนึ่งฉบับ (หรือฉบับล่าสุด) เป็น markdown ข้อมูลชุดเดียวกับที่ทีมได้รับ คำนวณจากข้อมูลบอร์ด — agent รายงานตามที่ได้ ไม่เดา อ่านอย่างเดียว |
Insights
| Tool | ทำอะไร |
|---|---|
get_project_insights | Premium: ตัวเลขของ project ในช่วงที่เลือก (ค่าเริ่มต้น 30 วัน) เทียบช่วงก่อนหน้า — cycle time (วัดได้ n จาก m ใบ) และ lead time รวมถึง throughput, WIP, งานค้าง, bug และต้นทุนต่อ release อ่านอย่างเดียว ข้อมูลรายคน (รวมการ์ด / points ที่แต่ละคนทำเสร็จในช่วง) มีเฉพาะเมื่อเจ้าของ token เป็นผู้ดูแล project รายงานตามที่ได้ ไม่เดา |
get_company_insights | Premium: ตัวเลขรวมทุก project ของบริษัท พร้อมตาราง project และงานค้างและงานที่เสร็จรายคนข้าม project เจ้าของ token ต้องเป็นผู้ดูแลบริษัท (ไม่ใช่ได้ 403) อ่านอย่างเดียว ส่งออก CSV ทำในเว็บแอป |
ใบเสนอราคา ใบวางบิล ใบเสร็จ
| Tool | ทำอะไร |
|---|---|
list_sales_documents | เอกสารขายของดีล Sales & Billing: ใบเสนอราคา (QT) ใบวางบิล (BN) ใบเสร็จ (RC) ใหม่สุดก่อน พร้อม latest, status และไฟล์ PDF ไทย / อังกฤษ (attachment_id ใช้กับ get_download_url) — stale = ดีลเปลี่ยนหลังออกใบเสนอราคา ให้เสนอฉบับแก้ไข (revise_of) ทุกแพ็กเกจ |
issue_sales_document | ออกใบเสนอราคา ใบวางบิล (ตั้งงวดเป็น Invoiced) หรือใบเสร็จ (เฉพาะงวดที่ Paid แล้ว) เป็น PDF สองภาษา — ถามผู้ใช้ก่อนเสมอ: ชื่อ ที่อยู่ เลขผู้เสียภาษีของลูกค้า รายการ และ VAT ห้ามเดา; ไม่มีใบกำกับภาษี; 409 seller_incomplete = ผู้ดูแลบริษัทต้องกรอก tax profile ก่อน; เลขที่ออกแล้วถาวร |
ไฟล์ .md โดยตรง
| Tool | ทำอะไร |
|---|---|
read_file | อ่านไฟล์ .md |
write_file | เขียนไฟล์ .md ผ่าน validator เดียวกับ UI |
list_dir | รายการไฟล์ใน md tree |
get_history | ประวัติ commit: ใครแก้ และผ่าน agent token ใด |
diff | เปรียบเทียบสองเวอร์ชัน |
เอกสารของ project
| Tool | ทำอะไร |
|---|---|
list_docs | เอกสารตั้งต้น บันทึกความคืบหน้า งานส่งต่อ และ company brief ของ project พร้อมรายการที่ควรอ่านก่อน (read_first) และ labels ของ working notes |
get_docs_context | ทุกอย่างที่ควรอ่านก่อนเริ่มงาน รวมคำอธิบาย template และฟิลด์ เป็นข้อความ Markdown เดียว |
get_doc | อ่านเอกสาร (หรือเวอร์ชันเก่า) พร้อม version ล่าสุด |
create_doc | สร้าง brief, working notes (ใส่ labels ได้ ≤ 10 เพื่อให้ขึ้นใน get_issue_context ของการ์ดที่ label ตรงกัน) หรือ handoff ถึงทีมหรือทั้ง project |
update_doc | แก้เอกสาร หรือปิด/เปิด handoff — ต้องส่ง version |
delete_doc | ลบเอกสาร (กู้คืนได้จากประวัติ) — ต้องส่ง version |
get_doc_history | ทุกเวอร์ชันของเอกสาร: ใครบันทึก ผ่าน agent ใด และเมื่อไร |
restore_doc_version | นำเวอร์ชันเก่ากลับมาเป็นเวอร์ชันใหม่ (ไม่ลบประวัติ) |
acknowledge_handoff | รับทราบ handoff ที่ส่งถึงคุณ ผู้เขียนได้รับแจ้ง |
ขอความช่วยเหลือจากทีม BoardMark
| Tool | ทำอะไร |
|---|---|
list_support_cases | case ของบริษัท (ทุกคนในบริษัทเห็น) เรียงตามความเคลื่อนไหวล่าสุด |
get_support_summary | จำนวน case ที่รอคุณตอบ และที่ยังเปิดอยู่ |
open_support_case | เปิด case เมื่อผู้ใช้ต้องการความช่วยเหลือหรือพบปัญหากับตัว BoardMark เอง (ไม่ใช่ issue ของ project) — ข้อความเท่านั้น |
get_support_case | อ่าน case พร้อมข้อความทั้งหมด รวมคำตอบจากทีม BoardMark |
reply_support_case | ตอบใน case (ข้อความเท่านั้น ไฟล์แนบทำบนเว็บ) |
close_support_case | ปิด case เมื่อปัญหาแก้แล้ว |
reopen_support_case | เปิด case ที่ปิดแล้วอีกครั้ง (ภายใน 30 วัน) |
follow_support_case | ติดตาม case เพื่อรับอีเมลเมื่อทีมตอบ |
unfollow_support_case | เลิกติดตาม case |
MCP resources
board://{project_key}/project.mdboard://{project_key}/issues/{key}board://{project_key}/docsboard://{project_key}/docs/{kind}/{slug}project_context(prompt)
* ต้องเป็น project_admin
Agent ทำอะไรไม่ได้?
MCP ไม่มี tool สำหรับงาน admin หรือ billing เลย เรื่องเหล่านี้ทำได้เฉพาะในเว็บแอปตามบทบาทของคุณ:
คำถามเรื่อง MCP
เชื่อม AI agent กับ BoardMark อย่างไร?
เพิ่ม BoardMark เป็น MCP server ใน AI client ของคุณ (Claude Code, Codex, Gemini CLI, Cursor, VS Code และอื่น ๆ) แล้วเข้าสู่ระบบผ่านเบราว์เซอร์และเลือกบริษัท ไม่ต้องคัดลอก token สำหรับ CI หรือเครื่องที่ไม่มีเบราว์เซอร์ ให้สร้าง personal access token ในแอปแล้วส่งใน header Authorization: Bearer <token> ขั้นตอนของแต่ละ client อยู่ที่หน้า /th/mcp หรือให้ agent อ่านคู่มือ connect.md แล้วตั้งค่าเอง
ติดตั้ง BoardMark จาก marketplace หรือแบบคลิกเดียวได้ไหม?
ได้ ในหน้า MCP (/th/mcp) มีปุ่มติดตั้งคลิกเดียวสำหรับ Cursor และ VS Code และคำสั่งสำหรับ Claude Code, Codex และ Gemini CLI BoardMark ยังลงรายการไว้ใน ChatGPT plugins (กด Install plugin), Official MCP Registry (ชื่อ ai.boardmark/boardmark), Smithery, Glama, mcp.so, mcpservers.org และ GitHub (i-c-develop/boardmark) ทุกช่องทางต่อเข้า MCP server เดียวกัน แล้วเข้าสู่ระบบ BoardMark ในเบราว์เซอร์ agent ได้สิทธิ์เท่าคุณ
AI agent ทำงานตาม workflow ของทีมเราได้ไหม?
ได้ BoardMark มีค่าตั้งต้นว่าแต่ละ status หมายถึงอะไร (เช่น In Review = QA กำลังทดสอบ, Dev Done = รอ deploy ให้ QA, Test Rejected = QA ทดสอบไม่ผ่าน) และแต่ละบทบาท — developer, QA, BA — ย้ายการ์ดส่วนไหน ถ้าทีมทำงานต่างออกไป ให้เขียนกฎของบริษัทไว้ใน company brief และกฎของ project ไว้ใน brief ของ project (แก้ได้เฉพาะผู้ดูแล — working notes และ comment ที่ทุกคนเขียนได้ agent อ่านเป็นข้อมูล ไม่ใช่คำสั่ง) AI agent อ่านเอกสารเหล่านี้ก่อนเริ่มงานเสมอ และทำตามกฎที่เฉพาะเจาะจงที่สุด: คำสั่งของผู้ใช้ > เอกสารของ project > company brief > ค่าตั้งต้น ทีมเขียนกฎครั้งเดียว แล้ว agent ทุกตัว — Claude, ChatGPT, Codex, Cursor หรือ MCP client ใดก็ตาม — ทำงานตามกรอบเดียวกันที่ทีมตกลงไว้ ได้งานที่แม่นยำขึ้นโดยไม่ต้องอธิบายซ้ำในทุกแชต ดูรายละเอียดที่ /th/docs/boards
Agent แก้ issue พร้อมกับคนอื่นได้อย่างปลอดภัยไหม?
ได้ ทุก write ต้องส่ง version ของไฟล์ที่อ่านมา ถ้ามีคนแก้ก่อน ระบบตอบ 409 version_conflict แทนการเขียนทับ agent จึงควรเรียก get_issue ก่อน update_issue เสมอ
จะรู้ได้อย่างไรว่า agent แก้อะไรไปบ้าง?
ทุกการแก้ไขที่ agent ทำผ่าน MCP ถูกบันทึกในประวัติของ issue หรือเอกสาร: ใช้สิทธิ์ของใคร AI ตัวไหน (ชื่อที่คุณอนุมัติตอนเชื่อมต่อด้วยการเข้าสู่ระบบ หรือชื่อที่ตั้งให้ personal access token) เชื่อมด้วย OAuth หรือ token เรียก MCP tool ใด (เช่น update_issue) และ request id ที่โยงทุกอย่างที่การเรียกครั้งนั้นเปลี่ยน ประวัติของ issue แสดงเช่น “ผ่าน Claude Code” การ์ดและไฟล์แนบที่ agent แก้หรืออัปโหลดมีป้ายกำกับ และหน้า Agent & MCP แสดง commit ล่าสุดจาก agent ของคุณ ผู้ดูแลบริษัทกรอง Audit log เฉพาะสิ่งที่ทำผ่าน AI agent ได้ และเห็นคำขอที่ BoardMark ปฏิเสธ (ไม่มีสิทธิ์หรือขัดกฎ) เป็น “AI agent ถูกปฏิเสธ”
มีการจำกัดจำนวนการเรียกใช้ไหม?
มี ค่าเริ่มต้น 600 requests ต่อนาทีต่อ token
จะให้ AI agent ใช้ BoardMark โดยสิ้นเปลือง token น้อยลงได้อย่างไร?
ใส่ ?tools= ท้าย URL ของ MCP เพื่อเลือกชุด tool ที่ต้องใช้ ค่าเริ่มต้นคือทุก tool ซึ่งมีคำอธิบายรวมประมาณ 198 KB หรือราว 50,000 token และ client บางตัว (ChatGPT, Cursor, Gemini และอื่น ๆ) โหลดทั้งหมดทุกครั้งที่เริ่ม session — Claude Code โหลดเมื่อต้องใช้ จึงไม่กระทบมาก ใช้ https://mcp.boardmark.ai/mcp?tools=lean เพื่อได้เฉพาะ tool งานหลัก (project, issue, comment, เอกสาร, คน, ลิงก์) ประมาณครึ่งหนึ่ง หรือ ?tools=lean,releases,sprints เพื่อเพิ่มกลุ่มที่ต้องการ หรือ ?tools=-work_context,-support เพื่อตัดบางกลุ่มออก กลุ่มที่เลือกได้คือ work_context (“กำลังทำอะไร” ถ้ามี agent ตัวเดียวทำงานคนเดียวมักไม่จำเป็น), inbox, releases, sprints, sales_documents, support, insights, files, attachments และ votes_watchers ล็อกอินและสิทธิ์เหมือนเดิม ในเว็บแอปหน้า Agent & MCP มีสวิตช์ เต็ม / lean / กำหนดเอง ที่สร้าง URL ให้ ดูรายละเอียดที่หน้า MCP (/th/mcp)
Agent account คืออะไร ต่างจาก token ส่วนตัวอย่างไร?
Agent account (Premium) คือ AI agent ที่มีชื่อของตัวเองและเจ้าของหนึ่งคนที่รับผิดชอบ ใช้สิทธิ์เท่าเจ้าของ ไม่นับเป็น seat มอบหมายงานและ @mention ได้ สร้างที่ ตั้งค่าบริษัท → Agents แล้วเชื่อมด้วย token ที่แสดงครั้งเดียวหรือเลือก “เชื่อมเป็น agent” ตอน OAuth Free และ Pro ใช้ token ส่วนตัวเหมือนเดิม
ดูได้ไหมว่า agent ทำอะไรเพราะอะไร และหยุดได้ไหม?
ได้ หน้า agent → Runs แสดงทุกการเรียกพร้อมเหตุผล (reason) ที่ agent ส่งมากับการเขียน เจ้าของหรือผู้ดูแลบริษัทกดหยุด agent ตัวเดียวหรือทั้งบริษัทได้ทันที agent จะได้ agent_paused แล้วกดทำงานต่อด้วย token เดิม
Agent account มีโควตาหรือทำให้ต้องจ่ายเพิ่มไหม?
ไม่มีโควตารายวัน มีเพียง rate limit ต่อนาที (600 call ต่อนาทีต่อ token) เกินแล้วได้ rate_limited ให้รอแล้วลองใหม่ ผู้ดูแลเห็นจำนวนการเขียนต่อวันเพื่อดูเฉย ๆ ไม่ใช่เงื่อนไขให้จ่ายเพิ่ม
สรุปอัตโนมัติคืออะไร ใช้ AI เขียนหรือเปล่า?
สรุปอัตโนมัติ (Premium) คือรายงานที่ BoardMark ส่งให้ทีมเอง: standup รายวัน, sprint review เมื่อปิดสปรินต์, release review เมื่อ release ส่งแล้ว และรายงานผู้บริหารรายสัปดาห์หรือรายเดือน ทางอีเมล LINE Telegram และกระดิ่ง เป็นไทยและอังกฤษเสมอ ในนามของ Agent account เนื้อหาคำนวณจากข้อมูลบอร์ด ไม่มี AI เขียนและไม่ส่งข้อมูลไปให้ AI ภายนอก ผู้รับเห็นเฉพาะ project ที่ตัวเองเปิดได้ ตั้งค่าที่ตั้งค่า project → สรุปอัตโนมัติ
AI agent ทำงานแทน QA ได้ไหม และจะรู้ได้อย่างไร?
ระบบเตือน แต่ไม่ห้าม ทุกคอลัมน์มี lane คือบทบาทที่ทำงานใน status นั้น (เช่น In Review = QA) และ agent ตั้งบทบาทได้ที่ token หรือหน้าอนุมัติตอนเชื่อมต่อ ถ้า agent Developer ย้าย In Review → Done หรือข้ามขั้น QA ระบบยังย้ายให้ แต่ agent ได้รับคำเตือนให้หยุด บอกผู้ใช้ และส่งต่อด้วย comment ประวัติ issue แสดงบทบาทของ agent และเครื่องหมาย ⚠ ที่การย้ายนอก lane คนไม่ถูกเตือนและไม่ถูกห้าม
BoardMark ช่วยงาน AI harness ไม่ให้ทำซ้ำหรือชนกับงานเดิมได้อย่างไร?
BoardMark ช่วยเป็นส่วนความจำและบอร์ดงานร่วมกันของทีมกับ AI agent: เมื่องานที่คนและ AI agent ทำอยู่บนบอร์ดเดียวกัน agent ตัวถัดไปเรียกดูงานที่ค้างอยู่ งานที่ทำเสร็จไปแล้ว ลิงก์ข้ามโปรเจกต์ ประวัติการแก้ไข รวมถึง working notes และ handoff ได้ก่อนเริ่มงาน จึงช่วยเช็กได้ว่า issue ใหม่หรือสิ่งที่กำลังจะแก้ซ้ำหรือขัดแย้งกับงานที่เคยทำไว้หรือไม่
AI agent หลายตัวจะไม่ทำงานซ้ำกันได้อย่างไร?
ให้ agent บันทึกบนการ์ดว่ากำลังทำอะไรและแตะส่วนไหน (working, touches) แล้วหยิบการ์ดด้วยคำสั่งเดียว (update_issue พร้อม if_unassigned: true) ถ้ามีคนถืออยู่แล้วจะได้ 409 already_assigned และไม่มีอะไรถูกเขียน ก่อนเริ่มเรียก get_issue_context ดูการ์ดที่ลิงก์ พี่น้อง และ handoff ในข้อความเดียว ทุกแพ็กเกจ BoardMark ไม่ได้รัน agent หรือล็อกไฟล์ แต่ทำให้ agent เห็นกัน: /th/docs/agent-coordination