---
url: https://docs.ogmabox.com/bn/reference/mcp-tools.md
description: >-
  টুলের উদ্দেশ্য ও ইনপুট, রিসোর্স, প্রম্পট, অনুমতি, পেজিনেশন এবং ফলাফল
  ব্যবস্থাপনাসহ Ogma MCP-এর সম্পূর্ণ রেফারেন্স।
---

# MCP রিসোর্স ও টুল {#mcp-resources-and-tools}

Ogma MCP সার্ভার Codex, Claude Code, Cursor এবং অন্যান্য Model Context Protocol হোস্টের মতো বাহ্যিক MCP ক্লায়েন্টের জন্য। এটি অ্যাপের অন্তর্নির্মিত AI সহকারী থেকে আলাদা।

MCP-তে চার ধরনের উপাদান আবিষ্কার করা যায়:

* **রিসোর্স**: নামযুক্ত পাঠযোগ্য লক্ষ্য, যা MCP ক্লায়েন্ট খুলতে পারে।
* **রিসোর্স টেমপ্লেট**: নির্দিষ্ট এন্ট্রি, নিরাপত্তা পরীক্ষার ফলাফল, কর্মপ্রবাহ, রান, এক্সপোর্ট বা পুনঃপ্রেরণ অবজেক্ট পড়ার প্যারামিটারযুক্ত লক্ষ্য।
* **টুল**: কল করা যায় এমন অ্যাকশন। কিছু শুধু পড়ার জন্য। কিছু ব্যবহারের জন্য সার্ভার চালুর ফ্ল্যাগ প্রয়োজন।
* **প্রম্পট**: পুনর্ব্যবহারযোগ্য নির্দেশনা, যা এজেন্টকে পরিদর্শন, পুনঃপরীক্ষা বা প্রতিবেদনের পরিকল্পনা করতে সাহায্য করে। প্রম্পট সংগ্রহ করলে তার টুলগুলো চালানো হয় না।

সংযোগের এন্ডপয়েন্ট ও ক্লায়েন্ট কনফিগারেশনের জন্য [MCP সেটআপ](../mcp-setup.md) দেখুন। শুরু থেকে শেষ পর্যন্ত মিথস্ক্রিয়ার ধাপের জন্য [MCP দিয়ে ব্রাউজার অটোমেশন](../guide/mcp-browser.md) দেখুন।

এই রেফারেন্সে বর্তমান বাস্তবায়ন অন্তর্ভুক্ত: **255টি টুল**, 17টি রিসোর্স, 9টি রিসোর্স টেমপ্লেট এবং 12টি প্রম্পট। সব টুল তালিকায় প্রকাশ করা হয়; কল করার সময়ও অনুমতির বিধিনিষেধ কার্যকর থাকে। পুরোনো ইনস্টল করা রিলিজে কম টুল থাকতে পারে। টুল বেছে নেওয়ার আগে চলমান সার্ভার থেকে ক্যাটালগ আবিষ্কার করুন।

## প্রোটোকল মেথড {#protocol-methods}

