---
url: https://docs.ogmabox.com/ar/reference/mcp-tools.md
description: >-
  مرجع شامل لـ MCP في Ogma يوضح أغراض الأدوات ومدخلاتها والموارد والقوالب
  التوجيهية والأذونات وتقسيم النتائج إلى صفحات ومعالجتها.
---

# موارد MCP وأدواته {#mcp-resources-and-tools}

خادم MCP في Ogma مخصص لعملاء MCP الخارجيين مثل Codex وClaude Code وCursor وغيرها من المضيفات التي تدعم Model Context Protocol. وهو منفصل عن مساعد الذكاء الاصطناعي داخل التطبيق.

يتيح 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` | إبلاغ الخادم باكتمال التهيئة؛ لا تتضمن هذه الإشعارة معرّف طلب. |
| `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
    }
  }
}
```

استخدم المعرّفات التي تُرجعها أدوات السرد والبحث بدلًا من تخمينها. تستخدم عمليات البحث في السجل والنتائج `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` | أحدث 20 إدخالًا في HTTP دون محتوى أجسام الرسائل. |
| `ogma://ws-history/recent` | أحدث 20 اتصال WebSocket. |
| `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://`. استبدل المعرّف في قالب المورد قبل قراءته. تُرجع الموارد نصًا في `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` | إرسال الطلبات عبر إعادة الإرسال والأتمتة، والطلبات المباشرة والدفعات، والتفاعل مع المتصفح والاستكشاف والزحف ومسارات المصادقة والاستقصاءات النشطة وWebSockets وتبديل المشروع. |
| `--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` لفحوص محدودة للقراءة فقط على المراجع المحفوظة؛ فهو لا يكرر الإجراءات. حدّث لقطات المتصفح قبل إعادة استخدام مراجع العناصر.

سجّل نقطة حفظ قبل تسليم العمل أو التوقف الطويل. يسجل نشاط الأدوات ما نُفّذ؛ ولا يستطيع استنتاج الاختبار التالي الذي تنوي إجراءه. دوّن الهدف والاستنتاجات ومواطن عدم اليقين والخطوات التالية بوضوح، وأشِر إلى الأدلة بمعرّفاتها بدلًا من نسخ محتويات استجابات كبيرة إلى نقطة الحفظ.

```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
  }
}
```

سجّل نقطة حفظ قبل تسليم العمل أو ضغط السياق. سجّل هدفك والعمل المنجز ومواطن عدم اليقين ومعرّفات الأدلة والخطوات التالية صراحةً: يخزّن سجل النشاط التلقائي المراجع والنتائج، لا حمولات الطلبات أو نيتك. تكون نتيجة الاستدعاء الذي بدأ دون أن تعود نتيجته المكتملة غير معروفة؛ افحص الحالة الحالية قبل إعادة محاولة الإرسال.

سجلات الاستعادة دائمة ومحددة بنطاق المشروع. عند استخدام `assessment_id`، تقتصر القراءات على ذلك التقييم؛ احذفه من قراءات الاستعادة لفحص النشاط على مستوى المشروع. تخدم الملاحظات والمهام المحلية للجلسة غرضًا مختلفًا، ولا ينبغي اعتبارها تسليمًا دائمًا للعمل.

| الأداة | وظيفتها | المدخلات |
| --- | --- | --- |
| `ogma_save_checkpoint` | إضافة سجل دائم لتسليم العمل. `next_steps` مصفوفة إجراءات صريحة؛ ويربط `references` الأسماء بالمعرّفات المحفوظة. لا ينفّذ الخطة. | **`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 واحد بالمعرّف، مع معاينات اختيارية لمحتوى الرسائل. | **`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` | جلب نتيجة واحدة بالمعرّف. | **`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، وشيفرة إثبات مفهوم، ومراجع. | **`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` | جلب مهمة تصدير واحدة بالمعرّف. | **`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` | جلب مسار عمل واحد بالمعرّف. | **`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` | سرد فئات فحوص الماسح الأمني النشط مع معرّفاتها وأوصافها، والإبلاغ عن عدد الفئات التي تنشئ نتائج. تُدرج الفئات غير المنفّذة، لكنها لا تُنتج أي نتيجة. | لا توجد |
| `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` | بدء مهمة استكشاف محتوى في الخلفية لمضيف ومنفذ ضمن النطاق؛ وإرجاع معرّف المهمة. | **`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، مع أسباب تعذر الوصول وخطوات إصلاحه. تحقق منه قبل الاعتماد على حمولة عمياء: يؤدي تعذر وصول الاستدعاء الراجع إلى نتيجة سلبية كاذبة تُفهم على أن الهدف غير معرّض للثغرة. | لا توجد |
| `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` | استبدال النص في عدة حقول إدخال أو مساحات نص أو عناصر قابلة لتحرير المحتوى باستدعاء واحد وبالترتيب المُقدّم؛ يستخدم كل حقل `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`، لإضافة عنوان إجراء مطلق لكل نموذج وطريقته ونوع محتواه الفعلي وحقوله المؤهلة للإرسال بقيمها الحالية وعناصر الإرسال و`token_candidates` الشبيهة برموز CSRF. تشير النماذج متعددة الأجزاء إلى `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` | سرد الملفات المستضافة في المشروع النشط ومعرّفاتها للرفع وفحص المخرجات. | `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` | تعيين حقل إدخال ملف من معرّفات ملفات 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` | كشف تنزيل في المتصفح قيد التنفيذ أو مكتمل. افحص معرّفه وحالته؛ لا يعني الكشف اكتماله أو أنه أحدث تنزيل. | `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` | كتابة قيمة لملف تعريف ارتباط أو للتخزين؛ ويقبل مرجع Ogma بالصيغة `env:VARIABLE_NAME`. | **`storage_type`**, **`key`**, **`value`**, `origin`, `domain`, `path`, `http_only`, `secure`, `expires` |
| `ogma_browser_storage_delete` | حذف ملف تعريف ارتباط أو مفتاح تخزين ويب. | **`storage_type`**, **`key`**, `origin` |
| `ogma_browser_permissions_set` | منح أذونات موقع محددة أو رفضها أو إعادة ضبطها لأصل. | **`origin`**, **`permissions`**, `setting`, `context_id` |
| `ogma_browser_permissions_reset` | مسح تجاوزات أذونات المتصفح. | `context_id` |
| `ogma_browser_permissions_get` | الاستعلام عن حالات أذونات موقع لأصل. | **`origin`**, `permissions` |

