---
url: https://docs.ogmabox.com/th/reference/mcp-tools.md
description: >-
  เอกสารอ้างอิง Ogma MCP ฉบับสมบูรณ์ ครอบคลุมวัตถุประสงค์และอินพุตของเครื่องมือ
  ทรัพยากร พรอมป์ต์ สิทธิ์ การแบ่งหน้า และการจัดการผลลัพธ์
---

# ทรัพยากรและเครื่องมือ MCP {#mcp-resources-and-tools}

เซิร์ฟเวอร์ MCP ของ Ogma ใช้สำหรับไคลเอนต์ MCP ภายนอก เช่น Codex, Claude Code, Cursor และโฮสต์ Model Context Protocol อื่น ๆ โดยแยกจากผู้ช่วย AI ภายในแอป

MCP มีส่วนติดต่อสำหรับการค้นพบสี่ประเภท:

* **ทรัพยากร**: เป้าหมายการอ่านที่มีชื่อ ซึ่งไคลเอนต์ MCP สามารถเปิดได้
* **เทมเพลตทรัพยากร**: เป้าหมายการอ่านที่มีพารามิเตอร์ สำหรับรายการ ประเด็นที่ตรวจพบ เวิร์กโฟลว์ การรัน งานส่งออก หรือออบเจ็กต์ส่งซ้ำที่ระบุ
* **เครื่องมือ**: การดำเนินการที่เรียกใช้ได้ บางเครื่องมือใช้เพื่ออ่านอย่างเดียว บางเครื่องมือต้องใช้แฟล็กเมื่อเริ่มเซิร์ฟเวอร์
* **พรอมป์ต์**: คำแนะนำที่ใช้ซ้ำได้เพื่อช่วยเอเจนต์วางแผนการตรวจสอบ การทดสอบซ้ำ หรือรายงาน การรับพรอมป์ต์ไม่ได้เรียกใช้เครื่องมือของพรอมป์ต์นั้น

สำหรับจุดปลายทางการเชื่อมต่อและการกำหนดค่าไคลเอนต์ ดู [การตั้งค่า MCP](../mcp-setup.md) สำหรับลำดับการโต้ตอบตั้งแต่ต้นจนจบ ดู [ระบบอัตโนมัติของเบราว์เซอร์ด้วย MCP](../guide/mcp-browser.md)

เอกสารอ้างอิงนี้ครอบคลุมการใช้งานในปัจจุบัน: **255 เครื่องมือ**, 17 ทรัพยากร, 9 เทมเพลตทรัพยากร และ 12 พรอมป์ต์ เครื่องมือทั้งหมดจะแสดงในรายการ แต่ยังตรวจสอบสิทธิ์เมื่อเรียกใช้ รุ่นเก่าที่ติดตั้งไว้อาจมีเครื่องมือน้อยกว่า ให้ค้นพบแค็ตตาล็อกจากเซิร์ฟเวอร์ที่กำลังทำงานก่อนเลือกเครื่องมือ

## เมธอดของโปรโตคอล {#protocol-methods}