এগুলো JSON-RPC মেথডের নাম, আলাদা URL পাথ নয়। MCP ক্লায়েন্ট [HTTP বা stdio](../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 রুট নয়। MCP সংযোগে `tools/call` দিয়ে এগুলো কল করুন।

1. MCP ক্লায়েন্ট দিয়ে সংযোগ ইনিশিয়ালাইজ করুন।
2. `tools/list` কল করুন। Ogma **প্রতি পৃষ্ঠায় সর্বোচ্চ 40টি টুল** ফেরত দেয়। প্রতিবার পাওয়া `nextCursor`-কে `params.cursor` হিসেবে পাঠাতে থাকুন, যতক্ষণ না সেটি আর না থাকে; তা না হলে ক্লায়েন্টে অধিকাংশ ব্রাউজার টুল অনুপস্থিত থাকবে।
3. ফিল্ডের ধরন, enum মান, ডিফল্ট, সীমা এবং নেস্টেড অবজেক্টের বিন্যাস জানতে প্রতিটি টুলের `inputSchema` পড়ুন। টুলের নাম দেখে আর্গুমেন্ট বানিয়ে নেবেন না।
4. অ্যাকশন নেওয়ার আগে `ogma://mcp/permissions` ও `ogma://mcp/tool-guide` পড়ুন।
5. `arguments`-এ JSON অবজেক্ট দিয়ে নির্বাচিত টুল কল করুন।

ইনিশিয়ালাইজ করা সংযোগে 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 ব্রিজে এর পরিবর্তে `result`-এর JSON স্ট্রিং পার্স করুন; ওই ব্রিজ MCP ট্রান্সপোর্ট নয়।

REST ব্রিজে টুল ব্যর্থ হলে পার্স করা মান হয় `{ "error": "..." }`, যার স্ট্রিংয়ের ভেতরে টুলের সিরিয়ালাইজ করা ত্রুটির এনভেলপ থাকে। শুধু ব্রিজ থেকে HTTP সফলতার স্ট্যাটাস পাওয়া মানেই টুল সফল হয়েছে নয়।

| এনভেলপের ফিল্ড | অর্থ |
| --- | --- |
| `ok` | টুলের অপারেশন সফল হয়েছে কি না। MCP ফলাফলের `isError`-ও পরীক্ষা করুন। |
| `workflow_stage`, `summary` | অপারেশনের প্রসঙ্গ ও সংক্ষিপ্ত ব্যাখ্যা। |
| `evidence`, `hypotheses` | পর্যবেক্ষিত প্রমাণ এবং পৃথক, অনিশ্চিত ব্যাখ্যা। |
| `next_actions`, `use_next_tools` | প্রস্তাবিত পরবর্তী কাজ ও টুল রাউটিং। |
| `artifacts` | পাওয়া গেলে তৈরি হওয়া প্রমাণ বা ফাইলের রেফারেন্স। |
| `raw` | টুল-নির্দিষ্ট ডেটা। স্ট্রাকচার্ড পথে থাকে; সংক্ষিপ্ত টুলে শুধু `result_detail: "full"` দিলে অন্তর্ভুক্ত হয়। অবজেক্ট, অ্যারে বা টেক্সট হতে পারে; সর্বত্র একই গঠন ধরে নেবেন না। |

স্ক্রিনশট টুল একটি নেটিভ MCP ইমেজ ব্লকও ফেরত দেয়। JSON মেটাডেটায় base64 ইমেজ ডেটা আশা না করে ইমেজ ব্লক পড়ুন। ব্রাউজার স্ন্যাপশট ডিফল্টভাবে সংক্ষিপ্ত টেক্সট ট্রি ফেরত দেয়; `raw.elements`-এ স্ট্রাকচার্ড এলিমেন্ট পেতে `result_detail: "full"` দিন। ব্রাউজারের নেটওয়ার্ক ও কনসোল ডেল্টায় স্ট্রাকচার্ড এন্ট্রি থাকে।

সফল ভ্যালিডেশন কলের ডেটাতেও `valid: false` থাকতে পারে। টুল চালানো ব্যর্থ হলে `isError: true` ব্যবহৃত হয়; অবৈধ প্রোটোকল অনুরোধে JSON-RPC ত্রুটি ব্যবহৃত হয়। আবার চেষ্টা করার আগে ডায়াগনস্টিক পড়ুন। ব্যাকএন্ড ত্রুটিতে HTTP স্ট্যাটাস, এন্ডপয়েন্ট এবং সীমিত দৈর্ঘ্যের ডায়াগনস্টিক টেক্সট থাকতে পারে; `[truncated]` মানে ডায়াগনস্টিক ছোট করা হয়েছে, অপারেশন সফল হয়েছে নয়।

ফলাফলের এই রীতিগুলো MCP-এর [টুল ফলাফলের বিন্যাস](https://modelcontextprotocol.io/specification/2025-11-25/server/tools#tool-result) অনুসরণ করে।

## রিসোর্স {#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` ব্যবহার করুন, `ogma://`-এ HTTP GET নয়। রিসোর্স টেমপ্লেট পড়ার আগে তাতে ID বসান। রিসোর্স `contents`-এ টেক্সট ফেরত দেয়; ওপরের টুল-ফলাফলের এনভেলপ ব্যবহার করে না।

## প্রম্পট {#prompts}

`prompts/list` দিয়ে আবিষ্কার করুন, তারপর `name` ও `arguments` অবজেক্ট দিয়ে `prompts/get` ব্যবহার করুন। প্রম্পট আর্গুমেন্টের মান স্ট্রিং। নিচে আবশ্যিক আর্গুমেন্টগুলো গাঢ় করে দেখানো হয়েছে।

| প্রম্পট | আর্গুমেন্ট | যে প্রস্তুতি নেয় |
| --- | --- | --- |
| `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` | নতুন থেকে পুরোনো ক্রমে চেকপয়েন্ট ও টুল কার্যকলাপ পড়ে। সময় UTC Unix মিলিসেকেন্ডে। পেজিনেশনের জন্য ফেরত পাওয়া কার্সরের `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` এবং ব্রাউজার পরিবারের বাকিগুলো) এবং `http_history`, `findings`, `ws_history`-এর মতো সার্চ ডোমেইনের জন্য `ogma_search` ব্যবহার করুন। সমতুল্য নির্দিষ্ট টুলগুলোও পাওয়া যায়।

| টুল | যা করে | ইনপুট |
| --- | --- | --- |
| `ogma_find_tools` | কাজের কীওয়ার্ড দিয়ে পুরো ক্যাটালগ সার্চ করে। হুবহু টুলের নামের কোয়েরি তার সম্পূর্ণ কনট্র্যাক্ট ফেরত দেয়; কীওয়ার্ড মিলে যাওয়া টুলের কনট্র্যাক্টও পেতে `include_schema` দিন। সার্চের সব শব্দ মিলতে হবে, এবং ছাঁটা বা খালি ফলাফল কোনো সক্ষমতা অনুপস্থিত থাকার প্রমাণ নয়। ডিফল্ট সীমা 5, সর্বোচ্চ 10। | **`query`**, `limit`, `include_schema` |
| `ogma_call_tool` | নাম দিয়ে নিবন্ধিত Ogma টুল চালায়। `tool` ছাড়া অন্য ইনপুট নামযুক্ত টুলে পাঠানো হয়; সেই টুলের অনুমতিও কার্যকর থাকে। | **`tool`** |
| `ogma_browser` | অ্যাকশনের নাম দিয়ে এমবেডেড ব্রাউজার চালায়। অন্য যেকোনো `ogma_browser_*` টুলের নামের প্রত্যয় দিয়ে সেটিতে পৌঁছানো যায়, যেমন `ogma_browser_snapshot`-এর জন্য `action: "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` | HTTPQL দিয়ে HTTP ইতিহাস সার্চ করে এবং অনুরোধ/রেসপন্সের মেটাডেটা ফেরত দেয়। | `q`, `limit`, `offset`, `result_detail` |
| `ogma_get_http_entry` | ID দিয়ে একটি 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` | StreamQL দিয়ে WebSocket সংযোগের ইতিহাস সার্চ করে। | `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 এন্ট্রি থেকে নিরাপত্তা পরীক্ষার ফলাফল তৈরি করে। অনুরোধ ও রেসপন্সের হেডার ও বডি markdown HTTP প্রমাণ হিসেবে অন্তর্ভুক্ত করে, রেসপন্স বডি 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` | MCP টুলের মাধ্যমে সরাসরি HTTP অনুরোধ পাঠায়। `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` | আপলোড পরীক্ষার জন্য টেক্সট ও ফাইল ফিল্ডসহ multipart form-data অনুরোধ পাঠায়। | **`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 প্যাচ, regex প্রতিস্থাপন বা সম্পূর্ণ বডি প্রতিস্থাপন প্রয়োগ করে, তারপর ফরওয়ার্ড করে। | **`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, পাথ বা regex মিল নির্বাচন করে। পাথের নিয়ম হোস্টের জন্য `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 কলব্যাক হোস্টে পৌঁছানো যায় কি না জানায়; না গেলে কারণ ও সমাধানের ধাপও দেয়। ব্লাইন্ড পেলোডের ফলাফল বিশ্বাস করার আগে এটি পরীক্ষা করুন: পৌঁছানো যায় না এমন কলব্যাক ফলস নেগেটিভ তৈরি করে, যা দুর্বলতা নেই বলে মনে হয়। | নেই। |
| `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` | নেভিগেট করে এবং JavaScript চলার পর রেন্ডার করা DOM ও ঐচ্ছিক সিলেক্টরের ফলাফল ফেরত দেয়। | **`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` | বর্তমান পৃষ্ঠা থেকে ফর্ম নিষ্কাশন করে। প্রতিটি ফর্মের পরম অ্যাকশন URL, মেথড, কার্যকর কনটেন্ট টাইপ, বর্তমান মানসহ জমা দেওয়ার উপযোগী ফর্ম নিয়ন্ত্রণ, সাবমিট কন্ট্রোল ও CSRF-সদৃশ `token_candidates` যোগ করতে `include_templates`-কে `true` দিন (ডিফল্ট `false`)। 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` | যেকোনো ক্লায়েন্ট ফাইলসিস্টেম পাথ নয়, বিদ্যমান Ogma হোস্ট করা ফাইলের ID দিয়ে ফাইল ইনপুট নির্ধারণ করে। | **`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` | কুকি/স্টোরেজের মান লেখে; 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-এর নির্দিষ্ট ওয়েবসাইট অনুমতি দেয়, অস্বীকার করে বা রিসেট করে। | **`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, সময়, ত্রুটি এবং পাওয়া গেলে HTTP ইতিহাসের ID রেখে। | `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` | বর্তমান পৃষ্ঠা, কুকি, স্টোরেজ, meta ট্যাগ ও লুকানো ইনপুট থেকে 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 পরিবেশ ভেরিয়েবলের ID উল্লেখ করে। কনফিগার করা সব যাচাইকরণ পরীক্ষায় উত্তীর্ণ হতে হবে; শুধু লগইন ফর্ম সাবমিট হওয়া সফল অথেনটিকেশন নয়।

| টুল | যা করে | ইনপুট |
| --- | --- | --- |
| `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` | 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 entity ও hex ব্যবস্থাপনার মতো ক্রমানুসারী অপারেশন দিয়ে রেসপন্স বডি ডিকোড, ডিকমপ্রেস বা রূপান্তর করে। | **`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 থেকে সংগ্রহ করে এবং সংক্ষিপ্ত প্রসঙ্গসহ রেসপন্স বডিতে regex সার্চ করে। | **`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 introspection/authorization, JWT পরিবর্তন ও রেট লিমিট পরীক্ষা রয়েছে। | **`probe`**, **`request_id`**, `entry_id`, `target_param`, `profile_ids`, `values`, `origins`, `max_cases` |
| `ogma_test_race` | একটি অনুরোধ সমান্তরালে পাঠায় এবং সবচেয়ে বেশি দেখা স্ট্যাটাস, তা থেকে বিচ্যুত রেসপন্স ও সিদ্ধান্ত জানায়। একবার ব্যবহারযোগ্য অপারেশনে এটি ব্যবহার করুন: একবার সফল হওয়ার কথা এমন অপারেশনে একাধিক সফল রেসপন্স দেখায় যে তা অবিভাজ্য নয়। ধারণ করা এন্ট্রির জন্য `request_id` দিন, অথবা অনুরোধের বাকি অংশ স্পষ্ট করে `host` ও `port` দিন। একই সংযোগে প্রতিটি অনুরোধ সমান্তরাল স্ট্রিম হিসেবে (single-packet) পাঠাতে `http2` দিন; লক্ষ্য HTTP/2 ব্যবহার করলে সংকীর্ণ সময়সীমায় এই ধরন সফল হয়; ডিফল্টে প্রতি অনুরোধে একটি সংযোগ খোলা হয়। বিচ্যুতি শুধু সমান্তরালতা সামলানোর প্রমাণ, আর অভিন্ন ব্যাচ অবিভাজ্যতার প্রমাণ নয়, তাই অপারেশন যে অবস্থা বদলেছে তা থেকে নিশ্চিত করুন। | `request_id`, `entry_id`, `method`, `host`, `port`, `tls`, `path`, `query`, `params`, `headers`, `body_b64`, `concurrency`, `stagger_ms`, `http2` |
| `ogma_test_smuggling` | কাঁচা TCP দিয়ে CL.TE ও TE.CL ডিসিঙ্ক প্রোব পাঠায় এবং প্রোবের ফলাফল, সম্ভাব্য সমস্যা ও সিদ্ধান্ত জানায়। `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 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-এর একটি উপসেট: status, word ও regex matcher, `matchers-condition` এবং regex extractor। DSL এক্সপ্রেশনসহ উপসেটের বাইরের matcher-এর ধরন মূল্যায়ন না করে বাদ দেওয়া হয়, এবং পূর্ণ 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` | `ws://` বা `wss://` URL-এ সংযোগ করে, মেসেজ পাঠায় এবং ট্রান্সক্রিপ্ট ফেরত দেয়। | **`url`**, **`messages`**, `headers`, `timeout_secs` |
| `ogma_ws_capture_history` | পর্যালোচনা ও প্রমাণ সংযোগের জন্য `ogma_websocket_connect`-এর WebSocket ট্রান্সক্রিপ্ট স্ট্রাকচার্ড 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) দেখুন।