### تشخيص المتصفح والأدلة والاستعادة {#browser-diagnostics-evidence-and-recovery}

| الأداة | وظيفتها | المدخلات |
| --- | --- | --- |
| `ogma_browser_network_delta` | جلب إدخالات شبكة محدودة بعد مؤشر، مع الاحتفاظ بعناوين URL كاملة والتوقيت والأخطاء ومعرّفات سجل 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}

بخلاف الملفات التعريفية للمصادقة المخزّنة في الذاكرة، تُحفظ مسارات تسجيل الدخول بصورة دائمة لكل مشروع. تشير بيانات الاعتماد إلى معرّفات متغيرات البيئة في Ogma. يجب اجتياز جميع فحوص التحقق المضبوطة؛ فإرسال نموذج تسجيل الدخول وحده لا يعني نجاح المصادقة.

| الأداة | وظيفتها | المدخلات |
| --- | --- | --- |
| `ogma_auth_journey_record` | حفظ خطوات تسجيل الدخول ومراجع بيانات الاعتماد وفحوص التحقق ونقاط تحقق يدوية اختيارية للمصادقة متعددة العوامل. يعرّف هذا مسارًا؛ ولا يسجل النقرات العشوائية تلقائيًا. | **`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` | تنفيذ مسار تسجيل دخول محفوظ والتحقق من المصادقة وحفظ الجلسة المحدّثة؛ والتوقف مؤقتًا للمصادقة متعددة العوامل اليدوية عند ضبطها. | **`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` | جلب خريطة مصادر JavaScript وفحصها. | **`url`**, `base_url` |
| `ogma_proto_decode` | فك ترميز حمولات protobuf باستخدام المخططات المضبوطة. | **`data_b64`**, `content_type` |
| `ogma_decode_jwt` | فك ترميز ترويسات 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` | جلب ما يصل إلى 10 عناوين URL والبحث في محتوى الاستجابات عن تعبير نمطي مع سياق موجز. | **`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 وأخطاءه واجتياز المسارات وSSTI وتجاوز قيود الرفع واستبطان GraphQL والتخويل والتلاعب بـ 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` | إرسال استقصاءات عدم تزامن CL.TE وTE.CL عبر TCP خام والإبلاغ عن نتائج الاستقصاء والمرشحين وحكم نهائي. تُرسل الترويسات الممرّرة في `headers` مع طلب الاستقصاء فقط؛ أما الطلب اللاحق الذي يقيس عدم التزامن فيُرسل دائمًا دونها. الاستقصاء استدلالي وكثيرًا ما يخطئ في الاتجاهين: فالواجهة التي تغلق الاتصال بعد الطلب الأول، أو ترفض التأطير المتعارض برمز 400، تعطي نتيجة استقصاء مماثلة للواجهة المعرّضة للثغرة، والنتيجة السلبية لا تثبت السلامة. أكّد قبل الإبلاغ: أعد إرسال بايتات الاستقصاء باستخدام `ogma_http_request` في الوضع الخام، بتمريرها كـ `raw_request_base64` مع ضبط `max_responses` على 2 لقراءة الاستجابة التي لم تطلبها البايتات، ثم أرسل طلبًا عاديًا باستخدام `followup_raw_request_base64` على الاتصال نفسه وقارن رمزي الحالة. خاص بـ HTTP/1.x فقط. | **`host`**, **`port`**, `tls`, `path`, `timeout_ms`, `headers` |
| `ogma_test_hpp` | إرسال تنويعات تلويث معلمات HTTP للمعلمات المسمّاة، ثم الإبلاغ عن التنويع الذي غيّر حالة الاستجابة أو محتواها، مع حكم نهائي. استخدمه عندما يجري التحقق من معلمة في مكوّن واستهلاكها في آخر، فقد يُفسَّر الاسم المكرر بصورة مختلفة في كل منهما. تُظهر الاستجابة المتغيرة اختلافًا في معالجة المعلمات المكررة؛ لكنها لا تثبت بمفردها تجاوز آلية تحكم. يُرسل `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 أو صفحة حالة الخادم. | **`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 الحالية. | لا توجد |

## العلاقة مع ذكاء مساحة العمل {#relationship-to-workspace-ai}

خادم MCP هو خادم بروتوكول تستخدمه الأدوات الخارجية. أما ذكاء مساحة العمل داخل التطبيق فهو ميزة Vue تعمل في المتصفح، وتتصل مباشرةً بمزودي الذكاء الاصطناعي المضبوطين وتتيح قائمة أدوات خاصة بالواجهة الأمامية. راجع [ذكاء مساحة العمل](../guide/workspace-ai.md).