รายการเหล่านี้เป็นชื่อเมธอด JSON-RPC ไม่ใช่พาธ URL แยกกัน ไคลเอนต์ MCP จัดการวงจรการเชื่อมต่อผ่าน [HTTP หรืออินพุตและเอาต์พุตมาตรฐาน](../mcp-setup.md#connection-addresses)

| เมธอด | วัตถุประสงค์ |
| --- | --- |
| `initialize` | เจรจาเวอร์ชันโปรโตคอลและความสามารถของเซิร์ฟเวอร์และไคลเอนต์ |
| `notifications/initialized` | แจ้งเซิร์ฟเวอร์ว่าเริ่มต้นเสร็จแล้ว การแจ้งเตือนนี้ไม่มี ID คำขอ |
| `tools/list` | ค้นพบเครื่องมือและสคีมาอาร์กิวเมนต์ โดยติดตาม `nextCursor` |
| `tools/call` | เรียกใช้เครื่องมือด้วย `name` และ `arguments` |
| `resources/list` | แสดงทรัพยากรที่มีชื่อและอ่านอย่างเดียว |
| `resources/templates/list` | แสดงเทมเพลต URI สำหรับอ่านออบเจ็กต์แต่ละรายการ |
| `resources/read` | อ่านทรัพยากรด้วย `uri` แบบเต็ม |
| `prompts/list` | ค้นพบพรอมป์ต์ที่ใช้ซ้ำได้และอาร์กิวเมนต์ |
| `prompts/get` | รับข้อความของพรอมป์ต์ด้วย `name` และอาร์กิวเมนต์สตริงที่ไม่จำเป็นต้องระบุ |

## ค้นพบและเรียกใช้เครื่องมือ {#discover-and-call-tools}

ชื่อเครื่องมือ เช่น `ogma_search_http_history` เป็นตัวระบุเครื่องมือ MCP ไม่ใช่เส้นทาง HTTP ของแต่ละเครื่องมือ ให้เรียกผ่าน `tools/call` ในการเชื่อมต่อ MCP ของคุณ

1. เริ่มต้นการเชื่อมต่อด้วยไคลเอนต์ MCP ของคุณ
2. เรียก `tools/list` โดย Ogma ส่งกลับสูงสุด **40 เครื่องมือต่อหน้า** ส่ง `nextCursor` ที่ได้รับกลับไปเป็น `params.cursor` ทุกครั้งจนไม่มีค่านี้ในผลลัพธ์ มิฉะนั้นเครื่องมือเบราว์เซอร์ส่วนใหญ่จะไม่ปรากฏในไคลเอนต์
3. อ่าน `inputSchema` ของแต่ละเครื่องมือเพื่อดูชนิดฟิลด์ ค่าที่เลือกได้ ค่าเริ่มต้น ขีดจำกัด และรูปแบบออบเจ็กต์ที่ซ้อนกัน อย่าคิดอาร์กิวเมนต์ขึ้นเองจากชื่อเครื่องมือ
4. อ่าน `ogma://mcp/permissions` และ `ogma://mcp/tool-guide` ก่อนดำเนินการ
5. เรียกเครื่องมือที่เลือกโดยใส่ออบเจ็กต์ JSON ใน `arguments`

ตัวอย่างคำขอ JSON-RPC บนการเชื่อมต่อที่เริ่มต้นแล้ว:

```json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "ogma_search_http_history",
    "arguments": {
      "q": "req.host.eq:\"example.com\"",
      "limit": 20,
      "offset": 0
    }
  }
}
```

ใช้ ID ที่เครื่องมือแสดงรายการหรือค้นหาส่งกลับแทนการเดา การค้นหาประวัติและประเด็นที่ตรวจพบใช้ `limit`/`offset` ส่วนเครื่องมืออ่านการเปลี่ยนแปลงของเบราว์เซอร์ใช้ `since_entry_id` ทั้งสองแบบไม่ใช่เคอร์เซอร์แบบทึบที่ `tools/list` ใช้

## การอ่านผลลัพธ์ {#reading-results}

เลือกใช้ `result.structuredContent` เป็นหลัก บล็อกเนื้อหาข้อความมีข้อมูลครอบ JSON เดียวกันสำหรับไคลเอนต์ที่รองรับเฉพาะผลลัพธ์ข้อความ ข้อยกเว้นคือผลลัพธ์เริ่มต้นของ `ogma_browser_snapshot` ไม่มีเนื้อหาแบบมีโครงสร้าง และเนื้อหาข้อความเป็นต้นไม้ที่อ่านได้ ใช้ `result_detail: "full"` เพื่อรับองค์ประกอบแบบมีโครงสร้าง สำหรับบริดจ์ REST ภายในเครื่อง ให้แยกวิเคราะห์สตริง JSON ใน `result` แทน บริดจ์นั้นไม่ใช่ช่องทางรับส่ง MCP

เมื่อเครื่องมือล้มเหลวผ่านบริดจ์ REST ค่าที่แยกวิเคราะห์แล้วคือ `{ "error": "..." }` โดยสตริงนั้นมีข้อมูลครอบข้อผิดพลาดของเครื่องมือที่แปลงเป็นข้อความไว้ สถานะ HTTP ที่สำเร็จจากบริดจ์เพียงอย่างเดียวไม่ได้หมายความว่าเครื่องมือทำงานสำเร็จ

| ฟิลด์ข้อมูลครอบ | ความหมาย |
| --- | --- |
| `ok` | การดำเนินการของเครื่องมือสำเร็จหรือไม่ ตรวจสอบ `isError` ในผลลัพธ์ MCP ด้วย |
| `workflow_stage`, `summary` | บริบทของการดำเนินการและคำอธิบายสั้น ๆ |
| `evidence`, `hypotheses` | หลักฐานที่สังเกตได้ และการตีความที่แยกไว้ซึ่งยังไม่ยืนยัน |
| `next_actions`, `use_next_tools` | งานติดตามที่แนะนำและการเลือกใช้เครื่องมือ |
| `artifacts` | การอ้างอิงหลักฐานหรือไฟล์ที่สร้างขึ้นเมื่อมี |
| `raw` | ข้อมูลเฉพาะเครื่องมือ มีอยู่ในผลลัพธ์แบบมีโครงสร้าง เครื่องมือแบบย่อจะรวมข้อมูลนี้เฉพาะเมื่อใช้ `result_detail: "full"` อาจเป็นออบเจ็กต์ อาร์เรย์ หรือข้อความ อย่าคิดว่าทุกเครื่องมือใช้รูปแบบเดียวกัน |

เครื่องมือภาพหน้าจอส่งกลับบล็อกภาพแบบเนทีฟของ MCP ด้วย ให้อ่านบล็อกภาพแทนการคาดหวังข้อมูลภาพ base64 ในเมทาดาทา JSON สแนปช็อตเบราว์เซอร์ส่งกลับต้นไม้ข้อความแบบย่อเป็นค่าเริ่มต้น ส่ง `result_detail: "full"` เพื่อรับองค์ประกอบแบบมีโครงสร้างใน `raw.elements` การเปลี่ยนแปลงของเครือข่ายและคอนโซลเบราว์เซอร์มีรายการแบบมีโครงสร้าง

การเรียกตรวจสอบความถูกต้องที่สำเร็จยังอาจส่งกลับ `valid: false` ในข้อมูลได้ การเรียกเครื่องมือที่ล้มเหลวใช้ `isError: true` ส่วนคำขอโปรโตคอลที่ไม่ถูกต้องใช้ข้อผิดพลาด JSON-RPC อ่านข้อมูลวินิจฉัยก่อนลองใหม่ ข้อผิดพลาดแบ็กเอนด์อาจมีสถานะ HTTP จุดปลายทาง และข้อความวินิจฉัยที่จำกัดความยาว โดย `[truncated]` หมายถึงข้อความวินิจฉัยถูกตัดให้สั้นลง ไม่ใช่การดำเนินการสำเร็จ

รูปแบบผลลัพธ์เหล่านี้ใช้ [รูปแบบผลลัพธ์เครื่องมือ](https://modelcontextprotocol.io/specification/2025-11-25/server/tools#tool-result) ของ MCP

## ทรัพยากร {#resources}

| ทรัพยากร | สิ่งที่ส่งกลับ |
| --- | --- |
| `ogma://status` | สถานะและความพร้อมทำงานปัจจุบันของแบ็กเอนด์ |
| `ogma://projects` | โครงการ Ogma ทั้งหมด |
| `ogma://project/current` | โครงการที่ใช้งานอยู่ในปัจจุบัน |
| `ogma://instances` | อินสแตนซ์ตัวรับการเชื่อมต่อพร็อกซี |
| `ogma://http-history/recent` | รายการ HTTP ล่าสุด 20 รายการโดยไม่มีเนื้อหา |
| `ogma://ws-history/recent` | การเชื่อมต่อ WebSocket ล่าสุด 20 รายการ |
| `ogma://findings` | ประเด็นที่ตรวจพบสูงสุด 50 รายการ |
| `ogma://workflows` | เวิร์กโฟลว์ที่กำหนดค่าไว้ |
| `ogma://workflow-runs/recent` | บันทึกการรันเวิร์กโฟลว์ล่าสุด 20 รายการ |
| `ogma://migration/workflows` | รายงานความเข้ากันได้ของการย้ายเวิร์กโฟลว์ |
| `ogma://exports/recent` | งานส่งออกล่าสุด 10 รายการ |
| `ogma://capabilities` | สรุปความสามารถของเซิร์ฟเวอร์ MCP |
| `ogma://mcp/permissions` | แฟล็กสิทธิ์ MCP ปัจจุบัน |
| `ogma://mcp/tool-guide` | การเลือกเครื่องมือของเอเจนต์ รูปแบบเอาต์พุต และลำดับการใช้เบราว์เซอร์และการทดสอบที่แนะนำ |
| `ogma://mcp/report-guide` | ลำดับการจัดทำรายงาน ข้อกำหนดหลักฐาน และการตรวจสอบคุณภาพ |
| `ogma://mcp/resume` | บริบทกู้คืนถาวรของโครงการที่ใช้งาน ได้แก่ เช็กพอยต์ที่บันทึกไว้และกิจกรรมเครื่องมือเมื่อเร็ว ๆ นี้ |
| `ogma://replay/sessions/recent` | เซสชันส่งซ้ำล่าสุด 20 รายการ |

## เทมเพลตทรัพยากร {#resource-templates}

| เทมเพลต | สิ่งที่ส่งกลับ |
| --- | --- |
| `ogma://http-history/{entry_id}` | รายการประวัติ HTTP หนึ่งรายการ |
| `ogma://ws-history/{connection_id}` | การเชื่อมต่อ WebSocket หนึ่งรายการ |
| `ogma://findings/{finding_id}` | ประเด็นที่ตรวจพบหนึ่งรายการ |
| `ogma://workflows/{workflow_id}` | เวิร์กโฟลว์หนึ่งรายการ |
| `ogma://workflow-runs/{run_id}` | การรันเวิร์กโฟลว์หนึ่งรายการ |
| `ogma://exports/{export_id}` | งานส่งออกหนึ่งรายการ |
| `ogma://replay/sessions/{session_id}` | เซสชันส่งซ้ำหนึ่งรายการ |
| `ogma://replay/attempts/{session_id}/{attempt_id}` | รายการส่งซ้ำหนึ่งรายการ |
| `ogma://workflow-safety/{workflow_id}` | ประเภทความปลอดภัยของเวิร์กโฟลว์และสิทธิ์ที่ต้องใช้ |

อ่าน URI เหล่านี้ด้วย `resources/read` ไม่ใช่ HTTP GET ไปยัง `ogma://` แทนที่ ID ในเทมเพลตทรัพยากรก่อนอ่าน ทรัพยากรส่งกลับข้อความใน `contents` และไม่ใช้ข้อมูลครอบผลลัพธ์เครื่องมือที่อธิบายข้างต้น

## พรอมป์ต์ {#prompts}

ค้นพบด้วย `prompts/list` แล้วใช้ `prompts/get` พร้อม `name` และออบเจ็กต์ `arguments` ค่าอาร์กิวเมนต์ของพรอมป์ต์เป็นสตริง อาร์กิวเมนต์ที่จำเป็นแสดงเป็นตัวหนาด้านล่าง

| พรอมป์ต์ | อาร์กิวเมนต์ | สิ่งที่เตรียม |
| --- | --- | --- |
| `analyze_http_entry` | **`entry_id`** | ตรวจสอบการรับส่ง HTTP ที่บันทึกไว้หนึ่งรายการเพื่อค้นหาปัญหาความปลอดภัยที่มีหลักฐานรองรับ |
| `summarize_project_security_state` | ไม่มี | สรุปประเด็นที่ตรวจพบและลำดับความสำคัญในการแก้ไขสำหรับโครงการที่ใช้งาน |
| `triage_findings` | `severity` | จัดลำดับความสำคัญของประเด็นที่ตรวจพบ โดยเลือกจำกัดอยู่ในระดับความรุนแรงเดียวได้ |
| `investigate_suspicious_host` | **`host`** | ตรวจทานทราฟฟิกที่บันทึกไว้สำหรับชื่อโฮสต์หรือ IP |
| `review_workflow_migration_report` | ไม่มี | อธิบายปัญหาความเข้ากันได้ของเวิร์กโฟลว์และขั้นตอนการย้าย |
| `generate_retest_plan` | **`finding_id`** | เตรียมขั้นตอนทำซ้ำและเกณฑ์ผ่านหรือไม่ผ่านสำหรับประเด็นที่ตรวจพบ |
| `create_finding_from_http_evidence` | **`entry_id`** | วิเคราะห์หลักฐานและแนะนำการสร้างประเด็นที่ตรวจพบเมื่อมีสิทธิ์ |
| `prepare_evidence_export` | **`export_kind`** | วางแผนส่งออก `http_history`, `findings` หรือ `automate_results` |
| `retest_http_entry_with_replay` | **`entry_id`** | แนะนำลำดับการดูตัวอย่างและยืนยันของส่งซ้ำ |
| `run_workflow_safely` | **`workflow_id`** | ตรวจสอบผลข้างเคียงของเวิร์กโฟลว์ ดูตัวอย่าง และเรียกใช้เมื่อมีสิทธิ์ |
| `pentest_web_target` | **`target_url`**, `objective` | วางแผนประเมินเป้าหมายที่ได้รับอนุญาตเป็นขั้นตอนโดยใช้หลักฐานนำ |
| `solve_web_challenge` | **`challenge_url`**, `goal` | วางแผนสืบค้นโจทย์ท้าทายบนเว็บและรวบรวมหลักฐาน |

## สิทธิ์ของเครื่องมือ {#tool-permissions}

เครื่องมือตรวจสอบส่วนใหญ่พร้อมใช้งานเสมอ การดำเนินการที่เปลี่ยนแปลงข้อมูลหรือส่งออกไปภายนอกควบคุมด้วยแฟล็กเริ่มต้นของ `ogma-mcp`:

| แฟล็กสิทธิ์ | สิ่งที่เปิดใช้งาน |
| --- | --- |
| `--allow-write-findings` | เขียนประเด็นที่ตรวจพบและสร้างรายงาน รวมถึงการเปลี่ยนแปลงข้อมูลโครงการที่ใช้สิทธิ์เดียวกัน เช่น การแก้ไขตัวแปรสภาพแวดล้อมและกฎจับคู่และแทนที่ |
| `--allow-export-data` | สร้างงานส่งออก การอ่านเมทาดาทาและข้อมูลดาวน์โหลดของงานส่งออกที่มีอยู่ไม่ต้องใช้แฟล็กนี้ |
| `--allow-read-secrets` | อ่านค่าตัวแปรสภาพแวดล้อมโดยไม่ปกปิด ซึ่งแยกจากสิทธิ์แก้ไขตัวแปร |
| `--allow-send-requests` | ส่งผ่านฟีเจอร์ **ส่งซ้ำ** และ **ระบบอัตโนมัติ** ส่งคำขอโดยตรงหรือเป็นชุด โต้ตอบกับเบราว์เซอร์ ค้นพบ รวบรวมข้อมูลด้วยการไล่ตามหน้า ใช้ลำดับขั้นตอนการยืนยันตัวตน ทดสอบแบบแอกทีฟ ใช้ WebSocket และสลับโครงการ |
| `--allow-run-workflows` | ใช้เครื่องมือดูตัวอย่าง เรียกใช้ และยกเลิกเวิร์กโฟลว์ การเรียกใช้ฟีเจอร์ **ระบบอัตโนมัติ** ใช้สิทธิ์ส่งคำขอแทน |
| `--allow-intercept-control` | อ่านสถานะและคิวดักรับ แก้ไขคิว และควบคุมสถานะดักรับ |

ระบบตรวจสอบสิทธิ์เมื่อเรียกใช้เครื่องมือ การมีเครื่องมือในรายการไม่ได้หมายความว่าเปิดใช้งานการดำเนินการของเครื่องมือนั้น เครื่องมือสังเกตการณ์เบราว์เซอร์ตรวจสอบเบราว์เซอร์ที่ทำงานอยู่แล้วได้ แต่การควบคุมและจัดการบริบทต้องใช้ `allow_send_requests` ลำดับขั้นตอนการยืนยันตัวตนต้องใช้สิทธิ์นี้ด้วย รวมถึงการเรียกแสดงรายการและตรวจสอบ บันทึกย่อและรายการงานเฉพาะเซสชันไม่ต้องใช้สิทธิ์เขียนโครงการ

ไม่มีโควตากิจกรรมต่อนาทีหรือต่อเซสชัน แต่ละเครื่องมือยังบังคับใช้ขนาดอินพุต ขนาดชุดคำขอ ระยะหมดเวลา และการตรวจสอบขอบเขตของตน การเรียกใช้เวิร์กโฟลว์อาจต้องมีสิทธิ์ส่งคำขอหรือเขียนประเด็นที่ตรวจพบเพิ่มเติมตามการดำเนินการของเวิร์กโฟลว์ ดู [การตั้งค่าและสิทธิ์](../mcp-setup.md#permissions)

เครื่องมือทั้งหมดแสดงในรายการโดยไม่ขึ้นกับสิทธิ์ แฟล็กโปรไฟล์รุ่นเก่าไม่กรองรายการเครื่องมืออีกต่อไป ดู [การค้นพบและส่งต่อการเรียกเครื่องมือ](#tool-discovery-and-dispatch)

## แค็ตตาล็อกเครื่องมือ {#tool-catalog}

### การกู้คืนหลังสูญเสียบริบท {#recovering-after-context-loss}

หลังเชื่อมต่อใหม่หรือสูญเสียบริบทการสนทนา ให้เรียก `ogma_resume_session` ก่อนเริ่มการประเมินอีกครั้ง ตรวจสอบโครงการที่ใช้งาน เช็กพอยต์ล่าสุด และผลลัพธ์เครื่องมือเมื่อเร็ว ๆ นี้ ใช้ `check_live: true` เพื่อตรวจสอบตัวอ้างอิงที่บันทึกไว้แบบอ่านอย่างเดียวและมีขีดจำกัด โดยไม่ดำเนินการซ้ำ รีเฟรชสแนปช็อตเบราว์เซอร์ก่อนใช้ตัวอ้างอิงองค์ประกอบซ้ำ

บันทึกเช็กพอยต์ก่อนส่งต่องานหรือหยุดพักเป็นเวลานาน บันทึกกิจกรรมเครื่องมือระบุสิ่งที่เรียกใช้ แต่ไม่สามารถอนุมานการทดสอบถัดไปที่คุณตั้งใจได้ ระบุวัตถุประสงค์ ข้อสรุป ความไม่แน่นอน และขั้นตอนถัดไปให้ชัดเจน และอ้างอิงหลักฐานด้วย ID แทนการคัดลอกเนื้อหาการตอบกลับขนาดใหญ่ลงในเช็กพอยต์

```json
{
  "name": "ogma_save_checkpoint",
  "arguments": {
    "assessment_id": "authorization-review",
    "objective": "Compare access to invoices across two test identities",
    "progress": "Captured the owner request; the second identity has not been tested yet",
    "next_steps": ["Resume the saved context", "Verify the active project and both identities before replaying"],
    "uncertainties": ["Whether the server checks invoice ownership"]
  }
}
```

```json
{
  "name": "ogma_resume_session",
  "arguments": {
    "assessment_id": "authorization-review",
    "check_live": true
  }
}
```

บันทึกเช็กพอยต์ก่อนส่งต่องานหรือย่อบริบท ระบุวัตถุประสงค์ งานที่เสร็จแล้ว ความไม่แน่นอน ID หลักฐาน และขั้นตอนถัดไปอย่างชัดเจน บันทึกกิจกรรมอัตโนมัติเก็บตัวอ้างอิงและผลลัพธ์ ไม่เก็บเพย์โหลดคำขอหรือเจตนาของคุณ การเรียกที่เริ่มแล้วแต่ยังไม่มีผลลัพธ์ครบถ้วนถือว่ามีผลลัพธ์ที่ไม่ทราบ ให้ตรวจสอบสถานะปัจจุบันก่อนลองส่งใหม่

บันทึกการกู้คืนเก็บไว้อย่างถาวรและจำกัดตามโครงการ เมื่อระบุ `assessment_id` การอ่านจะจำกัดเฉพาะการประเมินนั้น หากต้องการดูกิจกรรมทั้งโครงการ ให้ละค่านี้ในการอ่านข้อมูลกู้คืน บันทึกย่อและรายการงานเฉพาะเซสชันที่มีอยู่มีวัตถุประสงค์ต่างกัน และไม่ควรถือเป็นการส่งต่องานแบบถาวร

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_save_checkpoint` | เพิ่มบันทึกส่งต่องานแบบถาวร `next_steps` เป็นอาร์เรย์ของการดำเนินการที่ระบุชัดเจน และ `references` จับคู่ชื่อกับ ID ที่บันทึกไว้ ไม่ดำเนินการตามแผน | **`objective`**, **`progress`**, **`next_steps`**, `uncertainties`, `references` |
| `ogma_resume_session` | อ่านโครงการที่ใช้งาน เช็กพอยต์ล่าสุด กิจกรรมล่าสุด และคำแนะนำกู้คืน การตรวจสอบสดที่เลือกใช้ได้ตรวจสอบตัวอ้างอิงที่บันทึกไว้โดยไม่ทำการดำเนินการซ้ำ | `check_live` |
| `ogma_get_session_activity` | อ่านเช็กพอยต์และกิจกรรมเครื่องมือจากใหม่ไปเก่า เวลาเป็นมิลลิวินาที Unix ตาม UTC สำหรับการแบ่งหน้า ให้ส่งทั้ง `before_ms` และ `before_id` จากเคอร์เซอร์ที่ได้รับ | `kind`, `id`, `since_ms`, `until_ms`, `before_ms`, `before_id`, `search`, `limit` |

แต่ละแถวอธิบายเครื่องมือและแสดงอินพุตระดับบนสุด **อินพุตตัวหนาจำเป็นตามสคีมาของเครื่องมือ** ส่วนอินพุตอื่นไม่จำเป็น บางเครื่องมือต้องเลือกระหว่างอินพุต เช่น แหล่งข้อมูลส่งซ้ำหรือเป้าหมายการคลิก คำอธิบายและการตรวจสอบขณะทำงานระบุชุดค่าที่ใช้ร่วมกันได้ สำหรับฟิลด์ที่ซ้อนกันและชนิดข้อมูลที่แน่นอน ให้อ่าน `inputSchema` ของเครื่องมือที่กำลังทำงาน

ทุกเครื่องมือยังยอมรับ `assessment_id` ที่ไม่จำเป็นต้องระบุ ซึ่งเป็นสตริงที่ไม่ว่างและยาวได้สูงสุด 200 อักขระ ใช้ค่าเดิมซ้ำเพื่อเก็บบริบทกู้คืนของการประเมินเดียวกันไว้ด้วยกัน ค่านี้ไม่เปลี่ยนโครงการที่ใช้งานและไม่ให้สิทธิ์เพิ่มเติม อินพุตร่วมนี้ไม่ได้แสดงซ้ำในตารางด้านล่าง

### การค้นพบและส่งต่อการเรียกเครื่องมือ {#tool-discovery-and-dispatch}

เซิร์ฟเวอร์แสดงเครื่องมือที่ลงทะเบียนทุกตัว ใช้เครื่องมือค้นพบความสามารถและข้อกำหนดเพื่อระบุการดำเนินการและตรวจสอบอินพุตก่อนเรียกใช้ โดยไม่ต้องเปลี่ยนโปรไฟล์เพื่อให้เครื่องมือแสดง ดู [การตั้งค่า MCP](../mcp-setup.md#tool-discovery)

ใช้ `ogma_browser` สำหรับการดำเนินการในเบราว์เซอร์แบบฝัง ได้แก่ `snapshot`, `fill_input`, `fill_form`, `console_delta`, `network_delta` และเครื่องมืออื่นในกลุ่มเบราว์เซอร์ ใช้ `ogma_search` สำหรับหมวดการค้นหา เช่น `http_history`, `findings` และ `ws_history` เครื่องมือเฉพาะที่ให้ผลเทียบเท่ากันยังคงใช้ได้

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_find_tools` | ค้นทั้งแค็ตตาล็อกด้วยคำสำคัญของงาน คำค้นชื่อเครื่องมือที่ตรงทุกตัวอักษรส่งกลับข้อกำหนดทั้งหมดของเครื่องมือ และ `include_schema` ขอข้อกำหนดสำหรับผลที่ตรงกับคำสำคัญด้วย คำค้นทุกคำต้องตรง ผลลัพธ์ที่ตัดให้สั้นหรือว่างไม่ได้พิสูจน์ว่าขาดความสามารถนั้น ขีดจำกัดเริ่มต้นคือ 5 และสูงสุด 10 | **`query`**, `limit`, `include_schema` |
| `ogma_call_tool` | เรียกใช้เครื่องมือ Ogma ที่ลงทะเบียนตามชื่อ อินพุตอื่นนอกเหนือจาก `tool` ถูกส่งต่อให้เครื่องมือที่ระบุ โดยสิทธิ์ของเครื่องมือนั้นยังมีผล | **`tool`** |
| `ogma_browser` | ควบคุมเบราว์เซอร์แบบฝังด้วยชื่อการดำเนินการ เข้าถึงเครื่องมืออื่นในกลุ่ม `ogma_browser_*` ด้วยส่วนท้ายของชื่อ เช่น `action: "snapshot"` สำหรับ `ogma_browser_snapshot` | **`action`**, `selector`, `tab_id`, `url`, `js`, `text`, `value`, `key`, `cookie`, `timeout_ms` |
| `ogma_search` | ค้นหมวดข้อมูล Ogma ผ่านจุดเข้าเดียว เข้าถึงเครื่องมืออื่นในกลุ่ม `ogma_search_*` ด้วยส่วนท้ายของชื่อ | **`domain`**, `q`, `limit`, `offset` |

### ประวัติ HTTP และการค้นข้อมูล {#http-history-and-querying}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_search_http_history` | ค้นประวัติ HTTP ด้วย HTTPQL และส่งกลับเมทาดาทาคำขอและการตอบกลับ | `q`, `limit`, `offset`, `result_detail` |
| `ogma_get_http_entry` | รับรายการ HTTP หนึ่งรายการตาม ID พร้อมตัวอย่างเนื้อหาหากเลือกใช้ | **`entry_id`**, `include_body_preview`, `result_detail` |
| `ogma_get_http_entry_body` | รับเนื้อหาคำขอและ/หรือการตอบกลับทั้งหมดของรายการ HTTP | **`entry_id`**, **`part`**, `search_pattern`, `result_detail` |
| `ogma_validate_httpql` | ตรวจสอบความถูกต้องของนิพจน์ HTTPQL | **`query`** |
| `ogma_analyze_http_entry_security` | ตรวจทานรายการ HTTP หนึ่งรายการเพื่อดูพฤติกรรมและหลักฐานที่เกี่ยวข้องกับความปลอดภัย | **`entry_id`** |
| `ogma_search_by_vulnerability_pattern` | ค้นทราฟฟิกที่บันทึกไว้ตามรูปแบบที่เกี่ยวข้องกับช่องโหว่ | **`pattern_type`**, `limit` |

### WebSocket และ SSE {#websocket-and-sse}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_search_ws_history` | ค้นประวัติการเชื่อมต่อ WebSocket ด้วย StreamQL | `q`, `limit`, `offset` |
| `ogma_get_ws_messages` | รับข้อความที่เก็บไว้ของการเชื่อมต่อ WebSocket หนึ่งรายการ | **`connection_id`**, `limit`, `offset` |
| `ogma_get_ws_message` | อ่านข้อความหนึ่งรายการทั้งหมดโดยไม่ตัดให้สั้นตามตัวอย่างในรายการ ข้อความเป็น UTF-8 ส่วนเพย์โหลดไบนารีหรือข้อมูลควบคุมเป็น base64 | **`message_id`** |
| `ogma_validate_streamql` | ตรวจสอบความถูกต้องของนิพจน์ StreamQL | **`query`** |
| `ogma_get_ws_messages_live` | รับข้อความ WebSocket สดที่บันทึกจากกลไกตรวจวัดของเบราว์เซอร์ | `host`, `limit` |
| `ogma_create_ws_replay_session` | สร้างเซสชันส่งซ้ำ WebSocket | **`ws_connection_id`** |
| `ogma_connect_ws_replay` | เชื่อมต่อเซสชันส่งซ้ำ WebSocket | **`ws_session_id`** |
| `ogma_send_ws_replay_message` | ส่งข้อความผ่านเซสชันส่งซ้ำ WebSocket | **`ws_session_id`**, **`payload`**, `message_type` |
| `ogma_list_ws_replay_sessions` | แสดงเซสชันส่งซ้ำ WebSocket | `result_detail` |
| `ogma_get_ws_replay_messages` | อ่านบันทึกการรับส่งของเซสชันส่งซ้ำ WebSocket ไม่ใช่ประวัติที่บันทึกจากทราฟฟิก ละ `cursor` เพื่อเริ่มต้น แล้วส่ง `next_cursor` ที่ได้รับและอ่านทุกหน้าต่อไปขณะ `has_more` เป็นจริง | **`ws_session_id`**, `cursor`, `limit`, `result_detail` |
| `ogma_get_ws_replay_message` | อ่านข้อความส่งซ้ำ WebSocket หนึ่งรายการโดยไม่ตัดให้สั้นตามตัวอย่างเพย์โหลด โดย `payload_base64` ระบุไบต์ที่เข้ารหัส base64 | **`message_id`**, `result_detail` |
| `ogma_disconnect_ws_replay` | ตัดการเชื่อมต่อเซสชันส่งซ้ำ WebSocket โดยเก็บเซสชันและบันทึกการรับส่งไว้ และยกเลิกการเชื่อมต่อที่รอดำเนินการด้วย | **`ws_session_id`** |
| `ogma_browser_get_ws_frames` | อ่านเฟรม WebSocket ที่เบราว์เซอร์แบบฝังบันทึกไว้ | `limit`, `connection_url`, `direction` |
| `ogma_browser_start_ws_capture` | เริ่มบันทึกเฟรม WebSocket ฝั่งเบราว์เซอร์ | ไม่มี |
| `ogma_browser_send_ws_message` | ส่งข้อความ WebSocket จากบริบทเบราว์เซอร์ | **`payload`**, `connection_url` |

### ประเด็นที่ตรวจพบและหลักฐาน {#findings-and-evidence}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_search_findings` | ค้นประเด็นที่ตรวจพบตามความรุนแรง ผู้รายงาน ข้อความ ขีดจำกัด และออฟเซ็ต | `severity`, `reporter`, `q`, `limit`, `offset` |
| `ogma_get_finding` | รับประเด็นที่ตรวจพบหนึ่งรายการตาม ID | **`finding_id`** |
| `ogma_preview_finding_from_evidence` | ดูตัวอย่างร่างประเด็นที่ตรวจพบจากรายการ HTTP โดยไม่สร้างจริง | **`entry_id`**, `reporter` |
| `ogma_create_finding` | สร้างประเด็นที่ตรวจพบพร้อมเมทาดาทา แท็ก ความมั่นใจ วิธีแก้ไข และลิงก์หลักฐานหากระบุ | **`title`**, `severity`, `status`, `description`, `reporter`, `tags`, `dedupe_key`, `entry_id`, `replay_attempt_id`, `automate_result_id`, `ws_message_id`, `confidence`, `remediation`, `skip_dedup_check` |
| `ogma_update_finding` | อัปเดตประเด็นที่ตรวจพบที่มีอยู่ | **`finding_id`**, **`title`**, `severity`, `status`, `description`, `reporter`, `tags`, `dedupe_key`, `confidence`, `remediation` |
| `ogma_add_finding_tag` | เพิ่มแท็กในประเด็นที่ตรวจพบโดยไม่แทนที่แท็กเดิม | **`finding_id`**, **`tags`** |
| `ogma_link_finding_evidence` | เพิ่มหลักฐานจาก HTTP ส่งซ้ำ ระบบอัตโนมัติ WebSocket ที่บันทึกไว้ หรือข้อความส่งซ้ำ WS ให้กับประเด็นที่ตรวจพบ ลิงก์สนับสนุนไม่แทนที่หลักฐานหลัก | **`finding_id`**, `entry_id`, `replay_attempt_id`, `automate_result_id`, `ws_message_id`, `ws_replay_message_id` |
| `ogma_delete_finding` | ลบประเด็นที่ตรวจพบ | **`finding_id`** |
| `ogma_create_finding_from_entry` | สร้างประเด็นที่ตรวจพบจากรายการ HTTP ที่บันทึกไว้ ฝังส่วนหัวและเนื้อหาของคำขอและการตอบกลับเป็นหลักฐาน HTTP ใน Markdown โดยตัดเนื้อหาการตอบกลับเหลือ 3000 อักขระ เพิ่มคะแนน CVSS จากรายละเอียดที่ให้มา พร้อม CWE โค้ด PoC และการอ้างอิง | **`entry_id`**, **`title`**, **`severity`**, **`vulnerability_type`**, **`description`**, **`impact`**, **`remediation`**, `confidence`, `reporter`, `tags`, `affected_parameter`, `proof_of_concept`, `cvss_breakdown`, `cwe`, `poc_code`, `references`, `skip_dedup_check` |
| `ogma_get_finding_evidence_summary` | สรุปหลักฐานที่เชื่อมโยงกับประเด็นที่ตรวจพบ | **`finding_id`** |
| `ogma_record_finding_verification` | บันทึกผลตัดสินการทดสอบซ้ำโดยอิสระสำหรับประเด็นที่ตรวจพบ ได้แก่ `verified`, `refuted` หรือ `inconclusive` ใช้ผลตัดสินล่าสุด ดังนั้นการหักล้างภายหลังจะทับการยืนยันก่อนหน้า และเครื่องมือรายงานแถวที่เก็บไว้ | **`finding_id`**, **`state`**, **`method`**, **`reason`**, `evidence_entry_id`, `control_entry_id`, `canary_id` |
| `ogma_check_canary` | สร้างโทเค็นด้วย `label` และ `purpose` หรือใช้ `canary_id` ตรวจสอบโทเค็นเดิมซ้ำโดยไม่สร้างใหม่ ค้นทราฟฟิกที่บันทึกไว้เพื่อหารายการที่ตรง การตรงกันในเนื้อหาการตอบกลับเป็นหลักฐานว่าอ่านกลับได้ ส่วนการตรงกันในเนื้อหาคำขอแสดงเพียงว่าส่งโทเค็นแล้ว | **`canary_id`** หรือ **`label`** และ **`purpose`**, `finding_id`, `hosted_path`, `limit` |
| `ogma_export_findings_report` | สร้างงานส่งออกรายงานประเด็นที่ตรวจพบ | **`format`**, `title`, `summary`, `scope`, `tester`, `include_evidence` |

### การส่งออก {#exports}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_preview_export_plan` | ดูตัวอย่างเนื้อหาและรูปแบบส่งออกโดยไม่สร้างงาน | **`kind`**, **`format`**, `limit`, `q`, `severity`, `reporter` |
| `ogma_create_export_job` | สร้างงานส่งออกสำหรับประวัติ ผลการค้นหา ประเด็นที่ตรวจพบ หรือผลลัพธ์ระบบอัตโนมัติ | **`name`**, **`kind`**, **`format`**, `limit`, `offset`, `scope`, `q`, `severity`, `reporter`, `run_id` |
| `ogma_get_export_job` | รับงานส่งออกหนึ่งรายการตาม ID | **`export_id`** |
| `ogma_list_export_jobs` | แสดงงานส่งออก | `limit`, `offset` |
| `ogma_get_export_download_info` | รับเมทาดาทาดาวน์โหลดของงานส่งออกที่เสร็จแล้ว | **`export_id`** |

### ส่งซ้ำและการส่งคำขอ {#replay-and-request-sending}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_preview_replay_send` | ดูตัวอย่างการส่งซ้ำและส่งกลับโทเค็นยืนยัน | `http_entry_id`, `replay_session_id`, `method`, `path`, `query`, `body`, `result_detail` |
| `ogma_send_replay_request` | ส่งคำขอส่งซ้ำด้วยโทเค็นยืนยัน | **`confirmation_token`**, **`request_hash`**, `result_detail` |
| `ogma_create_replay_session_from_history` | สร้างเซสชันส่งซ้ำจากรายการ HTTP ที่บันทึกไว้ | **`entry_id`**, `name`, `result_detail` |
| `ogma_create_replay_session_raw` | สร้างเซสชันส่งซ้ำจากนิยามคำขอดิบ | `name`, **`host`**, **`port`**, `tls`, `method`, `path`, `headers`, `body` |
| `ogma_get_replay_session` | รับเมทาดาทาเซสชันส่งซ้ำและรายการส่งที่แบ่งหน้า | **`session_id`**, `attempts_limit`, `attempts_offset`, `result_detail` |
| `ogma_get_replay_attempt` | รับรายการส่งซ้ำหนึ่งรายการ | **`session_id`**, **`attempt_id`**, `result_detail` |
| `ogma_list_replay_sessions` | แสดงเซสชันส่งซ้ำ | `limit`, `offset`, `result_detail` |
| `ogma_create_replay_sequence` | สร้างลำดับส่งซ้ำหลายขั้นตอนจากเซสชันส่งซ้ำที่มีอยู่ตามลำดับการทำงาน โดย `collection_id` ใช้ตัวแปรของคอลเลกชันนั้นระหว่างการรัน | **`name`**, **`session_ids`**, `collection_id` |
| `ogma_run_replay_sequence` | เรียกใช้ลำดับส่งซ้ำที่เก็บไว้ ซึ่งส่งทราฟฟิกออกไปจริง `plan` แสดงดัชนีขั้นตอนตามลำดับการทำงาน โดยสามารถซ้ำ ละ หรือสลับลำดับขั้นตอนได้ หากไม่ระบุ `plan` จะทำทุกขั้นตอนที่เก็บไว้ตามลำดับครั้งเดียว และปฏิเสธ `plan` ที่ว่าง | **`sequence_id`**, `plan` |
| `ogma_repeat_request` | ส่งคำขอที่มีอยู่ซ้ำพร้อมการเปลี่ยนแปลงหากระบุ | **`request_id`**, `params`, `headers`, `body`, `cookies`, `url`, `method`, `method_override`, `path`, `path_override`, `entry_id`, `headers_add`, `headers_remove`, `body_text`, `body_json`, `body_b64`, `body_base64`, `raw_request_base64`, `result_detail` |
| `ogma_replay_with_modifications` | ส่งคำขอ HTTP ที่บันทึกไว้ซ้ำโดยแทนที่ค่าระดับฟิลด์ และส่งกลับการตอบกลับพร้อมสรุปความแตกต่าง | **`entry_id`**, `method_override`, `path_override`, `headers_add`, `headers_remove`, `body`, `body_text`, `body_json`, `body_b64`, `body_base64`, `raw_request_base64`, `request_id`, `method`, `path`, `headers`, `follow_redirects`, `timeout_secs`, `result_detail` |
| `ogma_http_request` | ส่งคำขอ HTTP โดยตรงผ่านส่วนติดต่อเครื่องมือ MCP เมื่อใช้ `raw_request_base64` ค่า `max_responses` จะอ่านหลายเฟรมการตอบกลับจากการเชื่อมต่อเดียวแทนการหยุดที่เฟรมแรก และ `followup_raw_request_base64` เขียนคำขอในการเชื่อมต่อนั้นหลังอ่านการตอบกลับแรก การตอบกลับที่ไบต์ซึ่งส่งไปไม่ได้ร้องขอเป็นวิธียืนยันการไม่ตรงกันของลำดับคำขอ แทนการคาดเดา อินพุตทั้งสองใช้ได้เฉพาะโหมดดิบ | **`host`**, `port`, `tls`, `method`, `path`, `headers`, `body_b64`, `method_override`, `path_override`, `headers_add`, `headers_remove`, `body`, `body_text`, `body_json`, `body_base64`, `raw_request_base64`, `max_responses`, `followup_raw_request_base64`, `result_detail` |
| `ogma_bulk_send_requests` | ส่งชุดคำขอ | **`base_session_id`**, **`payloads`**, **`placeholder`**, `max_requests` |
| `ogma_fetch_url` | เรียก URL และส่งกลับสถานะ ส่วนหัว และตัวอย่างเนื้อหาการตอบกลับ | **`url`**, `method`, `headers`, `body_b64`, `max_bytes` |
| `ogma_follow_redirect` | เรียก URL ติดตามลำดับการเปลี่ยนเส้นทาง และรายงานทุกช่วง | **`url`**, `method`, `headers`, `body_b64`, `max_hops`, `timeout_secs` |
| `ogma_fuzz_parameter` | แทนที่ตัวแทนค่า `{{FUZZ}}` ด้วยค่าจากรายการคำ และจัดกลุ่มการตอบกลับตามสถานะและขนาด | **`url`**, `method`, `headers`, `body_template`, **`wordlist`**, `timeout_secs`, `stop_on_match` |
| `ogma_multipart_upload` | ส่งคำขอข้อมูลฟอร์มแบบหลายส่วนพร้อมฟิลด์ข้อความและไฟล์สำหรับทดสอบการอัปโหลด | **`url`**, **`fields`**, `headers`, `timeout_secs` |
| `ogma_test_login` | ทดสอบจุดปลายทางเข้าสู่ระบบด้วยคู่ข้อมูลรับรองที่ให้มาหรือค่าเริ่มต้น และรายงานหลักฐาน | **`url`**, `credentials`, `username_field`, `password_field`, `submit_selector`, `success_pattern`, `failure_pattern`, `max_attempts` |

### เวิร์กโฟลว์และระบบอัตโนมัติ {#workflows-and-automate}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_search_workflows` | แสดงและกรองเวิร์กโฟลว์ | `workflow_type`, `enabled`, `limit`, `offset` |
| `ogma_get_workflow` | รับเวิร์กโฟลว์หนึ่งรายการตาม ID | **`workflow_id`** |
| `ogma_get_workflow_run` | รับบันทึกการรันเวิร์กโฟลว์หนึ่งรายการ | **`run_id`** |
| `ogma_validate_workflow_import` | ตรวจสอบชุดเวิร์กโฟลว์เพื่อดูความเข้ากันได้ในการนำเข้า | **`bundle_json`** |
| `ogma_get_workflow_safety` | รับประเภทความปลอดภัยและสิทธิ์ของเวิร์กโฟลว์ | **`workflow_id`** |
| `ogma_preview_workflow_run` | ดูตัวอย่างการรันเวิร์กโฟลว์ก่อนเรียกใช้ | **`workflow_id`**, `input`, `trigger_entry_id` |
| `ogma_run_workflow` | เรียกใช้เวิร์กโฟลว์ | **`confirmation_token`**, **`definition_hash`**, `input_hash`, `input` |
| `ogma_cancel_workflow_run` | ยกเลิกการรันเวิร์กโฟลว์ | **`run_id`** |
| `ogma_list_automate_sessions` | แสดงเซสชันระบบอัตโนมัติ | `limit`, `offset` |
| `ogma_get_automate_session` | รับเซสชันระบบอัตโนมัติหนึ่งรายการ | **`session_id`** |
| `ogma_create_automate_session` | สร้างเซสชันระบบอัตโนมัติที่มีจุดแทรกข้อมูลหนึ่งจุด โดย `inject_into` เลือกเป็น `query:<name>`, `header:<name>` หรือ `body` ค่าเริ่มต้นคือพารามิเตอร์คำค้นตัวแรก แล้วจึงเป็นเนื้อหา | **`entry_id`**, `name`, **`payloads`**, `inject_into`, `placeholder_start`, `placeholder_end`, `worker_count`, `delay_ms` |
| `ogma_run_automate_session` | เรียกใช้เซสชันระบบอัตโนมัติ | **`session_id`** |
| `ogma_list_automate_runs` | แสดงการรันระบบอัตโนมัติ | **`session_id`**, `limit`, `offset` |
| `ogma_get_automate_run` | รับการรันระบบอัตโนมัติหนึ่งรายการ | **`run_id`** |
| `ogma_cancel_automate_run` | ยกเลิกการรันระบบอัตโนมัติ | **`run_id`** |
| `ogma_list_automate_results` | แสดงผลลัพธ์ระบบอัตโนมัติ | **`run_id`**, `limit`, `offset`, `min_status`, `max_status` |
| `ogma_get_automate_result` | รับผลลัพธ์ระบบอัตโนมัติหนึ่งรายการ | **`run_id`**, **`seq`** |
| `ogma_load_skill` | โหลดคำแนะนำทักษะ MCP ที่มีในระบบเข้าสู่บริบทผู้ช่วย | **`skills`** |

### เครื่องมือสแกน {#scanner}

การเริ่มสแกนแบบพาสซีฟหรือแอกทีฟต้องมีสิทธิ์เขียนประเด็นที่ตรวจพบ เพราะการสแกนอาจสร้างประเด็นที่ตรวจพบได้ การแสดงรายการกฎของเครื่องมือสแกนและประเภทการตรวจสอบแบบแอกทีฟไม่ต้องใช้สิทธิ์นี้

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_run_passive_scan` | เรียกใช้การตรวจสอบของเครื่องมือสแกนแบบพาสซีฟสำหรับรายการ HTTP หนึ่งรายการ | **`entry_id`** |
| `ogma_run_passive_scan_all` | เรียกใช้การตรวจสอบของเครื่องมือสแกนแบบพาสซีฟกับประวัติที่บันทึกไว้ | ไม่มี |
| `ogma_list_scanner_rules` | แสดงกฎการตรวจจับของเครื่องมือสแกน | ไม่มี |
| `ogma_list_active_checks` | แสดงประเภทการตรวจสอบของเครื่องมือสแกนแบบแอกทีฟพร้อม ID และคำอธิบาย และรายงานจำนวนประเภทที่สร้างประเด็นที่ตรวจพบ ประเภทที่ยังไม่มีการทำงานจริงจะแสดงในรายการ แต่ไม่สร้างประเด็นที่ตรวจพบ | ไม่มี |
| `ogma_scan_active` | เรียกใช้เครื่องมือสแกนแบบแอกทีฟ ซึ่งส่งเพย์โหลดพิสูจน์และสร้างประเด็นที่ตรวจพบเฉพาะประเภทที่ยืนยันได้จากการตอบกลับ ส่ง `entry_id` เพื่อสแกนรายการเดียว หรือละเพื่อสแกนประวัติล่าสุด การทำงานใช้เวลานานจึงเปิดให้เรียกเป็นทาสก์ ส่วนเส้นทางแบบซิงโครนัสตรวจสถานะงานจนถึงสถานะสิ้นสุดและรายงาน `job_id` ตัวนับความคืบหน้า และ `findings_created` ต้องมีสิทธิ์เขียนประเด็นที่ตรวจพบ | `entry_id`, `checks`, `concurrency`, `delay_ms`, `scan_headers` |

### ดักรับ {#intercept}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_get_intercept_status` | อ่านสถานะการดักรับปัจจุบัน | ไม่มี |
| `ogma_set_intercept_enabled` | เปิดหรือปิดการดักรับ | `request_enabled`, `response_enabled`, `websocket_enabled` |
| `ogma_list_intercept_queue` | แสดงรายการที่ดักรับและรออยู่ในคิว | ไม่มี |
| `ogma_get_intercept_item` | อ่านรายการที่ดักรับในคิวหนึ่งรายการ | **`id`** |
| `ogma_forward_intercept_item` | ส่งต่อรายการที่ดักรับ โดยแก้ไขได้ตามต้องการ | **`id`**, `method`, `path`, `headers`, `body`, `status_override` |
| `ogma_drop_intercept_item` | ทิ้งรายการที่ดักรับ | **`id`** |
| `ogma_intercept_and_modify` | รอคำขอหรือการตอบกลับที่ดักรับแบบสด ใช้แพตช์ JSON การแทนที่ด้วยนิพจน์ปกติ หรือการแทนที่เนื้อหาทั้งหมด แล้วส่งต่อ | **`direction`**, `host_pattern`, `path_pattern`, `wait_secs`, `json_patches`, `regex_replacements`, `body_b64`, `status_override`, `forward_unmatched` |

### พร็อกซี ขอบเขต และเครือข่าย {#proxy-scope-and-network}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_list_proxy_listeners` | แสดงรายการตัวรับการเชื่อมต่อพร็อกซี | ไม่มี |
| `ogma_start_proxy_listener` | เริ่มตัวรับการเชื่อมต่อพร็อกซี | **`listener_id`** |
| `ogma_stop_proxy_listener` | หยุดตัวรับการเชื่อมต่อพร็อกซี | **`listener_id`** |
| `ogma_list_scope_presets` | แสดงรายการชุดขอบเขต | ไม่มี |
| `ogma_create_scope_preset` | จัดเก็บชุดขอบเขตโดยไม่เปิดใช้งาน ต้องมีสิทธิ์ส่งคำขอ แต่ละกฎต้องมี `pattern` และ `include` ส่วน `rule_type` ที่เป็นทางเลือกใช้เลือกการจับคู่โฮสต์ CIDR พาธ หรือนิพจน์ปกติ กฎพาธใช้ `pattern` สำหรับโฮสต์และ `path_pattern` สำหรับพาธ เปิดใช้งานชุดขอบเขตที่ส่งกลับแยกต่างหากด้วย `ogma_set_active_scope` | **`name`**, **`rules`**, `httpql_expression` |
| `ogma_get_active_scope` | อ่านขอบเขตที่ใช้งานอยู่ | ไม่มี |
| `ogma_set_active_scope` | ตั้งค่าขอบเขตที่ใช้งานอยู่ | `preset_id` |
| `ogma_local_ips` | แสดงที่อยู่ IP ภายในเครื่องที่ใช้ได้กับตัวรับการเชื่อมต่อและการเรียกกลับ | ไม่มี |
| `ogma_get_tls_info` | อ่านข้อมูล TLS ของเป้าหมายหรือการเชื่อมต่อที่บันทึกไว้ | **`host`**, `port` |

### แผนผังเว็บไซต์ จุดปลายทาง และ OAST {#sitemap-endpoints-and-oast}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_get_sitemap` | อ่านแผนผังเว็บไซต์ที่บันทึกไว้ | `host`, `show_api_only` |
| `ogma_get_sitemap_parameters` | อ่านพารามิเตอร์ที่ค้นพบสำหรับพาธหนึ่งในแผนผังเว็บไซต์ | **`host`**, **`port`**, **`path`** |
| `ogma_list_extracted_endpoints` | แสดงเอนด์พอยต์ที่สกัดจากทราฟฟิกและเนื้อหาส่วนหน้า | `limit`, `offset` |
| `ogma_discovery_start` | เริ่มงานค้นหาเนื้อหาเบื้องหลังบนโฮสต์และพอร์ตในขอบเขต แล้วส่งกลับ ID งาน | **`host`**, **`port`**, `tls`, `base_path`, `config` |
| `ogma_discovery_list` | แสดงงานค้นหาและความคืบหน้าในโครงการที่ใช้งานอยู่ | ไม่มี |
| `ogma_discovery_get` | อ่านสถานะและผลที่ค้นพบของงานค้นหา | **`job_id`** |
| `ogma_discovery_cancel` | ร้องขอให้ยกเลิกงานค้นหาที่กำลังทำงาน | **`job_id`** |
| `ogma_import_openapi_spec` | นำเข้าข้อกำหนด OpenAPI เพื่อเติมเอนด์พอยต์และรูปแบบคำขอตั้งต้น | **`spec_content`**, `base_url`, `collection_name` |
| `ogma_get_oast_config` | อ่านการกำหนดค่าตัวรับการเชื่อมต่อ OAST | ไม่มี |
| `ogma_get_oast_reachability` | รายงานว่าเป้าหมายเข้าถึงโฮสต์การเรียกกลับ OAST ที่กำหนดไว้ได้หรือไม่ พร้อมเหตุผลเมื่อเข้าถึงไม่ได้และขั้นตอนแก้ไข ตรวจสอบก่อนเชื่อถือเพย์โหลดแบบ blind เพราะการเรียกกลับที่เข้าถึงไม่ได้ทำให้เกิดผลลบลวงที่ดูเหมือนไม่มีช่องโหว่ | ไม่มี |
| `ogma_list_oast_interactions` | แสดงปฏิสัมพันธ์ OAST แบ็กเอนด์ใช้ตัวกรองทั้งหมดก่อนแบ่งหน้า ดังนั้นยอดรวมจึงนับทุกรายการที่ตรงเงื่อนไข ไม่ใช่จำนวนรายการในหน้า และการจำกัดให้เหลือป้ายกำกับโทเค็นหรือที่อยู่ต้นทางเดียวจะไม่ซ่อนการเรียกกลับที่ตรงเงื่อนไขซึ่งอยู่ถัดไปในรายการ `token_label` คือจุดแทรกที่ส่งโทเค็น ได้แก่ ชื่อพารามิเตอร์คิวรี ชื่อส่วนหัว หรือ `body` ป้ายกำกับเก็บในหน่วยความจำร่วมกับโทเค็น ดังนั้นป้ายกำกับของโทเค็นที่หมดอายุการเก็บจะไม่ตรงกับรายการใด แทนที่จะตรงกับแถวเก่า | `limit`, `offset`, `token_id`, `token_label`, `protocol`, `source_ip`, `since` |

### การใส่เครื่องหมายในประวัติ {#history-annotation}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_set_entry_color` | ตั้งค่าป้ายกำกับสีของรายการประวัติ | **`entry_id`**, **`color`** |
| `ogma_add_entry_tag` | เพิ่มแท็กให้รายการประวัติ | **`entry_id`**, **`tag`** |
| `ogma_remove_entry_tag` | นำแท็กออกจากรายการประวัติ | **`entry_id`**, **`tag`** |

### การควบคุมเบราว์เซอร์ {#browser-control}

สำหรับการเลือกระหว่างสแนปช็อต ซีเล็กเตอร์องค์ประกอบ และภาพหน้าจอ ดู [คู่มือเบราว์เซอร์](../guide/mcp-browser.md) อย่าคิดว่าเครื่องมือเบราว์เซอร์ทุกตัวยอมรับ `tab_id` หรือ `element_ref` ใช้เฉพาะอินพุตที่ระบุสำหรับเครื่องมือนั้น

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_browser_launch` | เปิดเบราว์เซอร์ Ogma | `proxy_port` |
| `ogma_browser_navigate` | นำเบราว์เซอร์ไปยัง URL | **`url`**, `tab_id`, `wait_for_load`, `timeout_ms`, `result_detail` |
| `ogma_browser_get_dom` | นำทางและส่งกลับ DOM ที่เรนเดอร์ พร้อมผลของซีเล็กเตอร์หากระบุ หลังจาก JavaScript ทำงานแล้ว | **`url`**, `wait_secs`, `selectors`, `js_eval`, `include_full_html` |
| `ogma_browser_screenshot` | บันทึกภาพสถานะหน้าเบราว์เซอร์ | `tab_id`, `result_detail` |
| `ogma_browser_execute_js` | เรียกใช้ JavaScript ในเบราว์เซอร์ | **`script`**, `tab_id` |
| `ogma_browser_get_source` | อ่านซอร์ส DOM ของหน้าปัจจุบัน | `tab_id`, `format`, `max_chars` |
| `ogma_browser_get_cookies` | อ่านคุกกี้ของเบราว์เซอร์ | `tab_id` |
| `ogma_browser_set_cookie` | ตั้งค่าคุกกี้ของเบราว์เซอร์ | **`name`**, **`value`**, `domain`, `path`, `http_only`, `secure` |
| `ogma_browser_new_tab` | เปิดแท็บเบราว์เซอร์ใหม่ | `url` |
| `ogma_browser_close_tab` | ปิดแท็บเบราว์เซอร์ | `tab_id` |
| `ogma_browser_get_tabs` | แสดงแท็บเบราว์เซอร์ | `result_detail` |
| `ogma_browser_click` | คลิก `element_ref` จากสแนปช็อต หรือพิกัด `x` และ `y` ที่ระบุชัดเจน | `element_ref`, `snapshot_id`, `x`, `y`, `button`, `click_count`, `modifiers`, `offset_x`, `offset_y`, `force`, `timeout_ms`, `tab_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_type_text` | พิมพ์ข้อความในเบราว์เซอร์ | **`text`**, `tab_id`, `snapshot_id` |
| `ogma_browser_fill_input` | ตั้งค่าช่องป้อนข้อมูลโดยใช้ CSS `selector` หรือ `element_ref` จากสแนปช็อตเพียงอย่างใดอย่างหนึ่ง ค่าว่างจะล้างช่อง ไม่ส่งฟอร์ม | **`selector`**, `value`, `tab_id`, **`element_ref`**, `snapshot_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_fill_form` | แทนที่ข้อความในช่องป้อนข้อมูล textarea หรือองค์ประกอบ contenteditable หลายรายการในการเรียกครั้งเดียวตามลำดับที่ระบุ แต่ละช่องใช้ `element_ref` หรือ `selector` เพียงอย่างใดอย่างหนึ่งร่วมกับ `value` หยุดเมื่อเกิดข้อผิดพลาดแรกและไม่ส่งฟอร์ม | **`fields`**, `snapshot_id`, `tab_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_click_selector` | คลิกองค์ประกอบตามซีเล็กเตอร์ | **`selector`**, `tab_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_submit_form` | ส่งฟอร์ม | `selector`, `tab_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_get_page_links` | สกัดลิงก์จากหน้าปัจจุบัน | `tab_id` |
| `ogma_browser_get_page_forms` | สกัดฟอร์มจากหน้าปัจจุบัน ตั้ง `include_templates` เป็น `true` (ค่าเริ่มต้น `false`) เพื่อเพิ่ม URL action แบบสัมบูรณ์ เมธอด ชนิดเนื้อหาที่ใช้จริง ตัวควบคุมที่มีส่วนร่วมในการส่งฟอร์มพร้อมค่าปัจจุบัน ตัวควบคุมส่งฟอร์ม และ `token_candidates` ที่คล้าย CSRF ของแต่ละฟอร์ม ฟอร์ม multipart ชี้ไปที่ `ogma_multipart_upload` แทนเนื้อหาที่สร้างขึ้น ต้องมีสิทธิ์ `send_requests` | `tab_id`, `include_templates` |
| `ogma_browser_form_to_replay` | สร้างเซสชันส่งซ้ำจากฟอร์มบนหน้าที่เปิดอยู่ โดยอ่านค่าช่องปัจจุบันและคุกกี้สดของเบราว์เซอร์ ณ ขณะนั้น พร้อมส่วนหัว Origin และ Referer ที่ได้จากหน้า ไม่ส่งคำขอ | **`form_selector`**, `tab_id`, `name` |
| `ogma_browser_scroll` | เลื่อนหน้าปัจจุบัน | `selector`, `x`, `y`, `tab_id` |
| `ogma_browser_wait_for_selector` | รอองค์ประกอบที่ตรงกับซีเล็กเตอร์ | **`selector`**, `timeout_ms`, `tab_id`, `snapshot_id` |
| `ogma_browser_get_network_log` | อ่านเหตุการณ์เครือข่ายของเบราว์เซอร์ | `host`, `since_ms`, `limit` |
| `ogma_browser_go_back` | ย้อนกลับในประวัติเบราว์เซอร์ | `tab_id`, `snapshot_id` |
| `ogma_browser_go_forward` | เดินหน้าในประวัติเบราว์เซอร์ | `tab_id`, `snapshot_id` |
| `ogma_browser_reload` | โหลดหน้าใหม่ | `tab_id`, `snapshot_id` |
| `ogma_browser_find_text` | ค้นหาข้อความในหน้าปัจจุบัน | **`text`**, `tab_id`, `snapshot_id` |
| `ogma_browser_clear_data` | ล้างข้อมูลเบราว์เซอร์ | `types` |
| `ogma_crawl_site` | รวบรวมข้อมูลเป้าหมายผ่านเบราว์เซอร์ฝังตัวภายในขอบเขตที่ใช้งานอยู่ และส่งกลับข้อมูลความครอบคลุม | **`start_url`**, `max_pages`, `max_depth`, `wait_ms`, `tab_id` |

### องค์ประกอบเบราว์เซอร์และการรอ {#browser-elements-and-waits}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_browser_snapshot` | อ่านต้นไม้เชิงความหมายของหน้าแบบกระชับพร้อมการอ้างอิงองค์ประกอบและสถานะ ส่วน `result_detail: "full"` ส่งกลับข้อมูลครอบแบบมีโครงสร้างที่มีองค์ประกอบใต้ `raw.elements` แทน สามารถขอส่วนต่างจากสแนปช็อตก่อนหน้าได้ | `tab_id`, `previous_snapshot_id`, `changes_only`, `focus_ref`, `text`, `max_elements`, `max_text_length`, `include_hidden`, `max_depth`, `result_detail` |
| `ogma_browser_hover` | วางตัวชี้เหนือองค์ประกอบที่อ้างอิง และรายงานเมนูหรือคำแนะนำเครื่องมือที่เพิ่งปรากฏ | **`element_ref`**, `snapshot_id`, `offset_x`, `offset_y`, `modifiers`, `timeout_ms`, `tab_id` |
| `ogma_browser_select_option` | เลือกตัวเลือกในรายการแบบเลื่อนลงตามค่า ป้ายกำกับ หรือดัชนี และรายงานค่าที่เลือก | **`element_ref`**, `snapshot_id`, **`values`**, `match_mode`, `allow_first_match`, `timeout_ms`, `tab_id` |
| `ogma_browser_check` | ตั้งสถานะช่องทำเครื่องหมายหรือปุ่มตัวเลือกอย่างชัดเจน แทนการสลับโดยไม่ตรวจสถานะ | **`element_ref`**, `snapshot_id`, `checked`, `timeout_ms`, `tab_id` |
| `ogma_browser_press_key` | ส่งปุ่มหรือชุดปุ่มไปยังหน้าที่มีโฟกัสหรือองค์ประกอบที่อ้างอิง | **`key`**, `element_ref`, `snapshot_id`, `modifiers`, `repeat`, `delay_ms`, `tab_id` |
| `ogma_browser_focus` | โฟกัสองค์ประกอบที่อ้างอิง และรายงานความสามารถในการรับข้อมูล | **`element_ref`**, `snapshot_id`, `tab_id` |
| `ogma_browser_blur` | นำโฟกัสออกจากองค์ประกอบที่มีโฟกัสอยู่ | `tab_id`, `snapshot_id` |
| `ogma_browser_drag_and_drop` | ลากองค์ประกอบที่อ้างอิงหนึ่งไปวางบนอีกองค์ประกอบ | **`source_ref`**, **`target_ref`**, `snapshot_id`, `steps`, `tab_id` |
| `ogma_browser_scroll_to` | เลื่อนไปยังองค์ประกอบ ตำแหน่งหน้า หรือภายในคอนเทนเนอร์เลื่อนที่อ้างอิง | `target`, `element_ref`, `snapshot_id`, `container_ref`, `direction`, `amount`, `behavior`, `timeout_ms`, `tab_id` |
| `ogma_browser_wait_for` | รอเงื่อนไของค์ประกอบ ข้อความ URL การนำทาง กล่องโต้ตอบ หรือความนิ่งของหน้า รองรับการพักรอที่ระบุชัดเจนเมื่อจำเป็น | **`condition`**, `target`, `timeout_ms`, `stability_ms`, `tab_id`, `snapshot_id`, `result_detail` |
| `ogma_browser_handle_dialog` | ยอมรับหรือปิดกล่องโต้ตอบ JavaScript โดยระบุข้อความตอบพรอมป์ต์และการตรวจกล่องโต้ตอบที่คาดหวังได้ | **`action`**, `prompt_text`, `expected_type`, `expected_message`, `tab_id`, `snapshot_id` |
| `ogma_browser_dialog_status` | รายงานกล่องโต้ตอบ JavaScript ที่ค้างอยู่โดยไม่ปิด | ไม่มี |

### ไฟล์ ป๊อปอัป และการดาวน์โหลดของเบราว์เซอร์ {#browser-files-popups-and-downloads}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_list_hosted_files` | แสดงไฟล์ที่โฮสต์ในโครงการที่ใช้งานอยู่และ ID สำหรับการอัปโหลดและตรวจอาร์ติแฟกต์ | `limit`, `offset` |
| `ogma_artifact_read_range` | อ่านช่วงไบต์ที่จำกัดของไฟล์ที่โฮสต์ แทนการส่งกลับทั้งไฟล์ | **`artifact_id`**, `offset`, `length` |
| `ogma_artifact_search` | ค้นหาข้อความตรงตัวในช่วงที่จำกัดของไฟล์ UTF-8 ที่โฮสต์ และส่งกลับออฟเซ็ตไบต์ที่ตรงกัน | **`artifact_id`**, **`query`**, `offset`, `max_bytes`, `max_matches` |
| `ogma_browser_file_upload` | ตั้งค่าช่องไฟล์จาก ID ไฟล์ที่โฮสต์ใน Ogma ที่มีอยู่ ไม่ใช่พาธระบบไฟล์ฝั่งไคลเอนต์ตามอำเภอใจ | **`element_ref`**, `snapshot_id`, **`artifact_ids`**, `tab_id` |
| `ogma_browser_wait_for_popup` | เตรียมตรวจป๊อปอัปก่อนการกระทำ รอป๊อปอัป หรือตรวจสถานะการตรวจจับ | **`action`**, `timeout_ms`, `switch_to_new_tab` |
| `ogma_browser_download_wait` | ตรวจพบการดาวน์โหลดของเบราว์เซอร์ที่กำลังดำเนินการหรือเสร็จแล้ว ตรวจ ID และสถานะ การตรวจพบไม่ได้แปลว่าเสร็จแล้วหรือเป็นการดาวน์โหลดล่าสุด | `timeout_ms` |
| `ogma_browser_download_get` | ตรวจการดาวน์โหลดหนึ่งรายการ และบันทึกเนื้อหาที่เสร็จแล้วเป็นอาร์ติแฟกต์เมื่อพร้อม | **`download_id`** |
| `ogma_browser_download_status` | แสดงการดาวน์โหลดของเบราว์เซอร์และความคืบหน้าหรือสถานะปัจจุบัน | ไม่มี |

### ตัวตน พื้นที่จัดเก็บ และสิทธิ์ของเบราว์เซอร์ {#browser-identities-storage-and-permissions}

เครื่องมือสิทธิ์เบราว์เซอร์ด้านล่างควบคุมสิทธิ์เว็บไซต์ เช่น กล้องหรือตำแหน่งทางภูมิศาสตร์ ไม่ได้เปลี่ยนสิทธิ์เครื่องมือของเซิร์ฟเวอร์ MCP

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_browser_context_create` | สร้างตัวตนเบราว์เซอร์แยกและแท็บเริ่มต้น ส่งกลับ `context_id` และ `tab_id` | `label`, `auth_profile_id`, `initial_url`, `retain_on_close` |
| `ogma_browser_context_clone` | สร้างบริบทสะอาดหรือคัดลอกคุกกี้ของบริบทต้นทางด้วย `clone_mode: authenticated` ไม่ใช่การโคลนพื้นที่เก็บข้อมูลทั้งหมด | **`context_id`**, `clone_mode`, `label` |
| `ogma_browser_context_close` | ปิดบริบทและแท็บของบริบท พร้อมล้างพื้นที่เก็บข้อมูล เว้นแต่ได้ขอให้เก็บไว้ตอนสร้าง | **`context_id`** |
| `ogma_browser_context_list` | แสดงบริบทเบราว์เซอร์และสถานะ | ไม่มี |
| `ogma_browser_auth_state_capture` | บันทึกคุกกี้และพื้นที่เก็บข้อมูลเว็บเป็นสถานะการยืนยันตัวตนที่ตั้งชื่อไว้ในหน่วยความจำ ส่งกลับข้อมูลเมตาที่ปกปิดข้อมูลลับ | **`name`**, `tab_id`, `context_id`, `role`, `url` |
| `ogma_browser_auth_state_apply` | คืนค่าสถานะการยืนยันตัวตนที่บันทึกไว้ ข้อมูลเมตาวันหมดอายุไม่ใช่หลักฐานว่าเซิร์ฟเวอร์ยอมรับเซสชัน | **`auth_state_id`**, `tab_id`, `context_id`, `url` |
| `ogma_browser_auth_state_list` | แสดงสถานะการยืนยันตัวตนที่บันทึกไว้โดยไม่แสดงค่าลับทั้งหมด | ไม่มี |
| `ogma_browser_auth_state_delete` | ลบสถานะการยืนยันตัวตนที่บันทึกไว้หนึ่งรายการ | **`auth_state_id`** |
| `ogma_browser_storage_list` | แสดงคุกกี้และรายการพื้นที่เก็บข้อมูลเว็บโดยใช้ตัวอย่างค่าแบบย่อ | `origin`, `storage_type` |
| `ogma_browser_storage_get` | ตรวจคุกกี้หรือคีย์พื้นที่เก็บข้อมูลหนึ่งรายการพร้อมตัวอย่างค่าแบบย่อ | **`storage_type`**, **`key`**, `origin` |
| `ogma_browser_storage_set` | เขียนค่าคุกกี้หรือพื้นที่เก็บข้อมูล ยอมรับการอ้างอิง `env:VARIABLE_NAME` ของ Ogma | **`storage_type`**, **`key`**, **`value`**, `origin`, `domain`, `path`, `http_only`, `secure`, `expires` |
| `ogma_browser_storage_delete` | ลบคุกกี้หรือคีย์พื้นที่เก็บข้อมูลเว็บหนึ่งรายการ | **`storage_type`**, **`key`**, `origin` |
| `ogma_browser_permissions_set` | อนุญาต ปฏิเสธ หรือรีเซ็ตสิทธิ์เว็บไซต์ที่ระบุสำหรับ origin | **`origin`**, **`permissions`**, `setting`, `context_id` |
| `ogma_browser_permissions_reset` | ล้างการกำหนดสิทธิ์เบราว์เซอร์ทับค่าเดิม | `context_id` |
| `ogma_browser_permissions_get` | สอบถามสถานะสิทธิ์เว็บไซต์สำหรับ origin | **`origin`**, `permissions` |

### การวินิจฉัย หลักฐาน และการกู้คืนเบราว์เซอร์ {#browser-diagnostics-evidence-and-recovery}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_browser_network_delta` | อ่านรายการเครือข่ายจำนวนจำกัดหลังเคอร์เซอร์ โดยเก็บ URL เต็ม เวลา ข้อผิดพลาด และ ID ประวัติ HTTP เมื่อมี | `since_entry_id`, `resource_types`, `status_filter`, `failed_only`, `max_entries` |
| `ogma_browser_console_delta` | อ่านรายการคอนโซลใหม่ รวม URL ต้นทาง บรรทัด และคอลัมน์เมื่อเบราว์เซอร์ระบุ | `since_entry_id`, `levels`, `max_entries` |
| `ogma_browser_action_correlation` | อ่านทราฟฟิกหรือเหตุการณ์ที่สัมพันธ์กับช่วงเวลาของการกระทำ หรือแสดงการกระทำล่าสุด เวลาเพียงอย่างเดียวไม่พิสูจน์ความเป็นเหตุเป็นผล | `browser_action_id`, `limit` |
| `ogma_browser_snapshot_save` | เก็บสแนปช็อตปัจจุบันไว้เทียบภายหลัง คลังเก็บได้สูงสุด 20 สแนปช็อต | `label` |
| `ogma_browser_page_state_compare` | เปรียบเทียบสแนปช็อตที่เก็บไว้สองรายการและรายงานความต่างขององค์ประกอบหรือสถานะ โดยเลือกละเว้นค่าที่เปลี่ยนแปลงบ่อยและบทบาทได้ | **`snapshot_id_a`**, **`snapshot_id_b`**, `ignore_volatile`, `ignore_roles` |
| `ogma_browser_trace_start` | เริ่มบันทึกการกระทำแบบเบา `detailed` เพิ่มการอ้างอิงคอนโซลและเครือข่าย | `level`, `label`, `context_id` |
| `ogma_browser_trace_stop` | หยุดการบันทึกและเก็บเหตุการณ์ไว้ในหน่วยความจำ | **`trace_id`** |
| `ogma_browser_trace_export` | บันทึกการติดตามที่หยุดแล้วเป็นอาร์ติแฟกต์ไฟล์ JSON ที่โฮสต์ในโครงการที่ใช้งานอยู่ | **`trace_id`** |
| `ogma_browser_trace_list` | แสดงการติดตามและสถานะการบันทึกหรือส่งออก | ไม่มี |
| `ogma_browser_trace_note` | เพิ่มบันทึกย่อต่อท้ายการติดตามทั้งหมดที่กำลังบันทึก | **`note`** |
| `ogma_browser_human_takeover_start` | พักการกระทำของเอเจนต์ในเบราว์เซอร์เพื่อให้มนุษย์ดำเนินการที่จุดตรวจ โดยมีเวลารอสูงสุด | `reason`, `context_id`, `tab_id`, `timeout_ms` |
| `ogma_browser_human_takeover_complete` | คืนการควบคุมหลังการโต้ตอบด้วยตนเอง และรีเฟรชสแนปช็อตหน้า | **`takeover_id`** |
| `ogma_browser_human_takeover_status` | ตรวจว่ามนุษย์กำลังควบคุมอยู่หรือไม่ และรายงานเวลาที่เหลือ | ไม่มี |
| `ogma_browser_health` | รายงานสภาพบริดจ์ดีบักเกอร์และข้อมูลการล่มหรือขาดการเชื่อมต่อล่าสุด | ไม่มี |
| `ogma_browser_recover` | พยายามกู้คืนบริดจ์ โดยเก็บหลักฐานไว้เป็นค่าเริ่มต้น อาจรายงาน `relaunch_required` | `preserve_evidence` |

### การทดสอบการยืนยันตัวตนและการอนุญาต {#authentication-and-authorization-testing}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_auth_capture_profile` | บันทึกคุกกี้ พื้นที่เก็บข้อมูล โทเค็นการยืนยันตัวตนที่ตรวจพบ และค่าที่อาจเป็น CSRF จากเบราว์เซอร์ฝังตัว | **`name`**, `role`, `url`, `tab_id`, `wait_ms` |
| `ogma_auth_list_profiles` | แสดงโปรไฟล์การยืนยันตัวตนที่บันทึกไว้โดยสรุปค่าลับ | ไม่มี |
| `ogma_auth_apply_profile` | ใช้โปรไฟล์การยืนยันตัวตนที่บันทึกไว้กับเบราว์เซอร์ฝังตัวเพื่อสลับบทบาทหรือบัญชี | **`profile_id`**, `url`, `tab_id`, `wait_ms` |
| `ogma_auth_refresh_csrf` | รีเฟรชค่าที่อาจเป็นโทเค็น CSRF จากหน้าปัจจุบัน คุกกี้ พื้นที่เก็บข้อมูล แท็กเมตา และช่องป้อนข้อมูลที่ซ่อน | `profile_id`, `url`, `tab_id`, `wait_ms` |
| `ogma_login_replay_auto` | ตรวจหาฟอร์มเข้าสู่ระบบอัตโนมัติ ส่งข้อมูลรับรองในเบราว์เซอร์ฝังตัว และบันทึกโปรไฟล์การยืนยันตัวตน | **`login_url`**, **`username`**, **`password`**, **`profile_name`**, `role`, `tab_id`, `wait_ms` |
| `ogma_authz_matrix_test` | ส่งคำขอที่บันทึกไว้หนึ่งรายการซ้ำด้วยหลายโปรไฟล์การยืนยันตัวตนเพื่อเปรียบเทียบผลการควบคุมการเข้าถึง | **`request_id`**, **`profile_ids`**, `mutations`, `entry_id` |

### ลำดับขั้นตอนการเข้าสู่ระบบที่ใช้ซ้ำได้ {#reusable-login-journeys}

ลำดับขั้นตอนการเข้าสู่ระบบต่างจากโปรไฟล์ยืนยันตัวตนในหน่วยความจำ โดยเก็บไว้อย่างถาวรแยกตามโครงการ ข้อมูลรับรองอ้างอิง ID ตัวแปรสภาพแวดล้อมของ Ogma การตรวจสอบที่กำหนดไว้ทั้งหมดต้องผ่าน การส่งฟอร์มเข้าสู่ระบบเพียงอย่างเดียวไม่ถือว่ายืนยันตัวตนสำเร็จ

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_auth_journey_record` | บันทึกขั้นตอนเข้าสู่ระบบ การอ้างอิงข้อมูลรับรอง การตรวจยืนยัน และจุดตรวจ MFA ที่ดำเนินการด้วยตนเองหากระบุ เป็นการกำหนดกระบวนการ ไม่ได้บันทึกการคลิกใด ๆ โดยอัตโนมัติ | **`name`**, `role`, **`login_url`**, **`username_env_var_id`**, **`password_env_var_id`**, `username_selectors`, `password_selectors`, `submit_selectors`, `steps`, **`verification`**, `mfa`, `mfa_reason`, `mfa_timeout_ms` |
| `ogma_auth_journey_list` | แสดงกระบวนการเข้าสู่ระบบที่บันทึกไว้ในโครงการที่ใช้งานอยู่ โดยปกปิดข้อมูลลับของเซสชัน | ไม่มี |
| `ogma_auth_journey_replay` | เรียกใช้กระบวนการเข้าสู่ระบบที่บันทึกไว้ ตรวจยืนยันการยืนยันตัวตน และบันทึกเซสชันที่รีเฟรชแล้ว พักเพื่อให้ทำ MFA ด้วยตนเองเมื่อกำหนดไว้ | **`journey_id`**, `tab_id` |
| `ogma_auth_journey_verify` | ตรวจ URL DOM คุกกี้ และคำขอตรวจยืนยันหากระบุ เทียบกับเซสชันปัจจุบัน | **`journey_id`**, `tab_id` |
| `ogma_auth_journey_ensure` | ตรวจยืนยันเซสชันปัจจุบัน พยายามคืนสถานะที่บันทึกไว้ และเรียกเข้าสู่ระบบซ้ำเฉพาะเมื่อยังจำเป็น | **`journey_id`**, `tab_id` |
| `ogma_auth_journey_resume` | ดำเนินกระบวนการต่อหลังจุดตรวจด้วยตนเอง และตรวจยืนยันเซสชันที่ได้ | **`journey_id`**, **`takeover_id`**, `tab_id` |

### เครื่องมือช่วยและการวิเคราะห์ {#utilities-and-analysis}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_fetch_sourcemap` | ดึงและตรวจ source map ของ JavaScript | **`url`**, `base_url` |
| `ogma_proto_decode` | ถอดรหัสเพย์โหลด protobuf โดยใช้สคีมาที่กำหนดไว้ | **`data_b64`**, `content_type` |
| `ogma_decode_jwt` | ถอดรหัสส่วนหัวและ claims ของ JWT | **`token`** |
| `ogma_decode_response` | ถอดรหัส คลายการบีบอัด หรือแปลงเนื้อหาการตอบกลับด้วยการดำเนินการตามลำดับ เช่น base64 gzip deflate brotli URL เอนทิตี HTML และเลขฐานสิบหก | **`input`**, `input_is_b64`, **`operations`**, `max_output_bytes` |
| `ogma_search_js_secrets` | ค้นหาข้อมูลลับและเอนด์พอยต์ที่เปิดเผยในคำตอบกลับ JavaScript | `host`, `patterns` |
| `ogma_compare_responses` | เปรียบเทียบการตอบกลับสองรายการ | **`entry_id_a`**, **`entry_id_b`**, `mode` |
| `ogma_bytes_transform` | แปลงไบต์ เช่น เข้ารหัส ถอดรหัส XOR แฮช และสกัดข้อมูล | **`operation`**, **`data`**, `key`, `output_encoding`, `offset`, `length`, `min_len` |
| `ogma_wasm_inspect` | ตรวจโมดูล WebAssembly | **`wasm_b64`**, `data_encoding` |
| `ogma_fingerprint_target` | ระบุเทคโนโลยีของเป้าหมายจากทราฟฟิกและการตอบกลับที่บันทึกไว้ | `host`, `entry_limit` |
| `ogma_sign_request` | คำนวณส่วนหัวลายเซ็นคำขอ HMAC-SHA256 สำหรับแอปพลิเคชันที่ใช้รูปแบบการลงนามฝั่งไคลเอนต์ | **`key`**, **`method`**, **`path`**, `params` |
| `ogma_find_in_response` | ดึง URL สูงสุด 10 รายการและค้นหาเนื้อหาการตอบกลับด้วยนิพจน์ปกติ พร้อมบริบทแบบกระชับ | **`urls`**, **`pattern`**, `headers`, `context_chars`, `max_matches_per_url`, `case_insensitive`, `timeout_secs` |
| `ogma_think` | บันทึกข้อความเหตุผลหรือแผนแบบมีโครงสร้างภายในเซสชัน MCP | **`thought`** |
| `ogma_explain_capabilities` | ส่งกลับสรุปความสามารถของเซิร์ฟเวอร์ MCP | ไม่มี |

### เครื่องมือช่วยทดสอบแบบแอกทีฟ {#active-probe-helpers}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_run_active_probe_workflow` | เรียกใช้การทดสอบช่องโหว่เฉพาะประเภทแบบจำกัดกับคำขอที่บันทึกไว้ โมดูลประกอบด้วย IDOR/BOLA, CORS, SSRF OAST, XSS แบบสะท้อนกลับหรือเก็บไว้, SQLi แบบเวลาและข้อผิดพลาด, path traversal, SSTI, การข้ามข้อจำกัดการอัปโหลด, GraphQL introspection และการอนุญาต, การดัดแปลง JWT และการตรวจจำกัดอัตรา | **`probe`**, **`request_id`**, `entry_id`, `target_param`, `profile_ids`, `values`, `origins`, `max_cases` |
| `ogma_test_race` | ส่งคำขอหนึ่งรายการพร้อมกันหลายครั้ง และรายงานรหัสสถานะที่พบบ่อยที่สุด การตอบกลับที่ต่างจากรหัสนั้น และข้อสรุป ใช้สำหรับการดำเนินการที่ใช้ได้ครั้งเดียว การตอบกลับสำเร็จหลายครั้งจากการดำเนินการที่ควรสำเร็จได้ครั้งเดียวแสดงว่าไม่เป็นอะตอม ส่ง `request_id` สำหรับรายการที่บันทึกไว้ หรือ `host` และ `port` พร้อมส่วนอื่นของคำขอที่ระบุชัดเจน ตั้ง `http2` เพื่อส่งทุกคำขอเป็นสตรีมพร้อมกันบนการเชื่อมต่อเดียว (แพ็กเก็ตเดียว) ซึ่งเป็นรูปแบบที่ทันช่วงเวลาสั้นมากเมื่อเป้าหมายรองรับ HTTP/2 ค่าเริ่มต้นเปิดหนึ่งการเชื่อมต่อต่อคำขอ ความต่างเป็นหลักฐานเกี่ยวกับการจัดการความพร้อมกันเท่านั้น และชุดคำตอบที่เหมือนกันไม่พิสูจน์ความเป็นอะตอม จึงต้องยืนยันจากสถานะที่การดำเนินการเปลี่ยน | `request_id`, `entry_id`, `method`, `host`, `port`, `tls`, `path`, `query`, `params`, `headers`, `body_b64`, `concurrency`, `stagger_ms`, `http2` |
| `ogma_test_smuggling` | ส่งการทดสอบ desync แบบ CL.TE และ TE.CL ผ่าน TCP ดิบ และรายงานผลการทดสอบ จุดที่อาจมีช่องโหว่ และข้อสรุป ส่วนหัวใน `headers` แนบเฉพาะคำขอทดสอบ คำขอติดตามที่ใช้วัด desync ส่งโดยไม่มีส่วนหัวเหล่านั้นเสมอ การทดสอบเป็นแบบฮิวริสติกและมักผิดได้ทั้งสองทาง ระบบส่วนหน้าที่ปิดการเชื่อมต่อหลังคำขอแรก หรือปฏิเสธการกำหนดกรอบที่ขัดแย้งกันด้วย 400 ให้ผลทดสอบเหมือนระบบที่มีช่องโหว่ และผลลบไม่พิสูจน์ความปลอดภัย ยืนยันก่อนรายงาน โดยส่งไบต์ทดสอบซ้ำด้วย `ogma_http_request` ในโหมด raw ส่งเป็น `raw_request_base64` และตั้ง `max_responses` เป็น 2 เพื่ออ่านการตอบกลับที่ไบต์เหล่านั้นไม่ได้ร้องขอ จากนั้นส่งคำขอธรรมดาด้วย `followup_raw_request_base64` บนการเชื่อมต่อเดียวกันและเปรียบเทียบรหัสสถานะทั้งสอง รองรับเฉพาะ HTTP/1.x | **`host`**, **`port`**, `tls`, `path`, `timeout_ms`, `headers` |
| `ogma_test_hpp` | ส่งรูปแบบ HTTP parameter pollution สำหรับพารามิเตอร์ที่ระบุ แล้วรายงานรูปแบบที่เปลี่ยนรหัสสถานะหรือเนื้อหาการตอบกลับ พร้อมข้อสรุป ใช้เมื่อส่วนประกอบหนึ่งตรวจพารามิเตอร์และอีกส่วนประกอบนำไปใช้ ทำให้ชื่อซ้ำอาจถูกตีความต่างกัน การตอบกลับที่เปลี่ยนแสดงว่าพารามิเตอร์ซ้ำถูกจัดการต่างกัน แต่เพียงอย่างเดียวไม่พิสูจน์การข้ามการควบคุม `headers` ส่งไปกับทุกคำขอ รวมคำขอพื้นฐาน ดังนั้น Cookie หรือ Authorization ในนั้นจึงทดสอบเอนด์พอยต์ที่ต้องมีข้อมูลรับรอง หากไม่มีส่วนหัว คำขอจะไม่มีคุกกี้และไม่มีการยืนยันตัวตน ดังนั้นรูปแบบที่ไม่เปลี่ยนผลบนเอนด์พอยต์ที่ต้องเข้าสู่ระบบจึงไม่พิสูจน์อะไร | **`host`**, **`port`**, **`params`**, `tls`, `path`, `base_value`, `test_value`, `timeout_ms`, `headers` |
| `ogma_list_nuclei_templates` | แสดงเทมเพลตของเครื่องมือสแกนแบบเทมเพลตที่รวมมากับ Ogma พร้อมระดับความรุนแรงและความหมายของผลที่ตรง อ่านก่อนใช้ `ogma_run_nuclei` เพื่อเลือกตามชื่อ | ไม่มี |
| `ogma_run_nuclei` | เรียกใช้เทมเพลตหนึ่งกับ URL เป้าหมายและรายงานผลที่ตรงทั้งหมด ไม่สร้างประเด็นที่ตรวจพบ ส่ง `template` สำหรับเทมเพลตที่รวมมา หรือ `template_yaml` สำหรับเอกสารของคุณเอง ไม่ส่งทั้งสองอย่าง ตัวแยกวิเคราะห์รองรับเพียงส่วนหนึ่งของ nuclei ได้แก่ ตัวจับคู่สถานะ คำ และนิพจน์ปกติ `matchers-condition` และตัวสกัดนิพจน์ปกติ ประเภทตัวจับคู่นอกส่วนนี้ รวมถึงนิพจน์ DSL จะถูกข้ามแทนการประเมิน และเครื่องมือไม่สามารถเรียกใช้เทมเพลตทั้งหมดที่ nuclei แบบติดตั้งเต็มรองรับ เทมเพลตตรวจการเปิดเผยและการกำหนดค่าผิดที่เครื่องมือสแกนแบบพาสซีฟมองไม่เห็น เช่น `.env` หรือ `.git/config` ที่เปิดเผย เอนด์พอยต์ actuator หรือหน้า server-status | **`target`**, `template`, `template_yaml` |
| `ogma_record_test_attempt` | บันทึกว่าได้ทดสอบเอนด์พอยต์ พารามิเตอร์ หรือเวกเตอร์หนึ่งและได้ผลอย่างไร เพื่อให้เซสชันภายหลังแยกทางตันออกจากจุดที่ยังไม่ทดสอบได้ เฉพาะ `no_signal` เท่านั้นที่ทำให้เลิกทดสอบจุดนั้น ส่วน `transport_error` หมายถึงการทดสอบไปไม่ถึงเป้าหมาย จึงไม่พิสูจน์อะไรเกี่ยวกับเวกเตอร์ | **`host`**, **`port`**, **`path`**, **`vector`**, **`outcome`**, **`reason`**, `parameter`, `payload_label`, `evidence_entry_id` |
| `ogma_list_test_attempts` | แสดงความพยายามทดสอบที่บันทึกไว้โดยเรียงใหม่ก่อน และจัดกลุ่มตามโฮสต์ พอร์ต พาธ พารามิเตอร์ และเวกเตอร์ พร้อมรายงานความพยายามที่ตัดสินสถานะของแต่ละจุด จำนวนความพยายาม และทดสอบจนหมดแล้วหรือไม่ จุดถือว่าทดสอบจนหมดเฉพาะเมื่อผลที่ตัดสินสถานะเป็น `no_signal` เท่านั้น และ `transport_error` ที่เกิดภายหลังไม่ล้างสถานะนั้น | `host`, `port`, `path`, `vector`, `limit` |

### การทดสอบ WebSocket โดยตรง {#direct-websocket-testing}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_websocket_connect` | เชื่อมต่อ URL `ws://` หรือ `wss://` ส่งข้อความ และส่งกลับบันทึกการสนทนา | **`url`**, **`messages`**, `headers`, `timeout_secs` |
| `ogma_ws_capture_history` | บันทึกการสนทนา WebSocket จาก `ogma_websocket_connect` เป็นประวัติ Ogma แบบมีโครงสร้างเพื่อตรวจสอบและเชื่อมโยงหลักฐาน | **`url`**, **`transcript`**, `label` |

### จับคู่และแทนที่ {#match-and-replace}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_list_match_replace_rules` | แสดงกฎจับคู่และแทนที่ | ไม่มี |
| `ogma_create_match_replace_rule` | สร้างกฎจับคู่และแทนที่ การดำเนินการเวิร์กโฟลว์ต้องมี workflow\_id | **`name`**, `enabled`, **`direction`**, **`operation`**, **`match_value`**, `match_mode`, `replace_value`, `filter_method`, `filter_host`, `filter_path`, `filter_httpql`, `position`, `workflow_id` |
| `ogma_toggle_match_replace_rule` | เปิดหรือปิดกฎจับคู่และแทนที่ | **`rule_id`**, **`enabled`** |
| `ogma_delete_match_replace_rule` | ลบกฎจับคู่และแทนที่ | **`rule_id`** |

### ตัวแปรสภาพแวดล้อม {#environment-variables}

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_list_env_vars` | แสดงชื่อตัวแปรสภาพแวดล้อมและข้อมูลเมตา | ไม่มี |
| `ogma_set_env_var` | สร้างหรืออัปเดตตัวแปรสภาพแวดล้อม | **`name`**, **`value`**, `scope`, `is_secret` |
| `ogma_get_env_var_value` | อ่านค่าตัวแปรสภาพแวดล้อมเมื่อได้รับอนุญาต | **`name`** |

### โครงการ บันทึกย่อ รายการงาน และเซสชัน {#projects-notes-todos-and-session}

การสลับโครงการมีผลต่อโครงการที่ใช้งานใน Ogma ไม่ใช่เฉพาะเอเจนต์ที่ส่งคำขอ ให้ประสานงานกับไคลเอนต์อื่น เครื่องมือบันทึกย่อและรายการงานด้านล่างเป็น **พื้นที่บันทึกชั่วคราวในหน่วยความจำของเซสชัน MCP** ไม่ใช่หน้า **บันทึกย่อ** ที่เก็บข้อมูลถาวรของแอป เก็บรายงานเซสชันไว้ก่อนตัดการเชื่อมต่อหรือเริ่ม MCP ใหม่

| เครื่องมือ | การทำงาน | อินพุต |
| --- | --- | --- |
| `ogma_list_projects` | แสดงโครงการ | ไม่มี |
| `ogma_switch_project` | สลับโครงการที่ใช้งานอยู่ | `project_id`, `project_name` |
| `ogma_start_pentest_session` | สร้างแผนประเมินแบบมีโครงสร้าง และโดยค่าเริ่มต้นสร้างบันทึกย่อหรือรายการตรวจสอบเฉพาะเซสชันสำหรับเป้าหมาย ไม่เรียกใช้การสแกนเต็มรูปแบบโดยอัตโนมัติ | **`target_url`**, `objective`, `mode`, `create_scratchpad` |
| `ogma_get_coverage_status` | สรุปความคืบหน้ารายการตรวจสอบและความครอบคลุมที่เหลือในเซสชันปัจจุบัน ไม่ใช่หลักฐานว่าทดสอบครบถ้วนแล้ว | ไม่มี |
| `ogma_recommend_skills` | แนะนำแนวทางทักษะที่มีในระบบจากเทคโนโลยี พาธ ส่วนหัวที่สังเกตพบ และบริบทอื่นที่ระบุ | `observations`, `paths`, `content_types`, `headers`, `technologies`, `response_snippets`, `notes` |
| `ogma_note_create` | สร้างบันทึกย่อ | **`title`**, **`content`**, `category` |
| `ogma_note_list` | แสดงบันทึกย่อ | `category` |
| `ogma_note_get` | อ่านบันทึกย่อหนึ่งรายการ | **`id`** |
| `ogma_note_update` | อัปเดตบันทึกย่อ | **`id`**, `title`, `content`, `category` |
| `ogma_note_delete` | ลบบันทึกย่อ | **`id`** |
| `ogma_todo_create` | สร้างสิ่งที่ต้องทำ | **`task`**, `priority` |
| `ogma_todo_list` | แสดงสิ่งที่ต้องทำ | `status`, `priority` |
| `ogma_todo_update` | อัปเดตสิ่งที่ต้องทำ | **`id`**, `task`, `priority`, `status` |
| `ogma_todo_mark_done` | ทำเครื่องหมายสิ่งที่ต้องทำว่าเสร็จแล้ว | **`id`** |
| `ogma_todo_delete` | ลบสิ่งที่ต้องทำ | **`id`** |
| `ogma_finish_session` | สรุปปิดเซสชัน MCP ด้วยบทสรุป วิธีการ และคำแนะนำ | **`summary`**, **`methodology`**, **`recommendations`** |
| `ogma_get_session_report` | อ่านรายงานเซสชัน MCP ปัจจุบัน | ไม่มี |

## ความสัมพันธ์กับ AI ในพื้นที่ทำงาน {#relationship-to-workspace-ai}

เซิร์ฟเวอร์ MCP เป็นเซิร์ฟเวอร์โปรโตคอลที่เครื่องมือภายนอกใช้งาน ส่วน AI ในพื้นที่ทำงานภายในแอปเป็นฟีเจอร์ Vue ในเบราว์เซอร์ที่เรียกผู้ให้บริการ AI ที่กำหนดค่าไว้โดยตรง และมีรายการเครื่องมือฟรอนต์เอนด์ของตนเอง ดู [AI ในพื้นที่ทำงาน](../guide/workspace-ai.md)
