bugAgent
ทางการเชื่อมต่อ bugAgent กับ AI client ที่รองรับ MCP ได้ทุกตัว จัดการไฟล์ จำแนกประเภท และจัดการบั๊ก คำขอฟีเจอร์ และอื่นๆ ได้โดยตรงจากผู้ช่วยเขียนโค้ด AI ของคุณ ไม่ต้องสลับบริบท ไม่ต้องคัดลอกและวาง — แค่ระบุปัญหา แล้ว bugAgent จะจัดการส่วนที่เหลือ
คุณทำอะไรได้บ้างด้วย bugAgent MCP?
- รายงานข้อบกพร่อง (File bug reports) — ให้ผู้ช่วยของคุณสร้างรายงานข้อบกพร่องพร้อมการจำแนกประเภทอัตโนมัติใน 19 ประเภท รวมถึงการตั้งค่าระดับความรุนแรงและลำดับความสำคัญ
- แสดงรายการและกรองรายงาน — ใช้
list_bug_reportsเพื่อค้นหาข้อบกพร่องตามโปรเจกต์ ระดับความรุนแรง สถานะ ประเภท หรือข้อความค้นหา พร้อมการแบ่งหน้าสูงสุด 100 รายการ - เลือกข้อบกพร่องถัดไปที่จะทำงาน — ให้ผู้ช่วยของคุณเรียก
pick_next_bugเพื่อรับข้อบกพร่องที่ยังไม่ถูกมอบหมายซึ่งมีลำดับความสำคัญสูงสุด (S1→S3, เรียงจากเก่าที่สุดก่อน) สำหรับทีมของคุณ - อ้างสิทธิ์ข้อบกพร่องแบบอะตอมมิก — ใช้
claim_bugเพื่อเปลี่ยนสถานะข้อบกพร่องเป็นกำลังดำเนินการและมอบหมายให้คุณโดยไม่มีการแข่งขัน พร้อมป้องกันการทำงานซ้ำซ้อน - จัดการชุดทดสอบและกรณีทดสอบ — สร้างชุดทดสอบ รันชุดทดสอบการถดถอย และแสดงรายการกรณีทดสอบที่ล้มเหลวจาก 7 วันที่ผ่านมา
เอกสาร
Connect bug Agent เข้ากับ AI client ที่รองรับ MCP ใดก็ได้
จัดการไฟล์ จำแนกประเภท และจัดการบั๊ก คำขอฟีเจอร์ และอื่นๆ ได้โดยตรงจาก AI coding assistant ของคุณ ไม่ต้องสลับบริบท ไม่ต้องคัดลอกและวาง — เพียงอธิบายปัญหา แล้ว bug Agent จะจัดการส่วนที่เหลือให้
MCP clients ภายนอกแยกจาก AI Assistant ใน dashboard ของ bug Agent โดย assistant ใน dashboard ถูกปิดไว้เป็นค่าเริ่มต้นในทุกแผน และต้องเปิดใช้งานอย่างชัดเจนใน workspace; เกต ai_assistant ของมันไม่ได้ปิดการใช้งาน MCP หรือ integrations การรับรองความถูกต้องของ MCP ขอบเขตสิทธิ์ การอนุญาต workspace/project และสิทธิ์เฉพาะเครื่องมือยังคงมีผลบังคับใช้
เริ่มต้นใช้งาน
bug Agent รัน hosted MCP server เพื่อให้ AI clients สามารถสร้าง ค้นหา และจัดการรายงานบั๊ก คำขอฟีเจอร์ การปรับปรุง และอื่นๆ ผ่าน Model Context Protocol Clients เชื่อมต่อโดยตรงกับ hosted Streamable HTTP endpoint
รับ API key ของคุณ
สร้างบัญชีฟรี; เจ้าของ workspace ใหม่จะถูกนำไปที่การตั้งค่า API key โดยตรง ผู้ใช้ที่กลับมาสามารถสร้าง key ได้จาก Settings → Developers → API Keys
กำหนดค่า AI client ของคุณ
เพิ่ม bug Agent เป็น MCP server ในการกำหนดค่าของ client (ดูขั้นตอนการตั้งค่าด้านล่าง)
เริ่มไฟล์บั๊ก
อธิบายบั๊กด้วยภาษาธรรมชาติ แล้ว bug Agent จะจำแนกประเภท เพิ่มข้อมูล และจัดเก็บให้อัตโนมัติ
# Create a bug report
"File a bug: Login button is unresponsive on iOS Safari.
Steps: tap login, nothing happens. Expected: navigate to
dashboard. Severity: high."
# bugAgent auto-classifies as UI bug, severity high
# File a feature request
"Feature request: Add dark mode toggle to the
settings page. Users have asked for this in surveys."
# Auto-classified as feature-request, severity medium
การตั้งค่า
แนะนำ: hosted Streamable HTTP
เชื่อมต่อโดยตรงกับ https://mcp.bugagent.com/mcp ไม่ต้องติดตั้งหรือรันอะไรในเครื่อง เพิ่ม workspace API key ของคุณเป็น bearer token:
{
"mcpServers": {
"bugagent": {
"type": "http",
"url": "https://mcp.bugagent.com/mcp",
"headers": {
"Authorization": "Bearer ba_live_YOUR_KEY_HERE"
}
}
}
}
💡
แทนที่ ba_live_YOUR_KEY_HERE ด้วย API key จริงของคุณจาก Settings → Developers
สะพาน stdio (ไม่บังคับ)
ใช้ published bridge เฉพาะเมื่อ client ต้องการ stdio และไม่สามารถเชื่อมต่อกับ remote HTTP server ได้ รันตามความต้องการด้วย npx -y bugagent-mcp:
{
"mcpServers": {
"bugagent": {
"command": "npx",
"args": ["-y", "bugagent-mcp"],
"env": {
"BUGAGENT_API_KEY": "ba_live_YOUR_KEY_HERE"
}
}
}
}
เชื่อมต่อกับเซิร์ฟเวอร์
MCP server ของ bug Agent ทำงานอยู่ที่ https://mcp.bugagent.com/mcp ผ่าน Streamable HTTP transport เชื่อมต่อจากแปด clients ด้านล่าง — เลือกอันที่เหมาะกับขั้นตอนการทำงานของคุณ
สำหรับการกำหนดค่าขนาดเล็กที่พร้อมคัดลอก คำแนะนำเกี่ยวกับ scoped-key และ starter prompts ที่ปลอดภัย ใช้ MCP quickstart สาธารณะ
🔑
รับ API key ของคุณก่อน ลงชื่อเข้าใช้ Settings → Developers คลิก Create API Key เลือกขอบเขตที่ client ของคุณต้องการ แล้วคัดลอกค่า (ขึ้นต้นด้วย ba_live_) คุณจะเห็นมันเพียงครั้งเดียว ดังนั้นวางไว้ในที่ปลอดภัย MCP clients จะแสดงเฉพาะเครื่องมือที่ได้รับอนุญาตตามขอบเขตเหล่านั้น ตัวอย่างการเชื่อมต่อด้านล่างใช้ key นี้; พรอมต์ที่ต้องใช้ OAuth/session แบบโต้ตอบหรือสิทธิ์ตามแผนแบบชำระเงินจะระบุแยกต่างหาก
ตัวเลือก 1 — MCP Inspector (Web UI, แนะนำสำหรับการทดสอบครั้งแรก)
เครื่องมืออย่างเป็นทางการของ Anthropic เปิด web UI ในเครื่องที่คุณสามารถคลิกผ่านทุกเครื่องมือ กรอกพารามิเตอร์ และดูการตอบสนอง ไม่ต้องกำหนดค่า ไม่ต้องใช้ IDE
macOS (Terminal)
npx @modelcontextprotocol/inspector
Windows (PowerShell หรือ CMD)
npx @modelcontextprotocol/inspector
ใน browser UI ที่เปิดขึ้น:
- Transport Type: เลือก
Streamable HTTP - URL:
https://mcp.bugagent.com/mcp - Connection Type: เลือก Proxy (ค่าเริ่มต้น — Inspector พร็อกซีผ่าน local Node process เพื่อเลี่ยง CORS ของเบราว์เซอร์)
- เปิด Server Settings → Custom Headers และเพิ่ม:
- Header Name:
X-Api-Key- Value:
ba_live_YOUR_KEY_HERE(ไม่มีคำนำหน้าBearer)
- Value:
- Header Name:
- คลิก Connect แผงด้านซ้ายแสดงรายการเครื่องมือ bug Agent ที่อนุญาตตามขอบเขต API key ที่คุณเลือก
- คลิกเครื่องมือใดก็ได้ (เช่น
list_bug_reports) กรอกพารามิเตอร์ คลิก Run Tool การตอบสนองจะแสดงทางด้านขวา
ข้อกำหนดเบื้องต้น: MCP Inspector v2 ต้องใช้ Node.js 22.19 หรือใหม่กว่า ติดตั้ง Node.js เวอร์ชันปัจจุบันจาก nodejs.org หากคุณยังไม่มี
หาก Inspector คืนค่า invalid_client แสดงว่ากำลังพยายามใช้การเชื่อมต่อ OAuth ที่บันทึกไว้แทนการรับรองความถูกต้องด้วย API key ลบเซิร์ฟเวอร์ที่บันทึกไว้ (หรือล้างสถานะ OAuth ที่เก็บไว้) เพิ่มใหม่อีกครั้ง และใช้ custom header X-Api-Key ด้านบน อย่าใส่ key ba_live_ ในฟิลด์ OAuth client_id
ตัวเลือก 2 — Claude Desktop (Mac + Windows)
หากคุณใช้แอป Claude Desktop คุณสามารถเพิ่ม bug Agent เป็น MCP server ถาวรได้ ด้วย workspace API key Claude จะได้รับเฉพาะเครื่องมือที่อนุญาตตามขอบเขตของ key นั้น Delegated OAuth จะแสดงแคตตาล็อกแบบโต้ตอบทั้งหมด
macOS
- เปิด Claude Desktop → แถบเมนู Claude → Settings → Developer → Edit Config ซึ่งจะเปิด
~/Library/Application Support/Claude/claude_desktop_config.json - เพิ่มรายการ bug Agent ภายใต้
mcpServers:{ "mcpServers": { "bugagent": { "type": "http", "url": "https://mcp.bugagent.com/mcp", "headers": { "Authorization": "Bearer ba_live_YOUR_KEY_HERE" } } } } - บันทึกไฟล์และ ออกจาก Claude Desktop โดยสมบูรณ์ (Cmd+Q ไม่ใช่แค่ปิดหน้าต่าง)
- เปิด Claude Desktop ใหม่ ไอคอนค้อนเครื่องมือที่ด้านล่างของช่องป้อนแชทควรแสดงเครื่องมือ bug Agent แล้ว
- ลองใช้: พิมพ์ "List my 5 most recent bug reports" — Claude จะเรียก
list_bug_reportsโดยอัตโนมัติ
Windows
- เปิด Claude Desktop → File → Settings → Developer → Edit Config ซึ่งจะเปิด
%APPDATA%\Claude\claude_desktop_config.json(โดยทั่วไปคือC:\Users\YourName\AppData\Roaming\Claude\claude_desktop_config.json) - เพิ่มบล็อก JSON เดียวกับที่แสดงในส่วน macOS
- บันทึกไฟล์และ ออกจาก Claude Desktop โดยสมบูรณ์ จาก system tray (คลิกขวาที่ไอคอน Claude → Quit) แล้วเปิดใหม่
- ไอคอนค้อนเครื่องมือจะแสดงเครื่องมือ bug Agent
ตัวเลือก 3 — Claude Code (CLI)
หากคุณใช้ Claude Code จากเทอร์มินัล (เวอร์ชัน CLI ของ Claude) ลงทะเบียนเซิร์ฟเวอร์ bug Agent ด้วยคำสั่งเดียว ทำงานเหมือนกันบน macOS, Linux และ Windows
claude mcp add --transport http bugagent https://mcp.bugagent.com/mcp \
--header "Authorization: Bearer ba_live_YOUR_KEY_HERE"
จากนั้นรีสตาร์ทเซสชัน Claude Code ของคุณ ตรวจสอบว่ามีการเชื่อมต่อ:
claude mcp list
คุณควรเห็น bugagent ในรายการพร้อมจุดสีเขียว เริ่มต้นด้วยพรอมต์ที่เข้ากันได้กับ API key: "List my 5 most recent open bug reports."
เชื่อมต่อแล้ว แต่เครื่องมือบางอย่างหายไป?
ตรวจสอบจำนวนเครื่องมือของเซิร์ฟเวอร์ใน /mcp ไม่ใช่แค่เครื่องมือที่โหลดในบทสนทนาแล้ว Claude Code สามารถค้นพบเครื่องมือตามความต้องการโดยใช้การค้นหาเครื่องมือ ขอให้ค้นหา bugAgent สำหรับ list_test_cases, list_test_suites หรือ get_test_run_plan ดู เอกสารการค้นหาเครื่องมือของ Claude Code
แคตตาล็อกถูกกรองตามขอบเขต API key การอ่าน test-case ต้องใช้ test_cases:read; การอ่าน suite/run ต้องใช้ test_runs:read ขอเฉพาะ write scopes ที่คุณต้องการจริงๆ เปรียบเทียบ tools/list ที่รับรองความถูกต้องกับ endpoint และ key เดียวกัน กับ client ของคุณ; การค้นพบแบบไม่ระบุตัวตนหรือ key ที่ต่างกันไม่ใช่การเปรียบเทียบที่ถูกต้อง ตรวจสอบการกำหนดค่าระดับโปรเจกต์ที่อาจแทนที่การเชื่อมต่อระดับผู้ใช้ของคุณ จากนั้นเชื่อมต่อใหม่หรือรีสตาร์ทหลังจากการเปลี่ยนแปลงข้อมูลรับรอง
หากแคตตาล็อกเซิร์ฟเวอร์ที่รับรองความถูกต้องมีเครื่องมือ แต่ client ยังไม่สามารถค้นพบได้ ให้บันทึกเวอร์ชัน client เวอร์ชันเซิร์ฟเวอร์ ชื่อ/จำนวนเครื่องมือ และข้อผิดพลาด schema ใดๆ โดยลบข้อมูลรับรองและข้อมูลลูกค้าออก เซสชันที่เริ่มต้นด้วย ENABLE_TOOL_SEARCH=false claude สามารถแยกความแตกต่างระหว่างการค้นพบที่เลื่อนออกไปกับปัญหาการโหลด แต่โหลดคำจำกัดความเครื่องมือทั้งหมดและใช้บริบทมากขึ้น; ใช้เป็นเครื่องมือวินิจฉัยชั่วคราวเท่านั้น อย่าขยายสิทธิ์หรือแยก endpoints เพียงเพื่อเพิ่มจำนวนเครื่องมือ
หากต้องการลบในภายหลัง:
claude mcp remove bugagent
ตัวเลือก 4 — OpenAI Codex CLI
หากคุณใช้ OpenAI Codex CLI ให้ส่งออก API key ของคุณและเพิ่ม bug Agent ไปยัง ~/.codex/config.toml
การลงทะเบียนถาวร (เพิ่มในการกำหนดค่า)
[mcp_servers.bugagent]
url = "https://mcp.bugagent.com/mcp"
bearer_token_env_var = "BUGAGENT_API_KEY"
ตั้งค่า API key
export BUGAGENT_API_KEY="ba_live_YOUR_KEY_HERE"
เริ่มหรือรีสตาร์ท Codex จากสภาพแวดล้อมนั้น Codex แก้ไขการเรียกเครื่องมือโดยอัตโนมัติจากพรอมต์ภาษาธรรมชาติของคุณ ลอง: "List my open bugs sorted by severity."
ตัวเลือก 5 — Cursor (Mac + Windows)
Cursor รองรับ MCP ในตัว ด้วย workspace API key ที่มีขอบเขตเหมาะสม AI assistant ภายใน Cursor สามารถไฟล์บั๊ก รายการรายงาน และรันเวิร์กโฟลว์อัตโนมัติที่รองรับได้โดยไม่ต้องออกจากตัวแก้ไข การสแกนความปลอดภัย ประสิทธิภาพ และการสำรวจต้องใช้ delegated OAuth และการเข้าถึงแผนที่เกี่ยวข้อง
- เปิด Cursor → Settings (Cmd+, บน Mac / Ctrl+, บน Windows) → MCP ในแถบด้านข้างซ้าย
- คลิก + Add new MCP server
- เลือกประเภทการขนส่ง HTTP
- กรอก:
- Name:
bugagent- URL:
https://mcp.bugagent.com/mcp - Header name:
Authorization - Header value:
Bearer ba_live_YOUR_KEY_HERE
- URL:
- Name:
- คลิก Save Cursor จะแสดงตัวบ่งชี้สีเขียวเมื่อเชื่อมต่อ
- เปิดแชทของ Cursor (Cmd+L / Ctrl+L) และพิมพ์ "Create a bug report titled 'Login broken' with severity high." Cursor จะเรียก
create_bug_report
ทางเลือก: Cursor ยังอ่าน ~/.cursor/mcp.json (Mac) หรือ %USERPROFILE%\.cursor\mcp.json (Windows) เพิ่มรูปแบบ JSON เดียวกับที่แสดงในส่วน Claude Desktop
ตัวเลือก 6 — VS Code กับส่วนขยาย Continue (Mac + Windows)
หากคุณชอบ VS Code ส่วนขยาย Continue รองรับ MCP servers โดยกำเนิด
- ติดตั้งส่วนขยาย Continue จาก VS Code marketplace
- เปิดการกำหนดค่าของ Continue: Command Palette (Cmd+Shift+P / Ctrl+Shift+P) → Continue: Open config.json ไฟล์อยู่ที่:
- macOS:
~/.continue/config.json- Windows:
%USERPROFILE%\.continue\config.json
- Windows:
- macOS:
- เพิ่มรายการ
mcpServers:{ "mcpServers": [ { "name": "bugagent", "type": "streamable-http", "url": "https://mcp.bugagent.com/mcp", "requestOptions": { "headers": { "Authorization": "Bearer ba_live_YOUR_KEY_HERE" } } } ] } - บันทึก Continue จะโหลดซ้ำโดยอัตโนมัติและแสดงเครื่องมือ bug Agent ในแถบด้านข้าง
- เปิดแผงแชท Continue และลอง: "List my 5 most recent open bug reports."
ส่วนขยาย VS Code อื่นๆ ที่รองรับ MCP: Cline, Roo Code และ Windsurf (fork) ทั้งหมดใช้รูปแบบการกำหนดค่า JSON ที่คล้ายกันกับคีย์ mcpServers และ HTTP transport
ตัวเลือก 7 — โฮสต์ที่รองรับ OAuth (ใช้ Claude.ai web เป็นตัวอย่าง)
โฮสต์ MCP บางตัวรับรองความถูกต้องผ่าน OAuth 2.0 และขอ client_id และ client_secret แบบคงที่ล่วงหน้าแทนที่จะยอมรับ bearer API key สร้างคู่ข้อมูลรับรอง connector จาก dashboard ของ bug Agent และวางลงในแบบฟอร์ม connector ของโฮสต์ คู่นี้ระบุ MCP client; หลังจากการยินยอม การเรียกใช้เครื่องมือจะใช้ผู้ใช้ที่ลงชื่อเข้าใช้และ workspace bug Agent ที่ใช้งานอยู่ของผู้ใช้รายนั้น คำแนะนำด้านล่างใช้แอปเว็บ Claude.ai เป็นตัวอย่างที่พบบ่อยที่สุด
i
OAuth ที่ผูกกับทรัพยากร ตัวระบุทรัพยากรที่ได้รับการป้องกันคือ https://mcp.bugagent.com/mcp โฮสต์ที่เข้าใจมาตรฐานจะค้นพบจาก /.well-known/oauth-protected-resource/mcp และส่งเป็นพารามิเตอร์ RFC 8707 resource bug Agent ออกโทเค็นทึบแสงที่ผูกกับทรัพยากรนั้น OAuth client ผู้ใช้ที่ลงชื่อเข้าใช้ และขอบเขตที่ได้รับ; โทเค็นไม่สามารถเล่นซ้ำกับบริการอื่นหรือแลกโดย client อื่น
- ใน bug Agent: เปิด Settings → Developers → MCP Connectors คลิก Generate connector ตั้งชื่อที่อธิบายโฮสต์ (เช่น "Claude.ai (work)") วาง redirect URI ที่โฮสต์ MCP ของคุณต้องการ (สำหรับแอปเว็บ Claude.ai คือ
https://claude.ai/api/mcp/auth_callback— ตรวจสอบเอกสาร connector ของโฮสต์ของคุณสำหรับรายอื่น) และเลือก Confidential สำหรับวิธีการรับรองความถูกต้อง คัดลอกclient_idและclient_secretที่แสดงครั้งเดียวบนหน้าจอความสำเร็จ - ในการตั้งค่า connector / OAuth ของโฮสต์ MCP ของคุณ วาง:
- Server URL:
https://mcp.bugagent.com/mcp- Client ID + Client Secret: จากขั้นตอนที่ 1
- Authorization URL:
https://mcp.bugagent.com/authorize - Token URL:
https://mcp.bugagent.com/token - Protected resource / audience เมื่อมีการร้องขอ:
https://mcp.bugagent.com/mcpสำหรับ Claude.ai โดยเฉพาะ: ไปที่ claude.ai/customize/connectors และคลิก Add MCP connector
- Server URL:
- บันทึก โฮสต์จะนำคุณไปยัง bug Agent เพื่อลงชื่อเข้าใช้ (Google หรืออีเมล/รหัสผ่าน — วิธีใดก็ตามที่คุณใช้สำหรับ dashboard) และอนุมัติการยินยอม จากนั้นทำ OAuth handshake ให้เสร็จสมบูรณ์
- จัดการและเพิกถอน connectors ที่สร้างขึ้นจากหน้า Settings เดียวกัน การเพิกถอนจะทันที — คำขอถัดไปจาก connector นั้นจะคืนค่า
invalid_client
หมายเหตุ: Claude Code, Cursor, VS Code และ MCP Inspector ไม่จำเป็นต้องใช้ขั้นตอนนี้ — พวกเขาจัดการการลงทะเบียน client แบบไดนามิก (RFC 7591) โดยอัตโนมัติและรับรองความถูกต้องผ่าน API key ตามที่แสดงด้านบน แบบฟอร์ม MCP Connectors มีไว้สำหรับโฮสต์ที่ต้องใช้ข้อมูลรับรอง OAuth แบบคงที่เท่านั้น
ค่า access และ refresh ของ OAuth จะแสดงเฉพาะกับโฮสต์เท่านั้น ค่าเหล่านี้ทึบแสง หมุนเวียนเมื่อรีเฟรช และถูกเก็บโดย bug Agent เป็นแฮชทางเดียวเท่านั้น; ข้อมูลรับรองการรีเฟรชตัวตนต้นทางถูกเข้ารหัสที่เหลือ อย่าคัดลอกโทเค็น OAuth ลงในคำขอ REST API หรือ MCP server อื่น
ตัวเลือก 8 — HTTP โดยตรงด้วย curl (Terminal)
หากคุณต้องการทดสอบเซิร์ฟเวอร์โดยตรงโดยไม่ต้องใช้ไคลเอ็นต์ใดๆ หรือต้องการผสานรวมเข้ากับสคริปต์ คุณสามารถเรียกใช้ HTTP endpoint ด้วย curl โปรโตคอล MCP คือ JSON-RPC 2.0 ผ่าน Streamable HTTP
macOS / Linux
# Set your API key as a variable
export BUGAGENT_API_KEY="ba_live_YOUR_KEY_HERE"
# 1. Initialize the MCP connection
curl -N -s https://mcp.bugagent.com/mcp \
-H "Authorization: Bearer $BUGAGENT_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"curl-example","version":"1.0.0"}}}'
# 2. List tools visible to this key
curl -N -s https://mcp.bugagent.com/mcp \
-H "Authorization: Bearer $BUGAGENT_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# 3. Call a tool — list 5 reports from a specific project
curl -N -s https://mcp.bugagent.com/mcp \
-H "Authorization: Bearer $BUGAGENT_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc":"2.0",
"id":3,
"method":"tools/call",
"params":{
"name":"list_bug_reports",
"arguments":{"project":"bugagent","limit":5}
}
}'
Windows (PowerShell)
# Set your API key
$env:BUGAGENT_API_KEY = "ba_live_YOUR_KEY_HERE"
# Use Invoke-RestMethod (PowerShell's curl equivalent)
$headers = @{
"Authorization" = "Bearer $env:BUGAGENT_API_KEY"
"Content-Type" = "application/json"
"Accept" = "application/json, text/event-stream"
}
# 1. Initialize
$body = '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"powershell-example","version":"1.0.0"}}}'
Invoke-RestMethod -Uri "https://mcp.bugagent.com/mcp" \`
-Method Post -Headers $headers -Body $body
# 2. List tools visible to this key
$body = '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
Invoke-RestMethod -Uri "https://mcp.bugagent.com/mcp" \`
-Method Post -Headers $headers -Body $body
# 3. Call list_bug_reports for a specific project
$body = @{
jsonrpc = "2.0"
id = 3
method = "tools/call"
params = @{
name = "list_bug_reports"
arguments = @{ project = "bugagent"; limit = 5 }
}
} | ConvertTo-Json -Depth 5
Invoke-RestMethod -Uri "https://mcp.bugagent.com/mcp" \`
-Method Post -Headers $headers -Body $body
การตอบกลับอาจเป็น JSON หรือ Server-Sent Events แต่ละ SSE chunk คือบรรทัดที่นำหน้าด้วย data: ตามด้วยออบเจกต์ JSON ไคลเอ็นต์ที่สอดคล้องกับมาตรฐานควรส่ง Accept: application/json, text/event-stream; bug Agent ปัจจุบันปรับค่า Accept ที่ขาดหายไปหรือไม่สมบูรณ์ให้เป็นมาตรฐานเพื่อความเข้ากันได้
ℹ️
การแก้ไขปัญหา 401 Unauthorized: ตรวจสอบว่าคีย์ API ของคุณยังไม่ถูกเพิกถอนใน Settings → Developers คีย์เริ่มต้นด้วย ba_live_ หากยังติดปัญหาอยู่ ให้สร้างคีย์ใหม่แล้วลองอีกครั้ง
โมเดลการเข้าถึงและขอบเขตสิทธิ์น้อยที่สุด
แคตตาล็อก OAuth ที่สมบูรณ์ประกอบด้วยเครื่องมือ 141 รายการ คีย์ API ของเวิร์กสเปซจะเห็นเฉพาะเครื่องมือที่แมปกับขอบเขตที่เลือกไว้เท่านั้น การค้นพบโดยไม่มีการรับรองความถูกต้องอาจแสดงข้อมูลเมตาของเครื่องมือ แต่ tools/call ต้องใช้คีย์ API หรือโทเค็น OAuth เสมอ
อ่านรายงานบั๊กและแก้ไขโปรเจกต์ reports:read
สร้างและอัปเดตรายงานบั๊ก reports:read, reports:write
ตัวตรวจสอบการใช้งาน usage:read
ตรวจสอบสถานะการซิงค์ Jira jira:read
ซิงค์หรือรวมรายงาน Jira jira:write
สร้างระบบอัตโนมัติบนเว็บ automations:write
รันระบบอัตโนมัติบนเว็บและอ่านผลลัพธ์ automations:run
สังเกตสินทรัพย์มือถือและผลลัพธ์ mobile:read
จัดการสินทรัพย์มือถือ mobile:read, mobile:write
รันระบบอัตโนมัติบนมือถือ mobile:read, mobile:run
จัดการแคตตาล็อกการทดสอบ reports:read, test_cases:read, test_cases:write
ตัวประมวลผลการทดสอบภายนอก test_runs:read, test_runs:write
คีย์ API ผูกกับเวิร์กสเปซที่สร้างขึ้น เครื่องมืออาจจำกัดการเรียกให้แคบลงเหลือโปรเจกต์ที่ได้รับอนุญาต แต่ไม่สามารถสลับคีย์ไปยังเวิร์กสเปซอื่นได้ แก้ไข UUID ของโปรเจกต์ด้วย list_projects และปฏิเสธชื่อที่ไม่ชัดเจน
ชื่อเครื่องมือและคำอธิบายประกอบ
ทุกเครื่องมือที่ส่งคืนโดย tools/list รวมถึงชื่อที่อ่านได้และคำแนะนำการอ่าน/เขียน คำแนะนำการอ่านที่ขาดหายไปมาจากรายการที่ตรวจสอบอย่างชัดเจน ไม่ใช่คำนำหน้าชื่อเครื่องมือหรือขอบเขตคีย์ API คำอธิบายประกอบที่ชัดเจน รวมถึง false จะถูกเก็บรักษาไว้
readOnlyHint: trueอธิบายเครื่องมือที่ไม่แก้ไขสภาพแวดล้อมreadOnlyHint: falseกับdestructiveHint: falseอธิบายการเขียนแบบเพิ่มเติม ไม่ใช่การดำเนินการอ่านอย่างเดียวreadOnlyHint: falseกับdestructiveHint: trueอธิบายการเขียนที่อาจทำลายข้อมูล เครื่องมือที่ไม่จัดประเภทใช้ค่าเริ่มต้นที่อนุรักษ์นิยมเหล่านี้ คำแนะนำการทำลายข้อมูลมีความหมายเฉพาะกับการเขียนเท่านั้น
login ไม่ใช่การอ่านอย่างเดียว: ในโหมด stdio จะบันทึกข้อมูลรับรอง analyze_fix_area และ check_config_drift เป็นการเขียนที่อาจทำลายข้อมูลเนื่องจากแทนที่ผลการวิเคราะห์หรือเกณฑ์พื้นฐานการกำหนดค่าที่บันทึกไว้
คำอธิบายประกอบไม่ได้ให้สิทธิ์การเข้าถึงหรือแทนที่การรับรองความถูกต้อง การอนุญาตเวิร์กสเปซ/โปรเจกต์ ขอบเขตคีย์ API หรือการตรวจสอบสิทธิ์ การแจ้งเตือนการยืนยันขึ้นอยู่กับนโยบายสิทธิ์ของไคลเอ็นต์และการตั้งค่าผู้ใช้ คำแนะนำไม่รับประกันว่าการเรียกจะมีการแจ้งเตือนหรือไม่
สำหรับการค้นพบและการตรวจสอบเชิงโปรแกรม ให้ดาวน์โหลด mcp-tool-index.json ที่สร้างขึ้น บันทึกเครื่องมือรันไทม์ทั้งหมด 141 รายการ การเข้าถึงเฉพาะขอบเขตคีย์ API หรือ OAuth เท่านั้น กลุ่มสิทธิ์ ชื่ออินพุต โหมดสคีมาผลลัพธ์ และคำอธิบายประกอบ MCP ที่ประกาศอย่างชัดเจน คำอธิบายประกอบ null หมายความว่าไม่ได้ประกาศที่จุดเรียกใช้ ใช้การตอบสนอง tools/list ของเซิร์ฟเวอร์ที่เชื่อมต่อสำหรับคำอธิบายประกอบที่มีผลหลังจากการใช้ค่าเริ่มต้น
!
เครื่องมือเฉพาะ OAuth: การจัดการบัญชี คีย์ API และทีม การจัดการการเชื่อมต่อ Jira การผสานรวมอื่นๆ การควบคุมการทดสอบระดับพรีเมียม บันทึก การติดตามเวลา และการดำเนินการโต้ตอบอื่นๆ ไม่ถูกปลดล็อกโดยการเพิ่มขอบเขตคีย์ API เครื่องมือตรวจสอบ ซิงค์ และรวมรายงาน Jira เป็นข้อยกเว้นแคบๆ ผ่าน jira:read และ jira:write
ลองใช้ — พรอมต์ภาษาธรรมดา
เมื่อเชื่อมต่อแล้ว คุณไม่จำเป็นต้องรู้ชื่อเครื่องมือหรือพารามิเตอร์ อธิบายสิ่งที่คุณต้องการเป็นภาษาธรรมดา และผู้ช่วย AI ของคุณจะเรียกใช้เครื่องมือ bug Agent ที่ถูกต้องโดยอัตโนมัติ
พรอมต์รายงานบั๊ก การจัดการการทดสอบตามขอบเขต ระบบอัตโนมัติ Playwright ระบบอัตโนมัติบนมือถือ และการใช้งาน พร้อมใช้งานสำหรับคีย์ API ที่มีขอบเขตตรงกัน ความปลอดภัย ประสิทธิภาพ การสำรวจ บัญชี ทีม บันทึก การติดตามเวลา และรายการอื่นๆ ที่ไม่มีขอบเขตคีย์ API ที่ระบุชื่อ ต้องใช้ OAuth ที่ได้รับมอบหมายและสิทธิ์แผนที่เกี่ยวข้อง
รายงานบั๊ก
List my 5 most recent bug reports
Show all open critical bugs in the Auth project
Create a bug titled "Login broken on Safari" with severity s2
Update TEST-451 status to in-progress and assign it to me
Add a comment to TEST-451: "root cause confirmed — null check missing in auth middleware"
Show me everything filed this week, grouped by severity
การจัดการการทดสอบ
Create a test suite called "Smoke Tests" with cases for login, checkout, and account settings
Run the Regression suite and list all failures
Use Hermes to execute the curated "Checkout smoke" suite and report every result to bugAgent
Show failing test cases from the last 7 days
Which test cases have never been run in the past 90 days?
Get a pass-rate trend for this month vs last month
ความปลอดภัยและประสิทธิภาพ
Run a security scan on https://app.example.com
Get this month's security scan results — show only high and critical findings
Create a performance test for the landing page and check Lighthouse scores
What are the Core Web Vitals for our checkout flow?
ระบบอัตโนมัติ Playwright
Create a Playwright script that logs in and verifies the dashboard loads
Run the checkout automation on iPhone 15 Pro on a real device
Optimize the login automation script
Show runs for the checkout automation — any failures?
Schedule the smoke test suite to run every weekday at 6 AM UTC
AI การสำรวจ
Run an exploratory AI session on https://app.example.com with 5 parallel agents
Get the latest exploration run results — list any bugs that were filed
What testing strategies did the agents use and which found the most issues?
การใช้งานและสถิติ
Check my plan usage for this month
Show team bug stats for this week broken down by severity and type
List all team members and their roles
How many security scans do I have left this month?
การอ้างอิงด่วน
การอ้างอิงการตั้งค่าสำหรับตัวเลือกการเชื่อมต่อทั้งแปดรายการ ไคลเอ็นต์คีย์ API เชื่อมต่อกับ https://mcp.bugagent.com/mcp ด้วยส่วนหัว Authorization: Bearer ba_live_YOUR_KEY_HERE ผ่าน Streamable HTTP; โฮสต์ที่รองรับ OAuth ใช้ข้อมูลรับรองตัวเชื่อมต่อที่สร้างในแดชบอร์ด
Claude Desktop — macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Claude Desktop — Windows %APPDATA%\Claude\claude_desktop_config.json
Claude Code (CLI) claude mcp add --transport http bugagent https://mcp.bugagent.com/mcp --header "Authorization: Bearer ba_live_..."
Codex CLI ~/.codex/config.toml
Cursor — macOS Settings → MCP UI หรือ ~/.cursor/mcp.json
Cursor — Windows %USERPROFILE%\.cursor\mcp.json
VS Code + Continue ~/.continue/config.json (macOS) / %USERPROFILE%\.continue\config.json (Windows)
โฮสต์ที่รองรับ OAuth Settings → Developers → MCP Connectors — สร้าง client_id และ client_secret ของโฮสต์
HTTP โดยตรง (curl) curl / Invoke-RestMethod — รวม Accept: application/json, text/event-stream
การแก้ไขปัญหา
401 Unauthorized คีย์ผิด หมดอายุ หรือถูกเพิกถอน ตรวจสอบ Settings → Developers — คีย์เริ่มต้นด้วย ba_live_ สร้างใหม่หากจำเป็น
เครื่องมือไม่แสดงในไคลเอ็นต์ ไคลเอ็นต์คีย์ API แสดงเฉพาะเครื่องมือที่อนุญาตโดยขอบเขตที่เลือกของคีย์ ตรวจสอบคีย์ใน Settings → Developers จากนั้นออกจากไคลเอ็นต์โดยสมบูรณ์แล้วเปิดใหม่หลังจากการเปลี่ยนแปลงการกำหนดค่า ใน Claude Desktop ใช้ Cmd+Q (ไม่ใช่แค่ปิดหน้าต่าง) ใน Cursor ตรวจสอบ Settings → MCP สำหรับจุดสีเขียว
ฟิลด์หายไปในไคลเอ็นต์ เปรียบเทียบสคีมาของไคลเอ็นต์กับ tools/list ดิบของ endpoint เดียวกัน หากแตกต่าง ให้รีเฟรชหรือเชื่อมต่อแคตตาล็อกเครื่องมือใหม่และเริ่มแชทใหม่ หากยังคงอยู่ ให้รวบรวม endpoint เวอร์ชันไคลเอ็นต์ และการตอบสนอง tools/list ดิบ; แคชที่เก่าเป็นเพียงสาเหตุหนึ่งที่เป็นไปได้
Accept header required ส่ง Accept: application/json, text/event-stream สำหรับ Streamable HTTP ที่สอดคล้องกับมาตรฐาน bug Agent ปัจจุบันปรับค่าที่ขาดหายไปหรือไม่สมบูรณ์ให้เป็นมาตรฐาน แต่การผสานรวมไม่ควรพึ่งพาพฤติกรรมความเข้ากันได้นั้น
ข้อมูลเวิร์กสเปซผิด แต่ละคีย์ API จำกัดอยู่ในเวิร์กสเปซเดียว สร้างคีย์ใหม่จากเวิร์กสเปซที่คุณต้องการสอบถามใน Settings → Developers
เครื่องมือปรากฏแต่การเรียกล้มเหลวอย่างเงียบๆ ตรวจสอบการตอบสนองสำหรับ isError: true และเนื้อหาที่ส่งคืน เครื่องมือที่มองเห็นได้ยังสามารถถูกปฏิเสธโดยแผน บทบาท สิทธิ์ฟีเจอร์ การเป็นสมาชิกโปรเจกต์ ความเป็นเจ้าของ หรืออินพุตที่ไม่ถูกต้อง ตรวจสอบสุขภาพเซิร์ฟเวอร์หลังจากอ่านข้อผิดพลาดของเครื่องมือเท่านั้น
MCP Inspector ข้อผิดพลาด CORS เลือก Proxy (ไม่ใช่ Direct) สำหรับ Connection Type ใน UI ของ Inspector Inspector พร็อกซีผ่านกระบวนการ Node ในเครื่องเพื่อหลีกเลี่ยงข้อจำกัด CORS ของเบราว์เซอร์
MCP Inspector v2 ออกด้วยรหัส 5 Inspector v2 ส่งคืนรหัสออกที่ไม่ใช่ศูนย์เมื่อการตอบสนองของเครื่องมือมี isError: true อ่านข้อความการตอบสนองสำหรับแผน สิทธิ์ อินพุต หรือข้อผิดพลาดรันไทม์; Inspector v1 อาจส่งคืนรหัสออก 0 สำหรับการตอบสนองเครื่องมือที่ล้มเหลวเดียวกัน
Codex CLI — เครื่องมือไม่รู้จัก ตรวจสอบว่า ~/.codex/config.toml ใช้ [mcp_servers.bugagent] ตั้งค่า bearer_token_env_var = "BUGAGENT_API_KEY" และส่งออกตัวแปรนั้นก่อนเริ่ม Codex ตรวจสอบ codex --version หากเครื่องมือยังไม่ปรากฏ
คุณสมบัติ MCP
เซสชันการสนทนายังคงเป็นโปรเจกต์นำร่องที่จำกัดเวิร์กสเปซ การบันทึกสคริปต์ที่สร้างจากเซสชันต้องได้รับการอนุมัติอย่างชัดเจนจากเจ้าของผ่าน Workbench ผ่าน endpoint บันทึกสคริปต์เฉพาะเซสชัน ไม่มีเครื่องมืออนุมัติ MCP: การขอให้เอเจนต์ร่างสคริปต์ไม่ได้สร้างหรือกำหนดเวลาระบบอัตโนมัติ
แคตตาล็อกโต้ตอบ/OAuth ที่สมบูรณ์ประกอบด้วยเครื่องมือ 141 รายการ คีย์ API ของเวิร์กสเปซค้นพบเฉพาะชุดย่อยสิทธิ์น้อยที่สุดที่อนุญาตโดยขอบเขตที่เลือก; เครื่องมือบัญชี การบริหารคีย์ API การบริหารทีม การทดสอบระดับพรีเมียม บันทึก และการติดตามเวลา เป็นเซสชันโต้ตอบเท่านั้น เว้นแต่รายการจะระบุขอบเขตคีย์ API อย่างชัดเจน
🐛
การจัดการรายงานบั๊ก
การนำเข้าภาพหน้าจอ Google Sheets ที่สามารถดำเนินการต่อได้ใช้ endpoint REST POST /api/reports/import-attachment แยกต่างหากกับ reports:write และตรวจสอบสถานะ GET ด้วย reports:read ไม่มีการเพิ่มเครื่องมือ MCP สำหรับการนำเข้าภาพหน้าจอ API ที่รองรับ JPEG/PNG เท่านั้นนี้ตรวจสอบพื้นที่จัดเก็บส่วนตัวและปัญหา Jira ที่แมปอย่างแม่นยำก่อนรายงานความสำเร็จ; การอัปโหลดรายงานแบบเดิมยังคงเป็นเซสชันเท่านั้น
create_bug_report— สร้างรายงานใหม่พร้อมการจัดหมวดหมู่อัตโนมัติครอบคลุม 19 ประเภท — บั๊ก คำขอฟีเจอร์ การปรับปรุง หนี้ทางเทคนิค และอื่นๆ (ชื่อเรื่อง: 3-500 ตัวอักษร) อาร์เรย์attachmentsแบบไม่บังคับรองรับไฟล์ที่เข้ารหัส base64 สูงสุด 400 MB ต่อไฟล์: รูปภาพ วิดีโอ เสียง PDF หรือข้อความ/JSON ตั้งค่าformat_description: trueเพื่อจัดรูปแบบคำอธิบายใหม่เป็นเทมเพลตที่มีโครงสร้างโดยอัตโนมัติด้วย AI ส่งtime_spent_secondsเพื่อติดตามความพยายามด้าน QA ส่งpriority(urgent/high/normal/low) เพื่อตั้งค่าความเร่งด่วนในการแก้ไขโดยแยกจากระดับความรุนแรง ส่งis_epic: trueเพื่อสร้าง Epic หรือparent_epic_id(UUID/รหัสย่อ) เพื่อสร้างรายการย่อยในโปรเจกต์ที่ได้รับอนุญาตเดียวกัน การตอบกลับประกอบด้วยฟิลด์ลำดับชั้นรวมถึงproject_id,project,short_id,legacy_short_idและproject_short_idlist_bug_reports— แสดงรายการและกรองรายงาน (สูงสุด 100 รายการต่อหน้า) ตัวกรองโปรเจกต์จะถูกนำไปใช้ฝั่งเซิร์ฟเวอร์ก่อนการแบ่งหน้า กรองตามproject(UUID, slug, ชื่อที่แน่นอน หรือคำนำหน้าตั๋ว),project_id,project_slug,project_prefix,workspace(UUID, ชื่อที่แน่นอน หรือคำนำหน้าตั๋วของเวิร์กสเปซ),workspace_id/team_id,is_epic,type,severity,status,resolution,root_causeหรือreporter_user_idตัวกรองsearchค้นหาข้อความในรายงาน; การป้อนเฉพาะตัวเลขเช่น366คือการค้นหาที่ตรงกันแบบเจาะจงกับทั้งหมายเลขตั๋วแบบเดิมและแบบโปรเจกต์ ดังนั้นข้อความที่ไม่เกี่ยวข้องซึ่งมีตัวเลขเหล่านั้นจะถูกแยกออก ผลลัพธ์แต่ละรายการประกอบด้วยตัวระบุบุคคล/โปรเจกต์ตามขอบเขตเทนแนนต์ รวมถึงis_epic,parent_epic_id,parent_epicและepic_progressแบบจำกัด เครื่องมืออ่านรายงานไม่เปิดเผยที่อยู่อีเมลของสมาชิกpick_next_bug— คืนค่าบั๊กถัดไปที่ลูปเอเจนต์ควรดำเนินการ ตามลำดับความสำคัญ (S1 → S2 → S3, รายการเก่าที่สุดก่อนภายในแต่ละกลุ่ม) จำกัดขอบเขตให้กับเวิร์กสเปซของคุณโดยอัตโนมัติ — คืนค่าตั๋วในทุกโปรเจกต์ในทีมของคุณที่มีstatusnew,awaiting-triageหรือconfirmedและระดับความรุนแรง S1-S3 อ่านอย่างเดียว — ไม่ได้จองตั๋วแบบอะตอมิกseverityแบบไม่บังคับ (ระดับเดียว),limit(1-50, ค่าเริ่มต้น 1) คืนค่าวัตถุที่มีcountและbugs; แต่ละบั๊กเป็นแถวคิวแบบย่อ ไม่ใช่รูปแบบlist_bug_reportsเต็มรูปแบบ ใช้ร่วมกับclaim_bugสำหรับรูปแบบอ่านแล้วจองclaim_bug— เปลี่ยนสถานะบั๊กแบบอะตอมิกจากstatusnew,awaiting-triageหรือconfirmedเป็นstatus='in-progress', ตั้งค่าassigned_toเป็นผู้เรียก และประทับตราclaimed_at=NOW()ปราศจากการแข่งขันระหว่างผู้เรียกพร้อมกันผ่านรูปแบบ UPDATE-WHERE-RETURNING ของ Postgres — หากเอเจนต์สองตัวเรียกclaim_bugบน id เดียวกันในเวลาที่ใกล้เคียงกัน ตัวหนึ่งจะได้รับclaimed:trueพร้อมเนื้อหาบั๊ก และอีกตัวจะได้รับclaimed:falseพร้อมสตริงเหตุผล การตอบกลับที่สำเร็จประกอบด้วยreporter_user_id,reporter_name,assigned_toและassignee_nameตัวเก็บขยะ pg_cron ปล่อยการจองที่เก่า (สถานะ=in-progress+claimed_at> 30 นาที) กลับไปเป็นnewโดยอัตโนมัติ ดังนั้นตั๋วของเอเจนต์ที่หยุดทำงานจะกลับเข้าคิวโดยไม่ต้องดำเนินการด้วยตนเอง ข้อมูลนำเข้า:id(UUID หรือรหัสย่อ)get_bug_report— รับรายละเอียดเต็มของรายงานด้วย UUID หรือรหัสย่อของเวิร์กสเปซ/โปรเจกต์ คืนค่าฟิลด์บุคคล/โปรเจกต์/คุณภาพมาตรฐาน รวมถึงis_epic, ข้อมูลผู้ปกครอง, ความคืบหน้ารวม และหน้าแรกของรายการย่อยแบบจำกัดสำหรับ Epic- แท็กรายงานแบบเนทีฟ:
create_bug_reportและupdate_bug_reportรับtagsเป็นอาร์เรย์สตริง เช่น{"tags":["login","regression"]}ยอมรับองค์ประกอบดิบสูงสุด 20 รายการก่อนการตัดซ้ำ สตริงจะถูกตัดช่องว่าง ต้องไม่ว่างเปล่าและยาวไม่เกิน 50 จุดรหัส Unicode และต้องไม่มีอักขระควบคุม ASCII (U+0000 ถึง U+001F หรือ U+007F) รายการที่ซ้ำกันทุกประการจะถูกลบหลังการตัดช่องว่าง; การใช้อักษรตัวพิมพ์ใหญ่/เล็กจะถูกรักษาไว้ และLoginแตกต่างจากloginในการอัปเดต อาร์เรย์จะแทนที่แท็กทั้งหมด[]ล้างแท็ก และการละเว้นจะรักษาแท็กไว้ ในการสร้าง การละเว้นหมายถึงไม่มีแท็กnullและองค์ประกอบที่ไม่ถูกต้องจะถูกปฏิเสธ ผลลัพธ์การสร้าง การรับ การแสดงรายการ และการอัปเดตเปิดเผยtagsแบบเนทีฟ - การกรองแท็ก: เรียก
list_bug_reportsด้วย{"project":"bugagent","tags":["login","regression"]}เพื่อจับคู่แท็กที่ร้องขอทั้งหมด ตามตัวพิมพ์เล็ก-ใหญ่ ก่อนการแบ่งหน้า ข้อจำกัดแท็กเดียวกันนี้ใช้; การละเว้นหรือ[]ไม่ใช้ตัวกรองแท็ก ขอบเขตreports:read/reports:writeที่มีอยู่และการอนุญาตเวิร์กสเปซ/โปรเจกต์ไม่เปลี่ยนแปลง สิ่งนี้ไม่เพิ่ม UI แท็กแบบภาพหรือการนำเข้า การซิงค์ หรือการเติมข้อมูลป้ายกำกับ Jira อัตโนมัติ get_epic— อ่าน Epic หนึ่งรายการโดยตรงด้วยidที่จำเป็น (UUID หรือรหัสย่อของเวิร์กสเปซ/โปรเจกต์) คืนค่าเฉพาะระเบียน Epic โดยไม่โหลดรายงานย่อยโดยปริยาย ต้องมีการเข้าถึงเวิร์กสเปซและโปรเจกต์; ผู้เรียกใช้คีย์ API ต้องมีreports:readใช้list_epic_childrenแยกต่างหากเพื่ออ่านรายการย่อยlist_epic_children— แบ่งหน้ารายงานย่อยของ Epic ด้วยid,limit(1–100) และoffsetคืนค่าchildren,total,has_moreและepic_progressที่รวมด้วย SQL โดยไม่โหลดรายงานย่อยทุกรายการupdate_bug_report— อัปเดตฟิลด์รายงานมาตรฐานรวมถึงis_epicและparent_epic_idส่งparent_epic_id: nullเพื่อแยกออก; การกำหนดผู้ปกครองใหม่/การแยกเป็นแบบอะตอมิกและต้องมีการอนุญาตเวิร์กสเปซและโปรเจกต์เดียวกัน การเลื่อนเป็น Epic จะแยกผู้ปกครองที่มีอยู่ออก ในขณะที่ Epic ที่มีรายการย่อยไม่สามารถลดระดับได้ กฎการแจ้งเตือนสถานะ/การแก้ไข/สาเหตุรากและการกำหนดที่ยังคงใช้ การเปลี่ยนแปลงstatusในรายงานที่เชื่อมโยงกับ Jira จะถูกสะท้อนไปยัง issue ของ Jira ผ่านการเปลี่ยนเวิร์กโฟลว์เมื่อมีการเปลี่ยนทางกฎหมายเพียงรายการเดียวที่ตรงกับสถานะที่แมป; มิฉะนั้น issue จะไม่ถูกแตะต้องadd_comment— เพิ่มความคิดเห็นในรายงานบั๊ก (UUID หรือรหัสย่อ, เนื้อหา 1-10000 ตัวอักษร) หากรายงานถูกซิงค์กับ Jira ความคิดเห็นจะถูกส่งไปยัง issue ของ Jira ที่เชื่อมโยงโดยอัตโนมัติ มาร์กดาวน์ไฟล์แนบส่วนตัวเช่นจะกลายเป็นลิงก์อัจฉริยะ bugAgent ที่รับรองความถูกต้องแบบสัมบูรณ์ใน Jira ผู้ชมต้องลงชื่อเข้าใช้ bugAgent ด้วยการเข้าถึงเวิร์กสเปซและโปรเจกต์ของรายงาน; การแสดงตัวอย่าง Jira แบบอินไลน์เนทีฟไม่รับประกันlist_comments— แสดงรายการเธรดความคิดเห็นที่เก็บไว้ของรายงาน เรียงจากเก่าที่สุดก่อน — แต่ละความคิดเห็นพร้อมชื่อผู้เขียน,parentId(การตอบกลับแบบเธรด),createdAtและupdatedAtความคิดเห็นไม่เป็นส่วนหนึ่งของget_bug_reportดังนั้นนี่คือวิธีอ่านการสนทนาของตั๋ว รับ UUID หรือรหัสย่อ การอ่านนี้ไม่รีเฟรช Jira การผสานรวมตามกำหนดการที่ต้องการความคิดเห็น Jira ใหม่สามารถเรียก POST /api/jira/comments-refresh ก่อนด้วยคีย์ API ที่เป็นเจ้าของโดยผู้จัดการที่ได้รับอนุญาต ใช้ ID ความคิดเห็นและการแก้ไขเนื้อหาเพื่อแยกแยะความคิดเห็นใหม่จากการแก้ไข และอย่าอ้างว่ารายงานกิจกรรมสมบูรณ์หากการรีเฟรชล้มเหลวlink_bug_reports— สร้างลิงก์ความหมายแบบมีทิศทางระหว่างรายงานสองรายการในโปรเจกต์ที่ได้รับอนุญาตเดียวกัน สำหรับparent-ofรายงานต้นทางต้องเป็น Epic และรายงานปลายทางเป็นรายการย่อยมาตรฐาน ควรใช้parent_epic_idในการสร้าง/อัปเดตสำหรับการกำหนด Epicunlink_bug_reports— ลบลิงก์รายงานบั๊กที่สร้างไว้ก่อนหน้านี้ด้วย UUID (link_id, คืนค่าโดยlink_bug_reportsหรือlist_bug_report_links)list_bug_report_links— แสดงรายการลิงก์ที่ผู้ใช้ดูแลทุกอันที่เกี่ยวข้องกับรายงานบั๊ก คืนค่าแต่ละลิงก์ตามที่อ่านจากมุมมองของรายงานที่ให้มา — เช่น แถวduplicate-ofที่เก็บไว้ซึ่งรายงานนี้เป็นเป้าหมายจะแสดงเป็นduplicated-by;parent-ofที่รายงานนี้เป็นเป้าหมายจะแสดงเป็นsubtask-of;depends-onที่รายงานนี้เป็นเป้าหมายจะแสดงเป็นblocks;testing-blocked-byที่รายงานนี้เป็นเป้าหมายจะแสดงเป็นblocks-testingrelated-toเป็นแบบสมมาตร เสริมฟิลด์similar_reportsที่ตรวจจับอัตโนมัติซึ่งคืนค่าโดยget_bug_reportclassify_bug— จัดหมวดหมู่คำอธิบายเป็นหนึ่งใน 19 ประเภทรายงาน (บั๊ก ฟีเจอร์ การปรับปรุง ฯลฯ) พร้อมคะแนนความเชื่อมั่นflush_reports— ลบรายงานเก่าจำนวนมาก (เฉพาะผู้ดูแลระบบ)
📊
การใช้งานและการวิเคราะห์
get_usage— ตรวจสอบการใช้งานเทียบกับขีดจำกัดของแผน ผู้เรียกใช้คีย์ API ต้องมีusage:readget_stats— จำนวนรายวัน การแจกแจงตามประเภท/ความรุนแรง/สถานะ
📁
การจัดการโปรเจกต์
list_projects— แสดงรายการโปรเจกต์ที่เข้าถึงได้พร้อมid,name,slug,ticket_prefix, คำอธิบาย และสถานะเริ่มต้น ใช้ค่าเหล่านั้นกับเครื่องมือรายงานบั๊กและแคตตาล็อกการทดสอบเพื่อกำหนดเป้าหมายโปรเจกต์ที่ถูกต้องcreate_project— สร้างโปรเจกต์ใหม่ (กลายเป็นค่าเริ่มต้นโดยอัตโนมัติหากเป็นโปรเจกต์แรก)delete_project— ลบโปรเจกต์และข้อมูลที่เกี่ยวข้องทั้งหมดอย่างถาวร (รายงานบั๊ก ระบบอัตโนมัติ กรณีทดสอบ แอปมือถือ ตารางเวลา สแนปภูมิศาสตร์ บันทึก รายการเวลา) เฉพาะเจ้าของ/ผู้จัดการเท่านั้น ไม่สามารถลบโปรเจกต์สุดท้ายได้ พื้นที่จัดเก็บจะถูกปล่อยโดยอัตโนมัติexport_okf_bundle— ส่งออกความรู้ QA ของโปรเจกต์ — รายงานบั๊ก กรณีทดสอบ ระบบอัตโนมัติ และการทดสอบประสิทธิภาพ ความปลอดภัย และการสำรวจ — เป็นชุดมาร์กดาวน์ OKF/OQA (รูปแบบ Open Query Agent ที่ใช้โดย oqa.ai) ค่าเริ่มต้นคือโปรเจกต์ที่ใช้งานอยู่; ส่งprojectแบบไม่บังคับ (slug หรือชื่อ) เพื่อส่งออกโปรเจกต์อื่น คืนค่ารายการไฟล์ในชุดรวมถึงชุดรวมเองเป็น zip ที่เข้ารหัส base64
🔐
การรับรองความถูกต้องและบัญชี
register_account— สร้างบัญชีใหม่ (รหัสผ่าน: 8-128 ตัวอักษร, จำกัดอัตรา: 5/15 นาที)login— ลงชื่อเข้าใช้และรับโทเค็นการเข้าถึง (จำกัดอัตรา: 5/15 นาที)update_profile— อัปเดตชื่อที่แสดงchange_password— เปลี่ยนรหัสผ่านบัญชีget_settings— อ่านโปรไฟล์และการตั้งค่าการแจ้งเตือนupdate_settings— อัปเดตโปรไฟล์และการตั้งค่าการแจ้งเตือนที่รองรับ การเปลี่ยนแปลงเฉพาะ OAuth
🔑
การจัดการคีย์ API
generate_api_key— สร้างคีย์ API ที่มีชื่อlist_api_keys— แสดงรายการคีย์ที่ใช้งานอยู่ (เฉพาะคำนำหน้า)regenerate_api_key— เพิกถอนและแทนที่คีย์delete_api_key— เพิกถอนคีย์อย่างถาวร
👥
การจัดการทีม
list_workspaces— แสดงรายการเวิร์กสเปซที่คุณเป็นสมาชิก บทบาทของคุณในแต่ละเวิร์กสเปซ และเวิร์กสเปซที่เซสชันใช้เป็นค่าเริ่มต้น โฮสต์หลายเวิร์กสเปซสามารถปักหมุดคำขอด้วยส่วนหัวX-BugAgent-Workspace(เฉพาะสมาชิกที่ใช้งานอยู่)list_team_members— แสดงรายการสมาชิกทั้งหมดของเวิร์กสเปซของคุณพร้อมบทบาท สถานะ และแฟล็กบูสเตอร์invite_team_member— เชิญผู้ใช้ทางอีเมล (ผู้จัดการสามารถเชิญผู้มีส่วนร่วมและผู้จัดการ; เฉพาะเจ้าของเท่านั้นที่สามารถเชิญผู้ดูแลระบบ) ลิงก์หมดอายุ 5 วัน
🎯
การผสานรวม
การซิงค์รายงาน Jira Cloud รวมอยู่ใน Free และ Enterprise ผู้จัดการเวิร์กสเปซต้องเชื่อมต่อ Jira ในแดชบอร์ดก่อน คีย์ API ของเวิร์กสเปซสามารถใช้ jira:read สำหรับการเปรียบเทียบและ jira:write สำหรับการซิงค์/รวม; แผน Atlassian และขีดจำกัด API ยังคงมีผล
sync_to_jira— ผลักรายงานไปยัง Jira โดยใช้การเชื่อมต่อที่ใช้ร่วมกันของทีม เส้นทางไปยังโปรเจกต์ Jira ที่ แมป กับโปรเจกต์ bugAgent ของรายงาน (ค่าเริ่มต้นของเวิร์กสเปซเป็นตัวสำรอง) โดยใช้แผนผังฟิลด์: v2 แยก priority และ custom severity ขณะที่แผนผังที่ไม่มีเวอร์ชันยังคงการแปล severity-to-priority แบบเดิม ตัวเลือกprojectKeyอาจเลือกเฉพาะการแมปที่กำหนดค่าหรือค่าเริ่มต้นของเวิร์กสเปซ โปรเจกต์ Jira ตามอำเภอใจจะถูกปฏิเสธ คุณมักไม่จำเป็นต้องใช้สิ่งนี้: เมื่อโหมดซิงค์ของโปรเจกต์เป็นauto_newหรือauto_allรายงานที่คุณสร้างจะถูกผลักโดยอัตโนมัติ — เรียกใช้เพื่อการผลักด้วยตนเองในโหมดmanualcheck_jira_sync— การเปรียบเทียบแบบอ่านอย่างเดียวของชื่อเรื่องและสถานะที่แมป priority และ severity สำหรับรายงานที่เชื่อมโยงที่ได้รับอนุญาต ใช้โปรเจกต์ที่บันทึกไว้และการเชื่อมต่อ Jira ของรายงาน เวอร์ชัน 2 แมป Jira Priority แยกจากฟิลด์ Severity แบบกำหนดเองที่รองรับ การแมปที่ไม่มีเวอร์ชันยังคงพฤติกรรม priority-to-severity แบบเดิม เครื่องมือนี้ไม่เปรียบเทียบความคิดเห็น ไฟล์แนบ ประเภท หรือทุกฟิลด์ Jiramerge_jira_sync— รวมฟิลด์ที่แมปเหล่านั้นโดยใช้prefer: jiraเพื่อดึงค่า Jira หรือprefer: bugagentเพื่อผลักค่าท้องถิ่น การผลักสถานะใช้การเปลี่ยนสถานะเวิร์กโฟลว์ Jira ที่ถูกต้องตามกฎหมาย ความขัดแย้งขาออกที่ไม่มีการแมป การเขียนระยะไกลที่ล้มเหลว และการเปลี่ยนแปลงท้องถิ่นพร้อมกันส่งคืนข้อผิดพลาดแทนที่จะอ้างว่าทุกอย่างซิงค์กัน ความคิดเห็นและไฟล์แนบยังคงเป็นเวิร์กโฟลว์ซิงค์แดชบอร์ดแยกต่างหาก การเขียนข้ามระบบไม่เป็นอะตอมมิกpush_to_claude— สร้าง (หรือสร้างใหม่) Developer Notes สำหรับรายงานบั๊ก — สาเหตุต้นตอ ข้อเสนอแนะการแก้ไข ขั้นตอนการตรวจสอบ และการประเมินความเสี่ยง รับ UUID หรือ ID สั้น (WRKID-545) ใช้คีย์แพลตฟอร์ม — ไม่ต้องเชื่อมต่อ Claude ต่อทีม เรียกใช้เชนแบบปรับตัว: สามขั้นตอน สำหรับบั๊กs3/mediumหรือs4/low(ร่าง Sonnet → คำวิจารณ์ OpenAIgpt-5→ การสังเคราะห์ Sonnet) ห้าขั้นตอน สำหรับกลุ่มความรุนแรงสองอันดับแรก —s1/criticalหรือs2/high— (ร่าง → คำวิจารณ์ → การโต้แย้ง Sonnet → ผู้ตัดสิน Claude Opus ที่อ่านบันทึกทั้งหมดและเขียนบันทึกสุดท้ายด้วยดุลยพินิจอิสระ) การตอบสนองเปิดเผยทุกรอบ:analysis,draft,critique,rebuttal,challenger_model,adjudicator_model, และแฟล็กdebatedขั้นตอนใดก็ตามที่ล้มเหลวจะตกไปยังคำตอบที่ดีที่สุดถัดไป เรียกใช้โดยอัตโนมัติเมื่อสร้างบั๊ก โดยปกติจะเรียกใช้เพื่อสร้างใหม่ด้วยตนเองเท่านั้นanalyze_fix_area— สร้าง (หรือสร้างใหม่) บล็อกย่อย "Likely Fix Area" ของ Developer Notes — ผลลัพธ์ Sonnet แบบแคบที่ระบุว่าการแก้ไขมีแนวโน้มอยู่ในส่วนใดของโค้ดเบส รับ UUID หรือ ID สั้น ใช้คีย์ Anthropic ของแพลตฟอร์ม เมื่อทีมมีแถวgithub_connectionsและโปรเจกต์มีการแมปgithub_repoผลลัพธ์จะอ้างอิงจากตัวอย่างไฟล์จริงจาก repo ที่เชื่อมต่อ มิฉะนั้นจะตกไปใช้คำแนะนำทั่วไปพร้อมคำแนะนำให้เชื่อมต่อ repo ส่งคืนข้อความlikely_fix_area,generated_at,repo_used, และแฟล็กgroundedเรียกใช้โดยอัตโนมัติเมื่อสร้างบั๊ก — เอเจนต์โดยทั่วไปต้องเรียกใช้เพื่อสร้างใหม่ด้วยตนเองเท่านั้นupgrade_plan— รับลิงก์การลงทะเบียน Enterprise ที่ช่วยเหลือโดยฝ่ายขาย
⚡
การทดสอบประสิทธิภาพ
create_performance_test— สร้างการกำหนดค่าการทดสอบประสิทธิภาพด้วย URL อุปกรณ์ ผู้ใช้เสมือน ระยะเวลา เกณฑ์คะแนน และสลับการสร้างบั๊กอัตโนมัติ เฉพาะ Enterpriserun_performance_test— เรียกใช้การตรวจสอบหน้าเว็บและการทดสอบโหลดสำหรับการทดสอบประสิทธิภาพเว็บ ส่งคืน ID การรันเพื่อรอผล การรันโปรไฟล์แอปมือถือถูกเรียกใช้จากแดชบอร์ดget_performance_results— รับผลลัพธ์เต็มรูปแบบรวมถึงคะแนน Lighthouse (Performance, Accessibility, Best Practices, SEO), Core Web Vitals (LCP, FID, CLS, FCP, TTFB, INP, TBT, SI), และเมตริกการทดสอบโหลด (VUs, requests, RPS, p50/p90/p95/p99 latencies)list_performance_tests— แสดงรายการการกำหนดค่าการทดสอบประสิทธิภาพทั้งหมดสำหรับทีมปัจจุบันget_performance_usage— ตรวจสอบการใช้งานการทดสอบประสิทธิภาพรายเดือน การทดสอบประสิทธิภาพเฉพาะ Enterprise เท่านั้น Free=0, Enterprise=ไม่จำกัด
เวิร์กโฟลว์ตัวอย่าง
get_performance_usage→ ตรวจสอบโควต้าคงเหลือcreate_performance_test→ กำหนดค่าการทดสอบสำหรับ URL ของคุณrun_performance_test→ เรียกใช้การตรวจสอบ + การทดสอบโหลดget_performance_results→ ตรวจสอบคะแนนและ vitals
🛡
การสแกนความปลอดภัย
create_security_scan— สร้างการกำหนดค่าการสแกนความปลอดภัย การสแกนเว็บใช้ Quick Scanner + Nuclei (เทมเพลต 4,000+ รายการ) พร้อมระดับความลึกสามระดับและการสแกนแบบรับรองความถูกต้องที่เป็นตัวเลือก การสแกนมือถือใช้ MobSF สำหรับการวิเคราะห์ไบนารี APK/IPA การสร้างบั๊กอัตโนมัติที่กำหนดค่าได้พร้อมเกณฑ์ความรุนแรง เฉพาะ Enterpriserun_security_scan— เรียกใช้การสแกนช่องโหว่ การสแกนเว็บต้องมีการยืนยันโดเมน DNS การสแกนมือถือต้องมีแอปที่อัปโหลด ส่งคืน ID การรันเพื่อรอผลget_security_results— รับผลลัพธ์เต็มรูปแบบรวมถึงคะแนนความปลอดภัย (0-100) การค้นพบที่จัดหมวดหมู่ตามความรุนแรง (Critical, High, Medium, Low, Info) พร้อมการอ้างอิง CWE การแมป OWASP หลักฐาน และคำแนะนำการแก้ไขlist_security_scans— แสดงรายการการกำหนดค่าการสแกนความปลอดภัยทั้งหมดสำหรับทีมปัจจุบันพร้อมคะแนนล่าสุดและป้าย auth/depthget_security_usage— ตรวจสอบการใช้งานการสแกนความปลอดภัยรายเดือน การสแกนความปลอดภัยเฉพาะ Enterprise เท่านั้น Enterprise=ไม่จำกัดlist_security_schedules— แสดงรายการการสแกนความปลอดภัยตามกำหนดเวลาทั้งหมดสำหรับทีมพร้อม cron โซนเวลา สถานะเปิดใช้งาน การรันครั้งถัดไป และการตั้งค่าการแจ้งเตือน รวมกับการกำหนดค่าการสแกนหลัก (name, scan_type, target_url)create_security_schedule— สร้างกำหนดการที่เกิดซ้ำสำหรับการสแกนความปลอดภัย ต้องใช้scan_idและcron_expressionหนึ่งกำหนดการต่อการกำหนดค่าการสแกน ตัวเลือกtimezone,notify_on_fail(none/email/slack/both),notify_email,slack_channel_idทุกการรันนับรวมกับขีดจำกัดรายเดือนของคุณ ผู้ใช้ admin ข้ามขีดจำกัด ความลึกการสแกนจะอ่านจากการกำหนดค่าการสแกนเสมอเมื่อรันdelete_security_schedule— ลบการสแกนความปลอดภัยตามกำหนดเวลา ไม่ส่งผลต่อการกำหนดค่าการสแกนหลักหรือการรันที่เสร็จสมบูรณ์
เวิร์กโฟลว์ตัวอย่าง
get_security_usage→ ตรวจสอบโควต้าคงเหลือcreate_security_scan→ กำหนดค่าการสแกนสำหรับ URL หรือ repo ของคุณrun_security_scan→ เรียกใช้การสแกนช่องโหว่แบบครั้งเดียวcreate_security_schedule→ ทำให้การรันที่เกิดซ้ำเป็นอัตโนมัติ (เช่น SAST รายสัปดาห์บนสาขาหลัก)get_security_results→ ตรวจสอบการค้นพบและการแก้ไข
📖
การตรวจสอบโค้ด
list_code_reviews— แสดงรายการการตรวจสอบโค้ด AI ล่าสุดสำหรับทีม ส่งคืนคะแนนคุณภาพ จำนวนความรุนแรง ข้อมูล PR และการประทับเวลา เฉพาะ Enterpriseget_code_review— รับการตรวจสอบโค้ดพร้อมการค้นพบทั้งหมด การค้นพบแต่ละรายการรวมถึงความรุนแรง หมวดหมู่ (bug/security/performance/style/logic/maintainability) ชื่อเรื่อง คำอธิบาย ข้อเสนอแนะโค้ด เส้นทางไฟล์ และหมายเลขบรรทัดget_code_review_usage— ตรวจสอบการใช้งานการตรวจสอบโค้ด การตรวจสอบโค้ด AI เฉพาะ Enterprise เท่านั้น ไม่จำกัดบน Enterpriseget_code_review_analytics— รับการวิเคราะห์การตรวจสอบ: แนวโน้ม หมวดหมู่/แหล่งที่มาของการค้นพบ การแจกแจงความรุนแรง เมตริกความเร็ว repo/ผู้เขียนอันดับต้น รองรับการย้อนหลัง 7/30/90 วัน
เวิร์กโฟลว์ตัวอย่าง
get_code_review_usage→ ตรวจสอบการตรวจสอบที่เหลือ- ตรวจสอบ PR ในแดชบอร์ดที่
/dashboard/code-review list_code_reviews→ ดูการตรวจสอบล่าสุดget_code_review→ รับการค้นพบและข้อเสนอแนะ
🔍
Exploratory AI
ตัวค้นหาบั๊กเว็บไซต์อัตโนมัติแบบหลายเอเจนต์พร้อมเอเจนต์ขนานสูงสุด 10 ตัว แต่ละตัวใช้กลยุทธ์การทดสอบที่แตกต่างกัน
list_explorations— แสดงรายการการกำหนดค่า Exploratory AI สำหรับทีมcreate_exploration— สร้างการสำรวจใหม่ รับagent_count(1–10, สูงสุด 10) เพื่อรันเอเจนต์ขนานหลายตัวพร้อมกลยุทธ์เฉพาะ: happy_path, edge_case, security, accessibility, error_path, performance, mobile, data_integrity, navigation, custom เครื่องมือนี้ไม่สามารถกำหนดค่าข้อมูลรับรองหรือโหมดการรับรองความถูกต้อง กำหนดค่าและเปิดใช้ Test login flow only อย่างชัดเจนผ่านแดชบอร์ดหรือ REST จากนั้นใช้get_explorationและget_exploration_runเพื่อตรวจสอบการกำหนดค่าและผลลัพธ์ อย่าอนุมานโหมดจากคำแนะนำหรือใส่ข้อมูลรับรองในอาร์กิวเมนต์ MCP การสำรวจตามข้อมูลรับรองเริ่มต้นยังต้องมีเซสชันที่ใช้ซ้ำได้get_exploration— รับการกำหนดค่าการสำรวจพร้อมการตั้งค่าเอเจนต์ เมตาดาต้าการรับรองความถูกต้องที่ปลอดภัย และการรันล่าสุด รหัสผ่านและ ciphertext จะไม่ถูกส่งคืนget_exploration_run— รับผลลัพธ์การรันพร้อมความคืบหน้าต่อเอเจนต์ ข้อมูลเฟส การค้นพบพร้อมการระบุแหล่งที่มาของเอเจนต์ (agent_index,agent_strategy) และบั๊กที่เชื่อมโยงget_exploration_usage— ตรวจสอบการใช้งานรายเดือน Exploratory AI เฉพาะ Enterprise เท่านั้น Enterprise: ไม่จำกัด (10 เอเจนต์)
เวิร์กโฟลว์ตัวอย่าง
create_explorationพร้อมagent_count: 5→ กำหนดค่าเอเจนต์ขนาน 5 ตัว- เรียกใช้การรันจากแดชบอร์ดหรือผ่าน
POST /api/explorations/run get_exploration_run→ รอความคืบหน้าต่อเอเจนต์และการค้นพบ- ดูการค้นพบที่ไม่ได้ทำซ้ำพร้อมการระบุแหล่งที่มาของเอเจนต์ในแดชบอร์ด
📝
บันทึก
list_notes— แสดงรายการบันทึกพร้อมตัวกรองคำสำคัญ โปรเจกต์ การมองเห็น โฟลเดอร์ แท็ก ไฟล์เก็บถาวร wiki ช่วงวันที่ และการเรียงลำดับที่เป็นตัวเลือก ส่งคืนบันทึกที่ผู้ใช้เป็นเจ้าของหรือบันทึกที่แชร์กับพวกเขาcreate_note— สร้างบันทึกใน 1 ใน 5 รูปแบบ:markdown,plain,bugtemplate,checklist,outlineตั้งค่าvisibilityเป็นprivateหรือsharedชื่อเรื่องอัตโนมัติจาก 30 ตัวอักษรแรกหากไม่มีชื่อเรื่องที่ให้ไว้ อาร์เรย์attachmentsที่เป็นตัวเลือกรับไฟล์ที่เข้ารหัส base64 สูงสุด 400 MB ต่อไฟล์: รูปภาพ วิดีโอ เสียง PDF หรือ text/JSON ผ่านtime_spent_secondsเพื่อติดตามความพยายาม QAget_note— รับรายละเอียดบันทึกเต็มรวมถึงเนื้อหาและไฟล์แนบ ต้องใช้idupdate_note— อัปเดตชื่อเรื่อง เนื้อหา รูปแบบ การมองเห็น โปรเจกต์ หรือtime_spent_secondsผ่านอาร์เรย์attachmentsเพื่อเพิ่มไฟล์ใหม่ (สูงสุด 400 MB ต่อไฟล์) ไปยังไฟล์แนบที่มีอยู่ของบันทึกโดยไม่แทนที่ เฉพาะผู้เขียนเท่านั้นที่สามารถอัปเดตได้ ต้องใช้iddelete_note— ลบบันทึกและไฟล์แนบอย่างถาวร เฉพาะผู้เขียนเท่านั้นที่สามารถลบได้ ต้องใช้idlist_note_folders— แสดงรายการโฟลเดอร์บันทึก/wiki กำหนดขอบเขตตามโปรเจกต์ได้create_note_folder— สร้างโฟลเดอร์บันทึก/wiki ที่กำหนดขอบเขตตามโปรเจกต์พร้อมการตั้งค่าโฟลเดอร์หลัก การมองเห็น รายการโปรด และการเข้าถึงของเพื่อนร่วมทีมที่เป็นตัวเลือก
เวิร์กโฟลว์ตัวอย่าง
create_note→ เริ่มบันทึกเซสชันการทดสอบupdate_note→ เพิ่มข้อสังเกตขณะที่คุณทดสอบlist_notes→ ค้นหาบันทึกก่อนหน้าโดยคำสำคัญหรือโปรเจกต์get_note→ ดึงบันทึกเต็มพร้อมไฟล์แนบ
🤖
ระบบอัตโนมัติ
create_automation— สร้างระบบอัตโนมัติใหม่ด้วยสคริปต์ Playwright ที่กำหนดเอง (ไม่ต้องมีการบันทึก FAB) ต้องใช้nameไม่บังคับ:target_url(ดึงจาก URLpage.goto(...)แรกในสคริปต์โดยอัตโนมัติหากไม่ระบุ),script(Node.js/JavaScript/TypeScript หรือ Python — ตรวจจับภาษาอัตโนมัติ; ค่าเริ่มต้นเป็นตัวยึดตำแหน่ง),status(draftหรือactive, ค่าเริ่มต้น:draft),project_idคืนค่าidของระบบอัตโนมัติ เคล็ดลับ — ทำสำเนาระบบอัตโนมัติ: ใช้get_automationเพื่อดึงสคริปต์ต้นฉบับ จากนั้นเรียกcreate_automationโดยตั้งค่าnameเป็น"[Copy] Original Name"และส่งscript,target_url, และproject_idต้นฉบับ สำเนาจะเริ่มต้นในสถานะdraftโดยไม่มีประวัติเวอร์ชันlist_automations— แสดงรายการสคริปต์ระบบอัตโนมัติ Playwright กรองตามproject_idหรือstatus(draft,active,paused) คืนค่าอาร์เรย์ของระบบอัตโนมัติพร้อมชื่อ target_url, last_run_status และ run_countget_automation— รับรายละเอียดระบบอัตโนมัติทั้งหมดรวมถึงสคริปต์ Playwright และการรันล่าสุด ต้องใช้idคืนค่าระบบอัตโนมัติพร้อมscriptที่ใช้งานจริง, สแตกscript_versions(เก่าที่สุดก่อน, สูงสุด 100 รายการก่อนหน้า, แต่ละรายการเป็น{ script, source, timestamp }) และอาร์เรย์recent_runsซึ่งแต่ละการรันมีscript_version_label/script_version_sourceที่ดำเนินการ เรียกสิ่งนี้ก่อนrun_automationหากคุณต้องการเลือกเวอร์ชันประวัติที่เฉพาะเจาะจงrun_automation— เรียกใช้การทดสอบ Playwright ทันที ต้องใช้automation_idตัวระบุตำแหน่งที่ซ่อมแซมตัวเอง (อัตโนมัติ): เมื่อการดำเนินการตัวระบุตำแหน่งหมดเวลา ตัวรันจะถาม Claude สำหรับตัวเลือกที่ใช้งานได้และลองขั้นตอนนั้นอีกครั้งหนึ่งครั้ง — การยืนยันจะไม่ถูกซ่อมแซม ดังนั้นการถดถอยจริงจะยังคงล้มเหลว — และการซ่อมแซมแต่ละครั้งจะถูกบันทึกใน stdout ของการรัน โหมดจำลอง (ค่าเริ่มต้น):deviceไม่บังคับสำหรับโปรไฟล์อุปกรณ์จำลอง (เช่นdesktop,iphone-15) โหมดจริง: ตั้งค่าbrowserstack: trueด้วยbs_browser(chrome,firefox,safari,edge),bs_os(Windows,OS X) และbs_os_versionเพื่อรันบนเบราว์เซอร์เดสก์ท็อปจริง มือถือจริง: ตั้งค่าbs_os: "android"(อุปกรณ์:"Samsung Galaxy S25 Ultra","Google Pixel 10","OnePlus 13R") หรือbs_os: "ios"(อุปกรณ์:"iPhone 17 Pro Max","iPhone 16 Pro Max","iPhone 15 Pro Max") และส่งชื่ออุปกรณ์ในbs_os_versionทั้งสองโหมดทำงานในเบื้องหลัง; จริงอธิบายสภาพแวดล้อมการดำเนินการ ไม่ใช่เซสชันโต้ตอบที่มองเห็นได้ สคริปต์ Node.js ผ่านbrowserstack-node-sdk(ครอบคลุมเดสก์ท็อป + Android + iPhone) สคริปต์ Python ผ่านbrowserstack-sdk(pytest-playwright) และครอบคลุมเดสก์ท็อปเท่านั้น — มือถือจริงผ่าน Python ไม่รองรับเพราะbrowser_type.connect()ของ pytest-playwright ไม่สามารถขับเคลื่อนจุดสิ้นสุดมือถือจริงของ BrowserStack ได้ วิดีโอและบันทึกเครือข่ายถูกจับโดยอัตโนมัติ; บันทึกคอนโซลเฉพาะเดสก์ท็อป เล่นซ้ำเวอร์ชัน: ตรวจสอบscript_versionsด้วยget_automationจากนั้นส่งversion_labelที่ทนทานที่ต้องการ (ตัวอย่างเช่น"v103")version_indexรุ่นเก่ายังคงรองรับ แต่ต้องไม่รวมกับversion_labelค่าเริ่มต้น: เมื่อละเว้นตัวเลือกทั้งสอง สคริปต์ที่บันทึกปัจจุบันจะทำงาน ป้ายกำกับที่ถูกตัดและดัชนีที่ไม่ถูกต้องจะถูกปฏิเสธแทนที่จะรันปัจจุบันอย่างเงียบ ๆ บันทึกการรันเก็บสแนปชอตที่แน่นอนที่รัน และรายงานบั๊กใด ๆ ที่สร้างอัตโนมัติจากการรันที่ล้มเหลวจะเชื่อมโยงลึกกลับไปยังเวอร์ชันนั้นในตัวแก้ไขlist_automation_runs— แสดงรายการการรันล่าสุดสำหรับระบบอัตโนมัติ ต้องใช้automation_idคืนค่าการรันพร้อมสถานะ duration_ms และ error_messagelist_schedules— แสดงรายการการรันระบบอัตโนมัติเว็บตามกำหนดการทั้งหมดพร้อมcron_expressionที่เป็นค่าว่างได้,run_atที่เป็นค่าว่างได้,once_status, เขตเวลา, อุปกรณ์ และการตั้งค่าการแจ้งเตือน แถวที่เกิดซ้ำจะเก็บrun_atและonce_statusเป็น null; แถวครั้งเดียวมี cron เป็น null สถานะครั้งเดียว:pending,claimed,missed,dispatched,failed,uncertainสิ่งเหล่านี้เป็นสถานะการจัดส่ง ไม่ใช่ผลการทดสอบ; ตรวจสอบlist_automation_runsสำหรับผลลัพธ์- กำหนดการเว็บที่เกิดซ้ำ:
create_scheduleตรวจสอบฟิลด์ cron ตัวเลขห้าฟิลด์และเขตเวลา และคืนค่าnext_run_atUTC ในอนาคต รองรับการเกิดซ้ำรายเดือนและรายปี ตัวอย่างเช่น30 12 23 9 *ในAmerica/Torontoหมายถึง 23 กันยายน เวลา 12:30 ทุกปี ไม่ใช่การรันครั้งเดียว เวลาที่ไม่ถูกต้องหรือเป็นไปไม่ได้จะถูกปฏิเสธก่อนการสร้าง เมื่อทั้งวันของเดือนและวันของสัปดาห์ถูกจำกัด ทั้งสองต้องตรงกัน เวลาออมแสงที่ไม่มีอยู่จะถูกข้าม; เวลานาฬิกาที่ซ้ำกันสามารถเกิดขึ้นได้สองครั้ง การจัดส่งเกิดขึ้นในการสำรวจครั้งถัดไปของตัวกำหนดเวลา ไม่จำเป็นต้องเป็นนาทีที่แน่นอน พฤติกรรมการเกิดซ้ำที่มีอยู่ไม่เปลี่ยนแปลง - กำหนดการเว็บครั้งเดียว: เรียก
create_scheduleด้วย{ "automation_id": "AUTOMATION_UUID", "run_at": "2030-12-15T09:30:00-05:00", "timezone": "America/Toronto" }, เลือกวันที่ในอนาคตและละเว้นcron_expressionระบุฟิลด์เวลาหนึ่งฟิลด์เท่านั้นrun_atต้องใช้การประทับเวลา ISO 8601 ในอนาคตที่ระบุออฟเซ็ต (ออฟเซ็ตที่ชัดเจนหรือZ); เขตเวลา IANA สำหรับการแสดงผล กำหนดการที่รอดำเนินการที่เปิดใช้งานจะดำเนินการในการสำรวจ cron ครั้งแรกหลังจากถึงกำหนด; ล่าช้ากว่าหนึ่งชั่วโมงจะถูกทำเครื่องหมายเป็นmissedมันถูกอ้างสิทธิ์และปิดใช้งานโดยอะตอมก่อนการจัดส่ง และไม่สามารถเปิดใช้งานอีกครั้งเมื่อถูกใช้แล้ว ความล้มเหลวในการจัดส่งที่ชัดเจนคือfailed; การจัดส่งที่ไม่ชัดเจนคือuncertainและไม่มีการลองใหม่โดยอัตโนมัติ ตรวจสอบการรันก่อนกำหนดเวลาความพยายามอื่นdispatchedไม่ได้หมายความว่าเสร็จสมบูรณ์หรือผ่าน การสร้างเป็น API/MCP เท่านั้น ไม่ใช่โหมดการสร้างแดชบอร์ดใหม่ - เขตเวลากำหนดการเว็บเป็นตัวระบุ IANA เช่น
America/Argentina/Buenos_Airesตัวเลือกแดชบอร์ดรวมถึงภูมิภาคและเมืองที่รองรับทั้งหมดของเซิร์ฟเวอร์และค่าเริ่มต้นเป็นเขตเวลาโปรไฟล์ของคุณ; ค่าเริ่มต้นเขตเวลา MCP ยังคงเป็นUTC create_schedule— สร้างการรันระบบอัตโนมัติเว็บตามกำหนดการ ต้องใช้automation_idและหนึ่งในcron_expressionหรือrun_atเท่านั้น รองรับอุปกรณ์, เขตเวลา, การแจ้งเตือนความล้มเหลว, อีเมล และการตั้งค่าช่อง Slack ไม่บังคับ เชื่อมต่อ Slack ผ่านแดชบอร์ดก่อนและเลือกช่องที่บอทเป็นสมาชิก; การติดตั้งเว็บฮุคเพียงอย่างเดียวไม่เพียงพอ ดู การตั้งค่า Slack และการค้นพบช่อง- การเปิดตัวครั้งเดียวและการกู้คืน: ใช้การย้ายฐานข้อมูล
374_one_time_web_schedules.sqlก่อนปรับใช้ API/MCP และโค้ดตัวกำหนดเวลาที่ตรงกันclaimedสามารถคงอยู่หลังจากการขัดข้องของเวิร์กเกอร์: ตรวจสอบประวัติการรันก่อนสร้างการแทนที่สำหรับการจัดส่งที่อ้างสิทธิ์หรือไม่ชัดเจน การประทับเวลาที่ล่าช้ากว่าหนึ่งชั่วโมงจะไม่ถูกดำเนินการโดยอัตโนมัติ - ร่างระบบอัตโนมัติเว็บ: เปิดใช้งานระบบอัตโนมัติก่อนสร้างกำหนดการ, เปิดใช้งานกำหนดการอีกครั้ง หรือเปลี่ยนนิพจน์ cron หรือเขตเวลา
create_scheduleตรวจสอบการเข้าถึงพื้นที่ทำงานและโปรเจกต์ก่อนปฏิเสธสถานะร่าง กำหนดการที่มีอยู่ข้ามรอบในขณะที่ระบบอัตโนมัติเป็นร่าง; การหยุดชั่วคราว, การลบ, การปักหมุด และการเปลี่ยนแปลงเฉพาะการแจ้งเตือนยังคงพร้อมใช้งาน ไม่มีเครื่องมือ MCPupdate_scheduleเว็บ; ใช้แดชบอร์ดสำหรับการอัปเดตเหล่านั้น delete_schedule— ลบการรันระบบอัตโนมัติเว็บตามกำหนดการlist_mobile_schedules— แสดงรายการการรันระบบอัตโนมัติมือถือตามกำหนดการทั้งหมดพร้อมอุปกรณ์, cron, เขตเวลา และการแจ้งเตือนcreate_mobile_schedule— สร้างการรันระบบอัตโนมัติมือถือตามกำหนดการบนอุปกรณ์จริง ต้องใช้automation_idและcron_expression;devicesไม่บังคับdelete_mobile_schedule— ลบการรันระบบอัตโนมัติมือถือตามกำหนดการoptimize_automation_script— ส่งสคริปต์ Playwright ไปยัง Sonnet 4 เพื่อการเพิ่มประสิทธิภาพที่ขับเคลื่อนด้วย AI ใช้รายการตรวจสอบ 12 จุดที่แก้ไขตัวเลือก, กลยุทธ์การรอ, การยืนยัน, การจัดการข้อผิดพลาด, รูปแบบการรับรองความถูกต้อง, ความเข้ากันได้ของมือถือ และโหมดเข้มงวด ต้องใช้automation_idเวอร์ชันสคริปต์ปัจจุบันจะถูกบันทึกก่อนการเพิ่มประสิทธิภาพ คืนค่าสคริปต์ที่เพิ่มประสิทธิภาพและสรุปการเปลี่ยนแปลงundo_automation_script— ย้อนกลับสคริปต์ระบบอัตโนมัติเป็นเวอร์ชันก่อนหน้า เก็บเวอร์ชันก่อนหน้าสูงสุด 100 เวอร์ชัน ต้องใช้automation_idคืนค่าสคริปต์ที่กู้คืนและจำนวนเวอร์ชันที่เหลือ
เวิร์กโฟลว์ตัวอย่าง
create_automation→ สร้างการทดสอบด้วยสคริปต์ที่กำหนดเองlist_automations→ เรียกดูการทดสอบที่มีอยู่get_automation→ ตรวจสอบสคริปต์ Playwrightrun_automation→ เรียกใช้การทดสอบlist_automation_runs→ ตรวจสอบผลลัพธ์และระยะเวลา
⏱️
การติดตามเวลา
list_time_entries— แสดงรายการรายการเวลาสำหรับทีม กรองตามperiod(today,week,month,all),project_id,categoryและsort(newest,oldest,most_time,least_time) เฉพาะแผน Enterprisecreate_time_entry— บันทึกเวลาที่ใช้ในงาน QA ต้องใช้description,categoryและduration_minutesไม่บังคับตั้งค่าproject_idและentry_date(ค่าเริ่มต้นเป็นวันนี้) เฉพาะแผน Enterpriseupdate_time_entry— อัปเดตรายการเวลาที่มีอยู่ ต้องใช้idสามารถอัปเดตdescription,category,duration_minutes,project_idหรือentry_dateเฉพาะแผน Enterprisedelete_time_entry— ลบรายการเวลาอย่างถาวร ต้องใช้idเฉพาะแผน Enterprise
เวิร์กโฟลว์ตัวอย่าง
create_time_entry→ บันทึกการทดสอบการถดถอย 45 นาทีlist_time_entries→ ดูรายการเวลาของสัปดาห์นี้update_time_entry→ ปรับระยะเวลาหรือหมวดหมู่delete_time_entry→ ลบรายการที่ไม่ถูกต้อง
☑️
กรณีทดสอบ
การจัดการการทดสอบด้วยโฟลเดอร์แบบลำดับชั้น, ชุดทดสอบที่ซ้อนกัน (ลึกสูงสุด 3 ระดับพร้อมการขยายชุดย่อยอัตโนมัติในการรัน), การจัดลำดับใหม่แบบลากและวาง และแท็บรายงานการวิเคราะห์พร้อมแนวโน้ม KPI, การวิเคราะห์ความล้มเหลว, สุขภาพชุดทดสอบ, ความครอบคลุม และประสิทธิภาพของผู้ทดสอบ เครื่องมือทั้งหมดเรียก Supabase โดยตรง — ไม่มีการเดินทาง HTTP รอบเดียว, ความหน่วงเดียวกันกับแดชบอร์ด
ขีดจำกัดฟรี: กรณีทดสอบที่เก็บ 10 รายการ, 1 ชุดทดสอบ, 3 โฟลเดอร์, เนื้อหาโครงสร้าง 128 KB ต่อกรณี, คีย์ API พื้นที่ทำงานที่ใช้งาน 2 รายการ และการรันทดสอบทั้งหมด 10 ครั้งต่อเดือนปฏิทิน UTC สูงสุด 3 การรันเหล่านั้นอาจใช้ Hermes หรือตัวแทนภายนอกอื่น โดยมีการรันภายนอกที่ใช้งาน 1 รายการและสูงสุด 10 กรณีในแต่ละแผนภายนอก การรับส่งข้อมูล MCP คีย์ API ฟรีจำกัดที่ 30 คำขอต่อคีย์และ 60 ต่อพื้นที่ทำงานต่อนาที การจัดเก็บกรณีทดสอบและการรัน Enterprise ไม่จำกัด ภายใต้การป้องกันแพลตฟอร์มทั่วไป
การสร้างกรณีทดสอบด้วย AI, คำแนะนำแท็กด้วย AI, การนำเข้า Figma และไฟล์แนบกรณีทดสอบต้องใช้ Enterprise ขอบเขตเนื้อหาโครงสร้างฟรี 128 KB แยกจากการแนบไฟล์ Enterprise ฟรีสามารถเก็บการอ้างอิง URL เครื่องมือ MCP กรณีทดสอบหลักยังคงพร้อมใช้งานในฟรีภายใต้ขีดจำกัดข้างต้น
การดำเนินการแบบแฮนด์ฟรี: หน้ารีวิวการรันเป็นม้าหมุนโดยแสดงหนึ่งกรณีในแต่ละครั้ง, ปุ่มลัด (P ผ่าน · F ล้มเหลว · B บล็อก · S ข้าม) และ การควบคุมด้วยเสียง คลิกไมโครโฟน จากนั้นพูด "ผ่าน", "ล้มเหลว", "บล็อก", "ข้าม", "ถัดไป", "ก่อนหน้า", "เพิ่มบันทึก" (ถอดเสียงลงในช่องบันทึก), "บันทึกบันทึก" หรือ "ปิดเสียง" เลื่อนอัตโนมัติไปยังกรณีที่ยังไม่ได้ทดสอบถัดไปเมื่อผลลัพธ์สำเร็จ; คงอยู่ที่ล้มเหลวเพื่อให้ผู้ทดสอบสามารถบอกรายละเอียดและสร้างบั๊ก ทำงานใน Chrome, Edge และ Safari
กรณีและโฟลเดอร์
list_test_cases— แสดงรายการเทสต์เคสที่เข้าถึงได้ พร้อมตัวเลือกprojectและตัวกรองsearch,priority,type,status, และsortเพิ่มfolder_id(null สำหรับ unfiled) หรือsuite_idสำหรับการเป็นสมาชิกโดยตรง โดยไม่มี descendant ผู้เรียกผ่าน API key ต้องใช้test_cases:readค่าเริ่มต้นของlimitคือ 50 (1-200); ค่าเริ่มต้นของoffsetคือ 0 (0-1000000) อาร์เรย์casesที่ไม่เปลี่ยนแปลงจะมาพร้อมกับtotal/total_countสำหรับผลลัพธ์ที่ตรงตามสิทธิ์ทั้งหมด,limit,offset,has_more, และnext_offsetที่เป็น nullable ก่อนหน้านี้totalหมายถึงความยาวหน้าเพจอย่างไม่ถูกต้อง ให้ทำตาม next_offset จนกว่าจะเป็น null; อย่าอนุมานว่าการแบ่งหน้าเสร็จสิ้นจากความยาวหน้าเพจ การดำเนินการต่อเกิน offset 1000000 จะล้มเหลวอย่างชัดเจน; ให้จำกัดตัวกรองแทนที่จะได้รับ cursor ที่ใช้ไม่ได้หรือการเสร็จสิ้นที่ผิดพลาด หน้าที่เกิน 1 MiB ของข้อมูลเคสจะล้มเหลวอย่างชัดเจน: ให้ลองใหม่ด้วย limit ที่เล็กลง แทนที่จะยอมรับเรกคอร์ดที่ถูกละเว้น มีการใช้การตัดสินเสมอด้วย ID ที่เสถียร แต่การแก้ไขพร้อมกันอาจทำให้หน้าของ offset เลื่อนได้- ตัวอย่างการแบ่งหน้า: เรียก
list_test_casesด้วย{"project":"test-bed","limit":50,"offset":0}สำหรับผลลัพธ์ 55 รายการ การตอบสนองจะมีtotal:55, has_more:true, next_offset:50ทำซ้ำด้วยoffset:50สำหรับห้ารายการที่เหลือและhas_more:false, next_offset:null create_test_case— สร้างเทสต์เคสในตัวเลือกprojectที่จำเป็น (UUID, slug, ชื่อที่แน่นอน, หรือคำนำหน้าตั๋ว; เรียกlist_projectsก่อน) มีสองรูปแบบเทมเพลต:steps(ค่าเริ่มต้น) — ตาราง{ action, expected }แบบรายขั้นตอนผ่านอาร์เรย์steps;text— คำอธิบายแบบอิสระเดียวผ่านtext_contentทั้งสองฟิลด์สามารถส่งได้ในการเรียกเดียวกัน อาร์เรย์urlsที่ไม่บังคับ (สูงสุด 10 URL http/https) แนบลิงก์อ้างอิงและใช้ได้ในแผน Free ไฟล์แนบต้องใช้ Enterprise และเซสชันแดชบอร์ด ผู้เรียกผ่าน API key ต้องใช้test_cases:write- การกู้คืนการแบ่งหน้า: การขอ offset ของเคสที่เกินผลลัพธ์ที่มีอยู่จะส่งคืนข้อผิดพลาดอย่างชัดเจน; ให้เริ่มใหม่ที่ offset 0 สิ่งนี้สามารถเกิดขึ้นได้เมื่อเคสถูกลบระหว่างคำขอ ให้ทำตาม continuation ที่ส่งคืนแทนการเดา offset ถัดไป
- ตัวระบุเคส:
list_test_cases,get_test_case,create_test_case, และupdate_test_caseส่งคืน UUIDid,short_idที่ไม่เปลี่ยนรูป (ตัวอย่างเช่นTEST-BA-CASE-123), และcase_numberเชิงตัวเลข รวมถึงการตอบสนองแบบ compact update/no-op เคสแบบ legacy ที่ไม่มีโปรเจกต์ใช้TEST-CASE-123ตัวระบุที่หายไปจะถูกส่งคืนเป็นnull; ให้ใช้ UUID เป็นตัวสำรอง ฐานข้อมูลเป็นผู้กำหนดตัวระบุ; ผู้เรียกไม่สามารถเปลี่ยนแปลงหรือเลือกได้ในระหว่างการสร้าง การเปลี่ยนคำนำหน้าไม่เขียนทับ ID ที่มีอยู่ - การค้นหาเคสเดียว:
get_test_caseและupdate_test_caseรับ UUID หรือ short ID เต็มในid;link_test_case_to_bugและlist_test_case_linksรับอย่างใดอย่างหนึ่งในcase_idช่องว่างรอบข้าง ตัวพิมพ์ใหญ่เล็ก และการเติมตัวเลขจะถูกทำให้เป็นมาตรฐานก่อนการค้นหาที่แน่นอนในเวิร์กสเปซที่ใช้งานอยู่ การอนุญาตใช้เวิร์กสเปซและโปรเจกต์ที่จัดเก็บไว้ ไม่ใช่คำนำหน้า ID ตัวเลขเปล่า ID บางส่วน และการค้นหาแบบ wildcard ไม่ได้รับการยอมรับ อาร์เรย์เคสแบบกลุ่ม,case_idของผลการดำเนินการ, ID บั๊ก, ID โฟลเดอร์ และ ID ชุดทดสอบยังคงเป็น UUID เท่านั้น เรกคอร์ดลิงก์เก็บ UUIDcase_idไว้ - ช่องว่างการนับเลข: หมายเลขเคสไม่จำเป็นต้องต่อเนื่องกัน การแก้ไข URL หรือการเพิ่มตัวเลขอาจทำให้เคสหายไปหรือเข้าถึงไม่ได้; ไม่ใช่การดำเนินการที่รับประกันว่าจะได้เคสถัดไป ค้นพบเคสด้วยเครื่องมือรายการและทำตามการแบ่งหน้า
- ขอบเขตเวิร์กสเปซ: short ID เดียวกันสามารถมีอยู่ในเวิร์กสเปซที่ต่างกัน MCP แก้ไขเฉพาะในเวิร์กสเปซที่ใช้งานอยู่; สลับบริบทเวิร์กสเปซก่อนใช้ short ID ของเวิร์กสเปซอื่น เมื่อแชร์ URL short ID ของแดชบอร์ด ให้รักษา
?team=<case.team_id>ไว้ ตัวอย่างเช่น/dashboard/test-cases/TEST-BA-CASE-123?team=<team-uuid>ลิงก์ถาวร UUID ยังคงพฤติกรรมข้ามเวิร์กสเปซที่ได้รับอนุญาตที่มีอยู่ MCP ไม่สร้างลิงก์ถาวร get_test_case— รับเรกคอร์ดเคสที่ได้รับอนุญาต รวมถึงขั้นตอนและตัวระบุ ไม่โหลดประวัติการเปลี่ยนแปลงหรือประวัติการดำเนินการ ตัวอย่าง:{"id":"TEST-BA-CASE-123"}- การประมาณเวลาดำเนินการ:
get_test_caseส่งคืนestimated_time_secondsและนามแฝงความเข้ากันได้estimated_timeทั้งคู่เป็นวินาที ค่า0ที่จัดเก็บไว้ยังคงเป็น0; ค่าที่ไม่รู้จักหรือหายไปคือnullฟิลด์หลักชนะเมื่อมีทั้งสองชื่อ รวมถึงnullที่ชัดเจน; ค่าestimated_timeแบบ legacy เท่านั้นถือเป็นวินาทีโดยไม่มีการแปลงlist_test_casesใช้estimated_time_secondsอินพุตcreate_test_caseยังคงเป็นestimated_timeในหน่วยวินาทีเช่นกัน; คำขอและการตอบสนอง REST ใช้estimated_time_seconds list_test_case_folders— แสดงรายการโฟลเดอร์ที่เข้าถึงได้ จำกัดที่ 500; รับตัวเลือกprojectที่ยืดหยุ่นและตัวกรองparent_folder_id(ใช้"root"สำหรับระดับบนสุดเท่านั้น) ผู้เรียกผ่าน API key ต้องใช้test_cases:readget_test_case_folder— อ่านโฟลเดอร์เทสต์เคสหนึ่งโฟลเดอร์โดยตรงด้วยidที่จำเป็น (UUID) ส่งคืนเฉพาะเรกคอร์ดโฟลเดอร์ โดยไม่โหลดโฟลเดอร์ descendant หรือเทสต์เคสโดยปริยาย ต้องเข้าถึงเวิร์กสเปซและโปรเจกต์ของมัน; ผู้เรียกผ่าน API key ต้องใช้test_cases:read- ค่า
typeของเทสต์เคสสำหรับlist_test_cases,create_test_case, และbulk_update_test_cases:functional(ค่าเริ่มต้นการสร้าง),regression,smoke,integration,performance,security,usability,exploratoryประเภทที่ไม่ถูกต้องจะถูกปฏิเสธก่อนการเขียน ใช้integrationสำหรับโฟลว์แบบ end-to-end;e2e,accessibility, และotherไม่ใช่ประเภทเทสต์เคสที่ยอมรับ ประเภทสคริปต์อัตโนมัติเป็นสัญญาแยกต่างหาก create_test_case_folder— สร้างโฟลเดอร์ในprojectที่จำเป็นซึ่งส่งคืนโดยlist_projects(ซ้อนได้สูงสุด 3 ระดับผ่านparent_folder_id) ต้องมีสิทธิ์เข้าถึงเวิร์กสเปซระดับ contributor หรือสูงกว่าและการเข้าถึงโปรเจกต์ ผู้เรียกผ่าน API key ต้องใช้test_cases:writeด้วยupdate_test_case_folder— อัปเดตด้วย UUID โฟลเดอร์:id,nameที่ไม่บังคับ (ตัดช่องว่าง 1-120 ตัวอักษร),descriptionที่เป็น nullable (สูงสุด 50000 ตัวอักษร),parent_folder_idที่เป็น nullable, และcard_colorที่เป็น nullable UUID หลักย้ายโฟลเดอร์และซับทรีภายในเวิร์กสเปซและโปรเจกต์เดียวกัน;nullย้ายไปที่ราก สีรับชุดสีตัวพิมพ์เล็ก#1e293b, #7c2d12, #713f12, #14532d, #1e3a5f, #312e81, #581c87, #831843, #4a044e, #fef08a, #fca5a5, #93c5fd;nullล้างสี ฟิลด์ที่ละเว้นจะถูกรักษาไว้ ต้องมีฟิลด์อัปเดตอย่างน้อยหนึ่งฟิลด์ ฟิลด์ที่ไม่รู้จัก สะกดผิด หรือไม่ถูกต้องจะปฏิเสธคำขอทั้งหมดโดยไม่บันทึกการเปลี่ยนแปลงใดๆ วงจรตัวเอง/descendant ชื่อที่ตรงกับ sibling พ่อแม่โดยตรง หรือลูกโดยตรง (ไม่สนใจตัวพิมพ์เล็กใหญ่และช่องว่างรอบข้าง) และความลึกซับทรีที่เกิน 3 (ความลึกราก 0) จะถูกปฏิเสธ ความลึกของ descendant อัปเดตแบบอะตอม; ID เคสและการเป็นสมาชิกไม่เปลี่ยนแปลง การเปลี่ยนแปลงพร้อมกันที่ขัดแย้งอาจล้มเหลว; อ่านโฟลเดอร์อีกครั้งก่อนลองใหม่ ต้องมีสิทธิ์เข้าถึงโปรเจกต์ระดับ contributor หรือสูงกว่าและtest_cases:writeสำหรับคีย์ API ตัวอย่าง:{"id":"folder-uuid","card_color":"#93c5fd"}ส่งคืน id, team_id, project_id, name, description, card_color, parent_folder_id, depth และ updated_at ที่อัปเดต การอ่านโฟลเดอร์แบบ get/list รวม card_color ด้วยupdate_test_case— แก้ไขเคสที่มีอยู่ด้วย UUID หรือ full short ID ในidโดยมีอย่างน้อยหนึ่งฟิลด์:name(หรือนามแฝงtitle),description,preconditions,steps,template_type,text_content,priority,type,status, หรือfolder_idฟิลด์ที่ละเว้นจะถูกรักษาไว้;stepsแทนที่อาร์เรย์ทั้งหมด ([]ล้าง)nullที่ชัดเจนล้างคำอธิบาย เงื่อนไขเบื้องต้น text_content หรือการวางโฟลเดอร์; text_content ว่างก็ล้างเช่นกัน หากส่งทั้ง name และ title ต้องตรงกัน ลำดับความสำคัญและประเภทใช้ enum การสร้าง; สถานะคือactive,draft, หรือdeprecatedการเปลี่ยนประเภทจัดแนว type_tags กับประเภทใหม่ ตรงกับ PATCH API ไม่มีการย้ายเวิร์กสเปซ/โปรเจกต์หรือการเขียน metadata ไฟล์ โฟลเดอร์ต้องใช้เวิร์กสเปซและโปรเจกต์ที่แน่นอนเดียวกัน ต้องใช้test_cases:writeส่งคืนสรุปเคส,id,short_id,case_number, และchanged; ค่าที่ไม่เปลี่ยนแปลงสร้างchanged: falseการอัปเดตที่ยืนยันแล้วพร้อมรายการประวัติที่ไม่ได้รับการยืนยันส่งคืนwarnings; อย่าทำการอัปเดตซ้ำเพื่อซ่อมแซมประวัติ เมื่อเกิดข้อผิดพลาดการเปลี่ยนแปลงพร้อมกัน ให้อ่านเคสอีกครั้งก่อนลองใหม่ การเป็นสมาชิกชุดทดสอบแยกต่างหาก: ใช้เครื่องมือกลุ่มด้านล่าง ไม่ใช่suite_idในเครื่องมือนี้ ไม่มีเครื่องมือลบที่เปิดเผยbulk_update_test_cases— ใช้การกระทำหนึ่งกับ UUID เคส 1–500 รายการ; ส่ง ID หนึ่งรายการสำหรับเคสเดียวset_folderรับparams.folder_id(UUID ที่จะย้าย,nullที่ชัดเจนเพื่อ unfile)add_to_suiteและremove_from_suiteรับparams.suite_id; การเพิ่มไม่เคยลบการเป็นสมาชิกอื่นหรือย้ายโฟลเดอร์ รองรับset_priority,set_status,set_type,add_tags,remove_tags,pin, และunpinด้วย คีย์ API ต้องใช้test_cases:writeส่งคืนapplied,skipped, และerrors; การกระทำขององค์กรนับแถวที่เปลี่ยนแปลงที่ยืนยันแล้ว ตัด ID ที่ซ้ำกัน และข้ามการเป็นสมาชิกที่มีอยู่- การวางตำแหน่งเมื่อสร้าง:
create_test_caseรับfolder_idและsuite_idที่ไม่บังคับ ค้นพบเป้าหมายด้วยlist_test_case_foldersและlist_test_suites(การค้นพบชุดทดสอบต้องใช้test_runs:readสำหรับคีย์ API) โฟลเดอร์เป็นตำแหน่งแคตตาล็อกเดียว; ชุดทดสอบเป็นการเป็นสมาชิกแผนการทดสอบแบบหลายต่อหลาย เป้าหมายต้องอยู่ในเวิร์กสเปซที่ได้รับอนุญาตเดียวกันและโปรเจกต์ที่แน่นอน รวมถึงเคส legacy ที่ไม่มีขอบเขต ID เคสที่เข้าถึงไม่ได้จะถูกข้ามโดยไม่มีรายละเอียด; เป้าหมายที่ไม่ตรงกันจะถูกปฏิเสธ เป้าหมายการสร้างที่ไม่ถูกต้องล้มเหลวก่อนสร้างเคส - การสร้างบางส่วน: การสร้างเคสและการแนบชุดทดสอบเป็นการเขียนแยกกัน หากการแนบล้มเหลว การตอบสนองส่งคืน ID เคสที่สร้าง,
suite_id: null, และอาร์เรย์warningsอย่าทำcreate_test_caseซ้ำ; ลองbulk_update_test_casesใหม่ด้วยadd_to_suiteสำหรับ ID ที่ส่งคืนนั้น link_test_case_to_bug— สร้างความสามารถในการติดตามระหว่างเทสต์เคสและ UUID รายงานบั๊ก (verified_by,covers, หรือrelates) เรกคอร์ดทั้งสองต้องอยู่ในเวิร์กสเปซที่ใช้งานอยู่และโปรเจกต์ที่ผู้เรียกเข้าถึงได้list_test_case_links— แสดงรายการลิงก์การติดตามทั้งหมดสำหรับเทสต์เคสlist_test_case_review_candidates— แฟลกเคสที่ตายแล้ว:never_run(90+ วันนับตั้งแต่สร้าง),always_passes(ผ่านติดต่อกัน 5+ ครั้งใน 90 วัน),always_skipped(ข้ามติดต่อกัน 3+ ครั้ง)mark_test_case_review_flags— บันทึกแฟลกผู้สมัครเก็บถาวรปัจจุบันลงในtest_cases.review_flagทำงานอัตโนมัติทุกวันจันทร์ 09:00 UTC ผ่าน pg_cron
การนำเข้า
- การนำเข้า Figma (Enterprise) (เฉพาะเซสชันแดชบอร์ด): อัปโหลดไฟล์ zip ที่ส่งออกจากเฟรม Figma (สูงสุด 100 MiB), Claude วิเคราะห์แต่ละหน้าจอและร่างเทสต์เคสลงในโฟลเดอร์ที่คุณเลือกหรือสร้าง ก่อนการถอดรหัส ไฟล์เก็บถาวรจำกัดที่ 1,000 รายการ, 20 MiB ขยาย (ถอดรหัส) ต่อรายการ, และข้อมูลขยายรวม 100 MiB รวมถึงไฟล์และไดเรกทอรีที่ถูกละเว้นในงบประมาณ บัฟเฟอร์เฟรมที่ถอดรหัสต้องตรงกับขนาดที่ประกาศ ไฟล์เก็บถาวรที่เสียหาย ขนาดไม่ตรงกัน และเกินขีดจำกัดทำให้งานล้มเหลวก่อนการวิเคราะห์ AI; อัปโหลดต้นฉบับจะถูกเก็บไว้เมื่อล้มเหลวเพื่อลองใหม่ ภายใต้นโยบายการล้างพื้นที่จัดเก็บ ไฟล์เก็บถาวรที่ถูกต้องเข้าสู่ไปป์ไลน์หลายรอบ (จัดประเภท → เคสรายหน้าจอ → เคสระดับโฟลว์ข้ามหน้าจอที่มีคำนำหน้าร่วม → วิจารณ์ตนเอง) พร้อมแคชพรอมต์, การลองใหม่ 429, และการแยกข้อผิดพลาด AI ต่อเฟรม เคสจะถูกสร้างเป็น
status=active, แท็กai_generated=true, ด้วยsource='figma'และsource_frame_nameที่รักษาลิงก์ไปยังเฟรมต้นฉบับ ใช้คีย์ Anthropic ของแพลตฟอร์ม — ไม่ต้องเชื่อมต่อ Claude ต่อทีม
ชุดทดสอบและการรัน
list_test_suites— แสดงรายการชุดทดสอบที่เข้าถึงได้สูงสุด 50 รายการ พร้อมตัวกรองprojectแบบยืดหยุ่นตามต้องการ ชุดทดสอบแต่ละชุดมีcase_countจำนวนเต็มที่แม่นยำ: จำนวนเคสที่ถูกกำหนดโดยตรงในทุกสถานะ โดยไม่รวมเคสย่อย และไม่รวมเคสจากเวิร์กสเปซหรือโปรเจกต์อื่น (เคสเก่าที่ไม่มีโปรเจกต์ยังคงถูกรวมอยู่) จำนวนไม่ถูกจำกัดด้วยแถวสมาชิกที่ดึงมา ผู้เรียกใช้ผ่าน API-key ต้องมีtest_runs:readเพื่อความเข้ากันได้ย้อนหลังกับเวิร์กเกอร์ที่ใช้ดำเนินการget_test_suite— อ่านชุดทดสอบหนึ่งชุดโดยตรง พร้อมระบุidที่จำเป็น (UUID) คืนค่าเฉพาะระเบียนชุดทดสอบเท่านั้น โดยไม่โหลดชุดย่อยหรือเคสทดสอบสมาชิกโดยปริยาย ต้องมีการเข้าถึงเวิร์กสเปซและโปรเจกต์ของชุดทดสอบนั้น ผู้เรียกใช้ผ่าน API-key ต้องมีtest_runs:readcreate_test_suite— สร้างชุดทดสอบในprojectที่จำเป็นซึ่งคืนค่าจากlist_projectsรองรับการซ้อนได้สูงสุด 3 ระดับผ่านparent_suite_idผู้เรียกใช้ผ่าน API-key ต้องมีtest_cases:writeupdate_test_suite— อัปเดตตาม UUID ของชุดทดสอบ:id,nameไม่บังคับ (ตัดช่องว่างแล้ว 1–120 ตัวอักษร),descriptionที่เป็น null ได้ (สูงสุด 50000 ตัวอักษร) และstatus(active/archived) ฟิลด์ที่ละเว้นและสมาชิกเคสจะถูกคงไว้ ต้องมีการเข้าถึงโปรเจกต์ในระดับ contributor-or-higher ที่ยังใช้งานอยู่ และtest_cases:writeไม่รองรับการย้ายชุดทดสอบไปอยู่ภายใต้ชุดอื่นหรือการปักหมุด การย้ายชุดทดสอบต้องมีการบำรุงรักษาความลึกของเคสย่อยแบบอะตอมมิก คืนค่า id, team_id, project_id, name, description, parent_suite_id, depth, status และ updated_at ตัวอย่าง:{"id":"suite-uuid","name":"Checkout regression","description":null}list_test_runs— แสดงรายการรันการทดสอบพร้อมชื่อชุดทดสอบ ผู้รับผิดชอบ และสรุปผ่าน/ไม่ผ่านcreate_test_run— สร้างรันชุดทดสอบที่จัดการผ่านแดชบอร์ด การรันชุดทดสอบหลักจะรวมทุกเคสในชุดย่อยทุกระดับโดยอัตโนมัติ (เคสที่เชื่อมโยงกับทั้งสองชุดจะถูกเพิ่มเพียงครั้งเดียว) แต่ละแถวtest_run_resultsจะบันทึกว่าชุดย่อยต้นทางใดที่เคสมาจาก เพื่อให้หน้าผลลัพธ์สามารถจัดกลุ่มตามต้นทางได้
การดำเนินการโดยเอเจนต์ภายนอก
เครื่องมือเหล่านี้ช่วยให้ Hermes หรือรันไทม์เอเจนต์อื่นดำเนินการชุดทดสอบที่ได้รับการอนุมัติโดยไม่ต้องเป็นระบบบันทึก QA หลัก ใช้คีย์แบบ workspace-scoped ที่มีเฉพาะ test_runs:read และ test_runs:write เท่านั้น ชุดทดสอบเป็นตัวกำหนดขอบเขตโปรเจกต์ ผู้เรียกใช้ไม่สามารถแทนที่ได้
start_test_plan— เริ่มหรือดำเนินการต่อสแนปช็อตชุดทดสอบที่ไม่เปลี่ยนรูป พร้อมexternal_run_idที่เสถียร การใช้ ID ซ้ำจะคืนค่ารันที่ตรงกันที่มีอยู่และหน้าแรกแทนการสร้างรายการซ้ำget_test_run_plan— อ่านสถานะรันตามมาตรฐานและหน้าแผนที่เสถียร ส่งnext_cursorก่อนหน้า หน้าต่างๆ มีค่าเริ่มต้น 100 เคสและจำกัดสูงสุด 200 เคสreport_test_results— ส่งผลลัพธ์ 1–200 รายการ พร้อมสถานะpassed,failed,blockedหรือskippedการลองซ้ำแบบเหมือนเดิมปลอดภัย การพยายามเขียนทับเคสด้วยสถานะอื่นจะถูกปฏิเสธabort_test_run— หยุดรันที่ถูกขัดจังหวะแบบ idempotent พร้อมคงผลลัพธ์บางส่วนที่ยอมรับและสรุปตามมาตรฐานไว้
พฤติกรรมโควตา: ลอง start_test_plan อีกครั้งด้วย external_run_id เดียวกันเพื่อดำเนินการต่อรันที่ตรงกันโดยไม่ใช้โควตาการรันเพิ่ม การลบข้อมูลไม่รีเซ็ตการใช้งานรันรายเดือน
ขอบเขตรันไทม์: สแนปช็อตเคสไม่รวมข้อมูลรับรอง เนื้อหาไฟล์ และเส้นทางไฟล์แนบส่วนตัว หลักฐานผลลัพธ์เป็นข้อความใน MVP ข้อมูลรับรองเป้าหมายยังคงอยู่ในรันไทม์การดำเนินการ ค่าใช้จ่ายเบราว์เซอร์ โมเดล และเครือข่ายยังคงเป็นฝ่ายลูกค้า และลูกค้าต้องจำกัดการเข้าถึงเป้าหมายและการส่งออกเครือข่าย มนุษย์ยังคงรับผิดชอบการตัดสินใจเกี่ยวกับข้อบกพร่องและการเผยแพร่
คู่มือ Hermes Agent จัดแพ็กเกจลูปนี้เป็นสกิลชุมชนที่ดูแลโดย bugAgent ชุดเริ่มต้นสาธารณะ มีคอนฟิกที่พร้อมคัดลอกและสกิลที่ติดตั้งได้ ไม่ใช่การผสานรวมอย่างเป็นทางการของ Nous Research
รายงาน (Tier 1 + Tier 4 analytics)
get_test_reports_overview— KPI หลักสำหรับช่วงเวลา (อัตราผ่าน จำนวนรันที่เสร็จสิ้น จำนวนเคสที่ดำเนินการ) พร้อมส่วนต่างเทียบกับช่วงเวลาก่อนหน้าที่เทียบเท่า ตัวเลขเดียวกันกับแถบ KPI ในแท็บรายงาน ไม่สร้าง Project Report ที่บันทึก Enterprise XLSX Project Reports และกำหนดการจัดการในแดชบอร์ด ไม่มีเครื่องมือ MCP สำหรับอาร์ติแฟกต์ที่บันทึกเหล่านั้นในรุ่นนี้get_test_reports_failures— รายการ "สิ่งที่ต้องแก้ไข?" สี่รายการ:failing_cases(ล้มเหลว ≥50% ขั้นต่ำ 3 รัน),flaky_cases(พลิกผ่าน/ไม่ผ่านมากที่สุด),failing_suites(ล้มเหลว ≥30% ขั้นต่ำ 5 รัน),regressed_cases(ล้มเหลวล่าสุดโดยมีผ่านก่อนหน้าในช่วงเวลา)
เวิร์กโฟลว์ตัวอย่าง
create_test_case_folder→ สร้างโครงสร้างโฟลเดอร์ (เช่น Smoke → Auth) ใช้ ID โฟลเดอร์ที่คืนค่าเมื่อสร้างเคสทดสอบในโปรเจกต์เดียวกัน ฟอร์ม New Test Case ในแดชบอร์ดยังมีการสร้างโฟลเดอร์แบบอินไลน์ด้วยcreate_test_case→ กำหนดเคส แก้ไขเนื้อหาด้วยupdate_test_caseจัดการสมาชิกชุดทดสอบด้วยbulk_update_test_cases- ตัวอย่างเครื่องมือ/การเรียก:
{"name":"update_test_case","arguments":{"id":"00000000-0000-4000-8000-000000000001","title":"Verify login rejection","steps":[{"action":"Submit an incorrect password","expected":"An error is shown; no session is created"}],"status":"active","folder_id":null}}ฟิลด์ priority, type และ description ที่ละเว้นจะไม่เปลี่ยนแปลง create_test_suite→ สร้างแผนการทดสอบ (ชุดย่อยไม่บังคับ สูงสุด 3 ระดับลึก)create_test_run→ สร้างรันที่จัดการโดยมนุษย์/แดชบอร์ดจากชุดหลัก — ชุดย่อยถูกรวมอัตโนมัติstart_test_plan→ เริ่มหรือดำเนินการต่อรันเอเจนต์ภายนอกที่ปลอดภัยต่อการลองซ้ำget_test_run_plan→ ดึงทุกหน้าแผนที่ไม่เปลี่ยนรูป จากนั้นดำเนินการในรันไทม์ที่เลือกreport_test_results→ ส่งชุดผลลัพธ์ที่มีขอบเขต เรียกabort_test_runหากไม่สามารถดำเนินการต่อได้อย่างปลอดภัยget_test_reports_failures→ ถาม "จะแก้ไขอะไรสัปดาห์นี้?" เมื่อรันเสร็จสิ้นget_test_reports_overview→ ติดตามแนวโน้มอัตราผ่านสัปดาห์ต่อสัปดาห์
⚡
Team Booster
scale_team— ขยายทีม QA ของคุณทันทีด้วยผู้ทดสอบ booster บัญชีถูกจัดเตรียมโดยอัตโนมัติพร้อมสิทธิ์ผู้ทดสอบ ระบุteam_size(1–10),location,duration,budgetและไม่บังคับproduct_url,product_typesและtech_levelsมีให้ในแผน Enterprise คุณจะไม่ถูกเรียกเก็บเงินจนกว่าจะได้รับการอนุมัติ
เวิร์กโฟลว์ตัวอย่าง
scale_team→ จัดเตรียมผู้ทดสอบอาวุโส 5 คนในสหรัฐอเมริกาเป็นเวลา 1 เดือนlist_team_members→ ตรวจสอบว่าผู้ทดสอบใหม่ปรากฏในทีมของคุณlist_bug_reports→ ตรวจสอบรายงานที่ส่งโดยผู้ทดสอบ booster
📱
การทดสอบบนมือถือ (Enterprise)
ทรัพยากรมือถือถูกจำกัดขอบเขตตามโปรเจกต์ ส่ง project_id หรือตัวเลือก project แบบยืดหยุ่นในการสร้าง นำเข้า และรายการที่กรองแล้ว อัตโนมัติสืบทอดโปรเจกต์ของแอปที่เชื่อมโยง มิฉะนั้นเซิร์ฟเวอร์ใช้โปรเจกต์เริ่มต้นของเวิร์กสเปซ รายการที่ไม่กรองอาจยังรวมแถวระดับเวิร์กสเปซเก่าจนกว่าจะถูกย้าย
list_mobile_apps— แสดงรายการแอปที่อัปโหลด พร้อมตัวกรองproject_id/project,platformและlimitแบบไม่บังคับ ผลลัพธ์จะคืนค่าproject_idของแต่ละแอป เพื่อให้เอเจนต์สามารถดำเนินการถัดไปในโปรเจกต์เดียวกันได้upload_mobile_app— ลงทะเบียนแอป APK (Android) หรือ IPA (iOS) สำหรับการทดสอบบนอุปกรณ์จริง ต้องระบุname,platform(android/ios) และfile_url; ส่งproject_idเพื่อกำหนดให้แอปอยู่ในโปรเจกต์ที่ใช้งานอยู่ สำหรับ iOS ให้อัปโหลด IPA สำหรับการรันบนอุปกรณ์จริง จากนั้นใช้แดชบอร์ดเพื่ออัปโหลดบิลด์.appของซิมูเลเตอร์สำหรับการบันทึกupdate_mobile_app— แทนที่ไบนารีของแอปด้วยเวอร์ชันใหม่ ล้างแคช URL และบิลด์ซิมูเลเตอร์ เพื่อให้ระบบอัตโนมัติทั้งหมดใช้เวอร์ชันใหม่ในการรันครั้งถัดไป ต้องระบุapp_idและfile_url; ไม่บังคับ:versionโปรไฟล์การเข้าสู่ระบบแบบลิงก์ส่วนตัวต้องมีผู้สร้างที่ใช้งานอยู่ โปรไฟล์ที่แชร์ต้องมีการเข้าถึงโปรเจกต์เดียวกันอย่างใช้งานอยู่ ตารางเวลาจะสืบทอดค่าเริ่มต้นของระบบอัตโนมัติที่ได้รับการป้องกันlist_mobile_automations— แสดงรายการระบบอัตโนมัติบนมือถือ พร้อมตัวกรองproject_id/project,app_id,statusและlimitแบบไม่บังคับ ผลลัพธ์รวมถึงproject_idและ ID แอปที่เชื่อมโยงcreate_mobile_automation— สร้างสคริปต์ทดสอบ ต้องระบุname,app_id,script_type(maestroสำหรับ YAML,appiumสำหรับ Appium Python,appium_jsสำหรับ Appium JavaScript) และscript; ส่งproject_idเมื่อแอปยังไม่ได้อยู่ในขอบเขตโปรเจกต์ สำหรับโฟลว์ Maestro YAML ที่ผ่านการตรวจสอบภายนอกและเป็นแบบครบถ้วนในตัวเอง ตั้งค่าexecution_modeเป็นbrowserstack_maestro; มิฉะนั้นจะใช้ค่าเริ่มต้นเป็นappium_actionsค่าappIdของ YAML ต้องตรงกับแพ็กเกจหรือ bundle ID ที่เก็บไว้ของแอปที่เชื่อมโยง หากไม่มีค่าที่เก็บไว้ โฟลว์เนทีฟที่ผ่านการตรวจสอบครั้งแรกจะเป็นตัวกำหนดค่า ID แอปที่เป็นตัวแทนและ ID ทรัพยากร Android ที่ถูกบดบังจะถูกปฏิเสธ รองรับrunFlowแบบอินไลน์ แต่การอ้างอิงไฟล์โฟลว์/สคริปต์ภายนอกถูกปฏิเสธใน v1 Maestro เนทีฟจะรักษาคำสั่งเช่นinputRandomTextและcopyTextFromรวมถึงนิพจน์รันไทม์เช่น${maestro.copiedText}และ${output.value}ค่าcredential_idในโปรเจกต์เดียวกันอาจระบุค่าinputTextที่สมบูรณ์ของ${USERNAME}/${PASSWORD}ค่าvariable_profile_idในโปรเจกต์เดียวกันอาจบันทึกค่าเริ่มต้นสำหรับค่า${DATA_*}ที่อ้างอิง; ทุกคีย์ที่อ้างอิงต้องมีอยู่ โปรไฟล์ข้อมูลเป็นข้อมูลสังเคราะห์ที่ไม่เป็นความลับเท่านั้นimport_mobile_script— นำเข้าสคริปต์ทดสอบบนมือถือที่มีอยู่และแปลงเป็นระบบอัตโนมัติที่รันได้ โดยรักษา locators ของนักพัฒนาเดิมเพื่อให้การรันแก้ไของค์ประกอบได้อย่างแม่นยำ ไดอะเล็กต์ที่รองรับ: Appium‑Python, WebdriverIO, Maestro (โฟลว์ YAML) และ Playwright (มือถือ‑เว็บ) ตัวแทน ID ทรัพยากร Android ที่ถูกบดบังจะถูกข้ามและรายงานในwarningsของการแมปตัวเลือก เฉพาะแอป Android ต้องระบุname,app_idและscript; ไม่บังคับtarget_devicesและproject_idคืนค่าระบบอัตโนมัติพร้อมaction_count,dialectที่ตรวจพบ และwarningsของการแมปตัวเลือกrun_mobile_automation— เริ่มระบบอัตโนมัติบนมือถือบนอุปกรณ์จริง ต้องระบุautomation_id; ไม่บังคับdevice,os_version,credential_idและvariable_profile_idแบบเนทีฟ-Maestro สำหรับข้อมูล ละเว้นvariable_profile_idเพื่อสืบทอดค่าเริ่มต้นของระบบอัตโนมัติ ส่งnullเพื่อไม่ใช้โปรไฟล์ หรือส่ง UUID ในโปรเจกต์เดียวกันเพื่อแทนที่ ทุกคีย์${DATA_*}ที่อ้างอิงต้องมีอยู่ โปรไฟล์การเข้าสู่ระบบส่วนตัวต้องมีผู้สร้างที่ใช้งานอยู่ โปรไฟล์การเข้าสู่ระบบที่แชร์ต้องมีการเข้าถึงโปรเจกต์เดียวกันอย่างใช้งานอยู่ ค่าข้อมูลประจำตัวที่ทราบแน่นอนจะถูกกรอง และค่าข้อมูลโปรไฟล์ที่แน่นอนจะได้รับการกรองอย่างดีที่สุดจากหลักฐานข้อความที่เก็บไว้ ค่าที่แปลงแล้ว บางส่วน เข้ารหัส หรือได้จากแอปอาจยังคงอยู่ วิดีโอ/ภาพหน้าจอส่วนตัวที่ได้รับอนุญาตยังคงพร้อมใช้งานและอาจแสดงค่าที่เรนเดอร์โดยแอปที่ทดสอบ ดังนั้นโปรไฟล์ข้อมูลต้องมีเฉพาะค่าสังเคราะห์ที่ไม่เป็นความลับ หากไม่มีบริบทการแก้ไขข้อมูลประจำตัวหรือไม่สามารถพิสูจน์ความปลอดภัยของการทำความสะอาดได้ ข้อความที่มีรายละเอียดข้อมูลประจำตัวจะถูกระงับ ในขณะที่สถานะและหลักฐานภาพที่พร้อมใช้งานยังคงอยู่ การวินิจฉัยต้องมีการอนุญาตพื้นที่ทำงานและโปรเจกต์ ลิงก์สื่อหมดอายุหลังจากห้านาทีlist_mobile_runs— รับผลการรันบนมือถือที่ได้รับอนุญาต (สถานะ อุปกรณ์ สรุปผล ลิงก์วิดีโอและภาพหน้าจอส่วนตัว เซสชัน BrowserStack บันทึกและความล้มเหลวของ Maestro เนทีฟที่กรองข้อมูลประจำตัวเมื่อปลอดภัย และบั๊กที่สร้างอัตโนมัติ) การเป็นสมาชิกพื้นที่ทำงานและการเข้าถึงโปรเจกต์ถูกบังคับใช้สำหรับการวินิจฉัยการรัน ตัวกรองไม่บังคับ:project_id,automation_id,status(queued,running,passed,failed,error,archived) และlimitการรันที่เก็บถาวรจะถูกแยกออกโดยค่าเริ่มต้นcreate_login_profile— สร้างโปรไฟล์ชื่อผู้ใช้/รหัสผ่านที่เข้ารหัสแบบเขียนอย่างเดียวที่นำกลับมาใช้ใหม่ได้โดย Mobile, Web Automation และ Exploratory AI ต้องระบุproject_id,name,usernameและpassword; ไม่บังคับvisibilityคือprivate(ค่าเริ่มต้น) หรือsharedโปรไฟล์ส่วนตัวเป็นของผู้สร้างเท่านั้น โปรไฟล์ที่แชร์สามารถใช้ได้โดยสมาชิกที่ใช้งานอยู่ซึ่งเข้าถึงโปรเจกต์เดียวกันcreate_mobile_credential— ชื่อความเข้ากันได้สำหรับcreate_login_profile; ใช้อินพุตและขอบเขตความปลอดภัยเดียวกันlist_login_profiles— แสดงเฉพาะโปรไฟล์ที่ผู้เรียกเห็นได้ ไม่บังคับสำหรับproject_idหนึ่งรายการ คืนค่าเมตาดาต้าที่ไม่เป็นความลับรวมถึงvisibility; โปรไฟล์ส่วนตัวที่เป็นของผู้ใช้อื่นและโปรเจกต์ที่ไม่สามารถเข้าถึงได้จะถูกละเว้นlist_mobile_credentials— ชื่อความเข้ากันได้สำหรับlist_login_profiles; ไม่คืนค่าความลับของข้อมูลประจำตัวupdate_login_profile— เปลี่ยนชื่อ หมุนเวียน หรือเปลี่ยนvisibilityผู้สร้างที่ใช้งานอยู่สามารถอัปเดตฟิลด์ใดก็ได้ เจ้าของ/ผู้ดูแลพื้นที่ทำงานที่ใช้งานอยู่สามารถเปลี่ยนชื่อหรือหมุนเวียนโปรไฟล์ที่แชร์ได้ แต่ไม่สามารถเปลี่ยนการมองเห็นได้ โปรไฟล์ส่วนตัวยังคงเป็นของผู้สร้างเท่านั้นupdate_mobile_credential— ชื่อความเข้ากันได้สำหรับupdate_login_profile; ใช้การตรวจสอบความเป็นเจ้าของและโปรเจกต์เดียวกันdelete_login_profile— การลบแบบอ่อนโดยผู้สร้าง โดยมีการกู้คืนวงจรชีวิตโดยเจ้าของ/ผู้ดูแลสำหรับโปรไฟล์ที่แชร์เท่านั้น ค่าเริ่มต้นการใช้งานในอนาคตจะถูกล้างในขณะที่ประวัติการตรวจสอบยังคงอยู่delete_mobile_credential— ชื่อความเข้ากันได้สำหรับdelete_login_profile; การอ้างอิงทางประวัติยังคงอยู่เพื่อการตรวจสอบcreate_mobile_variable_profile— สร้างข้อมูลทดสอบสังเคราะห์ที่นำกลับมาใช้ใหม่ได้และอยู่ในขอบเขตโปรเจกต์ด้วยproject_id,nameและออบเจกต์variablesเช่น{"DATA_EMAIL":"qa@example.test","DATA_REGION":"ca"}คีย์ต้องเป็นตัวระบุDATA_*ตัวพิมพ์ใหญ่ โปรไฟล์อนุญาต 1–100 สตริง, 4096 ไบต์ UTF-8 ต่อค่า และรวม 65536 ไบต์ ชื่อที่สงวนไว้สำหรับข้อมูลประจำตัว/รันไทม์จะถูกปฏิเสธ ห้ามเก็บข้อมูลประจำตัว โทเค็น ข้อมูลส่วนบุคคลในการผลิต หรือความลับอื่น ๆlist_mobile_variable_profiles— แสดงรายการโปรไฟล์ Mobile/Both และค่าที่ไม่เป็นความลับที่อ่านได้สำหรับproject_idที่ได้รับอนุญาตหนึ่งรายการ กฎการกำหนดโปรเจกต์มีผล โปรไฟล์ที่มีอยู่และการสร้างบนมือถือใช้ค่าเริ่มต้นเป็นboth; การสร้าง/อัปเดตยอมรับplatform(mobileหรือboth) โปรไฟล์เฉพาะเว็บถูกแยกออกจากการเข้าถึงแคตตาล็อกมือถือและการใช้งานรันไทม์update_mobile_variable_profile— เปลี่ยนชื่อโปรไฟล์หรือแทนที่ออบเจกต์variablesทั้งหมดด้วยidเฉพาะผู้สร้างที่ใช้งานอยู่หรือเจ้าของ/ผู้ดูแลพื้นที่ทำงานที่ใช้งานอยู่เท่านั้นที่สามารถอัปเดตได้delete_mobile_variable_profile— ลบโปรไฟล์แบบอ่อนด้วยidเฉพาะผู้สร้างที่ใช้งานอยู่หรือเจ้าของ/ผู้ดูแลพื้นที่ทำงานที่ใช้งานอยู่เท่านั้นที่สามารถลบได้ ค่าเริ่มต้นระบบอัตโนมัติจะถูกล้างในขณะที่การอ้างอิงการรันทางประวัติยังคงอยู่list_mobile_schedules,create_mobile_schedule,delete_mobile_schedule— แสดงรายการ สร้าง และลบตารางเวลาอุปกรณ์จริง ตารางเวลาสืบทอดบริบทโปรเจกต์ โปรไฟล์การเข้าสู่ระบบ และโปรไฟล์ตัวแปรที่ไม่เป็นความลับจากระบบอัตโนมัติที่เลือก โปรไฟล์การเข้าสู่ระบบส่วนตัวต้องมีผู้สร้างที่ใช้งานอยู่ โปรไฟล์การเข้าสู่ระบบที่แชร์ต้องมีการเข้าถึงโปรเจกต์เดียวกันอย่างใช้งานอยู่ โปรไฟล์ตัวแปรที่ไม่เป็นความลับยังคงนโยบายผู้สร้างหรือเจ้าของ/ผู้ดูแล การเปลี่ยนแปลงและการลบตารางเวลาจำกัดเฉพาะผู้สร้างตารางเวลาที่ใช้งานอยู่หรือเจ้าของ/ผู้ดูแลพื้นที่ทำงานที่ใช้งานอยู่
แคตตาล็อกข้อมูลทดสอบเว็บ
แคตตาล็อกโปรเจกต์ที่ไม่เป็นความลับเดียวกันพร้อมใช้งานจาก Automate Web เครื่องมือเหล่านี้ต้องมีสิทธิ์ automation ของพื้นที่ทำงานและขอบเขตคีย์ API automations:write รวมถึงการอ่าน ไม่ต้องเข้าถึง Mobile ค่าไม่เคยแชร์บันทึกกับโปรไฟล์การเข้าสู่ระบบที่เข้ารหัส การสนับสนุนแคตตาล็อกยังไม่ได้ผูกหรือฉีดค่าโปรไฟล์ลงในการรันเว็บ
create_web_variable_profile: ต้องระบุproject_id,name,variables; ไม่บังคับplatform(webหรือboth), ค่าเริ่มต้นwebใช้ขีดจำกัด DATA_* เดียวกับมือถือ คืนค่าโปรไฟล์ รวมถึงplatformlist_web_variable_profiles: ต้องระบุproject_id; คืนค่า{ profiles: [...] }ที่มีบันทึก Web/Both เท่านั้นget_web_variable_profile: ต้องระบุid; คืนค่าโปรไฟล์ Web/Both ที่เข้าถึงได้และค่าสังเคราะห์update_web_variable_profile: ต้องระบุid; ไม่บังคับname, การแทนที่variablesทั้งหมด หรือplatform(webหรือboth) ต้องมีผู้สร้างที่ใช้งานอยู่หรือเจ้าของ/ผู้ดูแลพื้นที่ทำงานที่ใช้งานอยู่ หากต้องการจำกัด Both เป็น Mobile ให้ใช้แคตตาล็อกมือถือกับการเข้าถึง Mobiledelete_web_variable_profile: ต้องระบุid; สิทธิ์การจัดการเดียวกัน ลบแบบอ่อนและคืนค่า{ deleted: true }โดยเก็บประวัติการตรวจสอบ
ตัวอย่าง: แก้ไขโปรเจกต์ด้วย list_projects, เรียก create_web_variable_profile ด้วย {"project_id":"PROJECT_UUID","name":"Canadian checkout","platform":"both","variables":{"DATA_REGION":"CA"}} จากนั้นตรวจสอบด้วย list_web_variable_profiles โปรเจกต์/โปรไฟล์ที่ไม่สามารถเข้าถึงได้จะล้มเหลวโดยไม่เปิดเผยค่า ข้อมูลที่ไม่ถูกต้องหรือชื่อซ้ำทั่วโปรเจกต์จะถูกปฏิเสธ
ตัวอย่างเวิร์กโฟลว์ — Android
list_projects→ แก้ไขproject_idเป้าหมายupload_mobile_app→ ลงทะเบียน APK ในโปรเจกต์นั้น- บันทึกอย่างปลอดภัยในแดชบอร์ด หรือใช้
import_mobile_script/create_mobile_automation list_mobile_automations→ แก้ไขระบบอัตโนมัติในโปรเจกต์เดียวกันrun_mobile_automation→ เรียกใช้บนอุปกรณ์จริง ไม่บังคับด้วยโปรไฟล์การเข้าสู่ระบบlist_mobile_runs→ ตรวจสอบสถานะ สรุปผล ลิงก์ภาพส่วนตัว และเมตาดาต้าเซสชัน BrowserStack- ความล้มเหลวสร้างรายงานบั๊กอัตโนมัติพร้อมสแนปชอตความล้มเหลวและการแบ่งขั้นตอน
ตัวอย่างเวิร์กโฟลว์ — iOS
upload_mobile_app→ ลงทะเบียน IPA ของคุณด้วยproject_idสำหรับการรันบนอุปกรณ์จริง- อัปโหลดบิลด์
.appของซิมูเลเตอร์ในหน้าข้อมูลแอป (สำหรับการบันทึก) - บันทึกการทดสอบในเบราว์เซอร์ → การกระทำถูกจับจากซิมูเลเตอร์
run_mobile_automation→ เรียกใช้ระบบอัตโนมัติที่บันทึกไว้บน iPhone (ใช้ IPA)update_mobile_app→ แทนที่ IPA ด้วยเวอร์ชันใหม่เมื่อพร้อม
ตัวอย่างเวิร์กโฟลว์ — Native Maestro
upload_mobile_app→ ลงทะเบียน APK หรือ IPA ในโปรเจกต์เป้าหมายcreate_mobile_credential→ ไม่บังคับสร้างโปรไฟล์ในโปรเจกต์เดียวกันสำหรับโฟลว์ที่ผ่านการรับรองความถูกต้องcreate_mobile_variable_profile→ ไม่บังคับสร้างค่าDATA_*สังเคราะห์ในโปรเจกต์เดียวกันที่ใช้โดยโฟลว์create_mobile_automation→ ส่งโฟลว์ YAML ที่รู้จักว่าทำงานหนึ่งรายการพร้อมappIdแพ็กเกจ/bundle ที่แน่นอนของแอปที่เชื่อมโยง,script_type: maestroและexecution_mode: browserstack_maestroใช้${USERNAME}/${PASSWORD}สำหรับการเข้าสู่ระบบและตัวแทนแบบ${DATA_EMAIL}สำหรับอินพุตสังเคราะห์ ส่ง ID โปรไฟล์เพื่อบันทึกค่าเริ่มต้นrun_mobile_automation→ เลือกอุปกรณ์ที่เข้ากันได้และไม่บังคับแทนที่โปรไฟล์การเข้าสู่ระบบหรือตัวแปร ละเว้นโปรไฟล์ตัวแปรเพื่อสืบทอด หรือส่งnullเพื่อปิดใช้งานสำหรับหนึ่งการรันlist_mobile_runs→ ตรวจสอบสรุปผ่าน/ไม่ผ่านที่ได้รับอนุญาต วิดีโอ/ภาพหน้าจอส่วนตัว บันทึกที่กรอง ชื่อขั้นตอนจริง ความล้มเหลวโดยละเอียด และเมตาดาต้าเซสชัน หากไม่สามารถสร้างความปลอดภัยของการทำความสะอาดสำหรับการรันที่มีข้อมูลประจำตัว ข้อความโดยละเอียดจะถูกระงับในขณะที่สถานะและหลักฐานภาพที่พร้อมใช้งานยังคงอยู่
ปรับแต่งด้วย AI: เบต้าที่อนุญาตผ่านรายการพร้อมใช้งานผ่านแดชบอร์ดและจุดสิ้นสุดการปรับแต่ง REST ไม่มีเครื่องมือ Refine MCP ในแคตตาล็อกสาธารณะในขณะนี้
✅
การปฏิบัติตามข้อกำหนดและหลักฐาน (ระดับองค์กร)
collect_compliance_evidence— เรียกใช้การรวบรวมหลักฐานอัตโนมัติจากบริการที่เชื่อมต่อ (Cloudflare, GitHub, Sentry, Supabase, Railway) คืนค่า run ID รวบรวมการตั้งค่า SSL/TLS, สถานะ WAF, การแจ้งเตือน Dependabot, แนวโน้มข้อผิดพลาด, ประวัติการ deploy และอื่นๆcheck_config_drift— ตรวจสอบบริการที่เชื่อมต่อทั้งหมดว่ามีการเบี่ยงเบนการกำหนดค่าด้านความปลอดภัยจาก baseline หรือไม่ (โหมด SSL, เวอร์ชัน TLS, HSTS, กฎ WAF, security headers)generate_access_review— สร้างรายงานการตรวจสอบการเข้าถึงรายไตรมาส ตรวจสอบสมาชิกทีม บทบาท สถานะ MFA การใช้งาน API key และสร้างคำแนะนำ (เช่น เพิกถอนคีย์ที่ไม่ใช้งาน)get_security_events— ค้นหาไทม์ไลน์เหตุการณ์ความปลอดภัยข้ามบริการ กรองตามแหล่งที่มา (cloudflare, sentry, github) และระดับความรุนแรง (critical, high, medium, low, info) เหตุการณ์จะถูกเชื่อมโยงอัตโนมัติข้ามบริการ
ความครอบคลุมการปฏิบัติตามข้อกำหนด
เครื่องมือเหล่านี้ช่วยตอบสนองข้อกำหนด SOC2 (CC4.1, CC6.1, CC7.2, CC8.1), ISO 27001 (A.5.18, A.8.8, A.8.9, A.8.15-16, A.8.29) และ GDPR (Art. 5, 25, 32, 33)
ไคลเอนต์ที่เข้ากันได้
bug Agent ทำงานร่วมกับไคลเอนต์ใดก็ได้ที่รองรับ Model Context Protocol นี่คือคำแนะนำการตั้งค่าสำหรับไคลเอนต์ยอดนิยม:
เปิด Settings → Developer → Edit Config จากนั้นเพิ่ม:
{
"mcpServers": {
"bugagent": {
"type": "http",
"url": "https://mcp.bugagent.com/mcp",
"headers": {
"Authorization": "Bearer ba_live_YOUR_KEY_HERE"
}
}
}
}
รีสตาร์ท Claude Desktop หลังจากบันทึก
✳️
Cursor
เปิด Settings → MCP Servers → Add Server หรือแก้ไข .cursor/mcp.json ในโฟลเดอร์โปรเจกต์ของคุณ:
{
"mcpServers": {
"bugagent": {
"type": "http",
"url": "https://mcp.bugagent.com/mcp",
"headers": {
"Authorization": "Bearer ba_live_YOUR_KEY_HERE"
}
}
}
}
🌊
Windsurf
เปิด Settings → MCP → Add Server หรือแก้ไขไฟล์กำหนดค่า MCP ของคุณ:
{
"mcpServers": {
"bugagent": {
"type": "http",
"url": "https://mcp.bugagent.com/mcp",
"headers": {
"Authorization": "Bearer ba_live_YOUR_KEY_HERE"
}
}
}
}
เพิ่ม bug Agent โดยตรงจากเทอร์มินัล:
claude mcp add --transport http bugagent https://mcp.bugagent.com/mcp --header "Authorization: Bearer ba_live_YOUR_KEY_HERE"
การดำเนินการนี้เชื่อมต่อโดยตรงกับโฮสต์ Streamable HTTP
สำหรับไคลเอนต์ที่ต้องใช้ stdio ให้ใช้บริดจ์ bugagent-mcp ที่เผยแพร่:
- คำสั่ง:
npx - บรรทัดคำสั่ง:
npx -y bugagent-mcp - อาร์กิวเมนต์:
["-y", "bugagent-mcp"] - ตัวแปรสภาพแวดล้อม:
BUGAGENT_API_KEY
ขอความช่วยเหลือ
ต้องการความช่วยเหลือหรือไม่ เราพร้อมช่วยเหลือคุณ
ชุมชน Discord
เข้าร่วม Discord ของเราเพื่อรับการสนับสนุนแบบเรียลไทม์และการสนทนาในชุมชน
ฝ่ายสนับสนุนทางอีเมล
support@bugagent.com — เรามักจะตอบกลับภายใน 24 ชั่วโมง