---
url: https://docs.ogmabox.com/pl/reference/mcp-tools.md
description: >-
  Pełna dokumentacja referencyjna MCP Ogma obejmująca przeznaczenie i dane
  wejściowe narzędzi, zasoby, prompty, uprawnienia, paginację i obsługę wyników.
---

# Zasoby i narzędzia MCP {#mcp-resources-and-tools}

Serwer MCP Ogma jest przeznaczony dla zewnętrznych klientów MCP, takich jak Codex, Claude Code, Cursor i inne aplikacje obsługujące Model Context Protocol. Jest odrębny od asystenta AI w aplikacji.

MCP udostępnia cztery interfejsy wykrywania:

* **Zasoby**: nazwane cele odczytu, które klient MCP może otworzyć.
* **Szablony zasobów**: parametryzowane cele odczytu dla konkretnego wpisu, ustalenia, przepływu pracy, wykonania, eksportu lub obiektu ponownego wysyłania.
* **Narzędzia**: działania, które można wywoływać. Niektóre służą tylko do odczytu. Inne wymagają flag uruchomieniowych serwera.
* **Prompty**: instrukcje wielokrotnego użytku, które pomagają agentowi zaplanować analizę, ponowny test lub raport. Pobranie promptu nie wykonuje jego narzędzi.

Punkty końcowe połączeń i konfigurację klientów opisano w [Konfiguracji MCP](../mcp-setup.md). Pełną sekwencję interakcji znajdziesz w [Automatyzacji przeglądarki przez MCP](../guide/mcp-browser.md).

Ta dokumentacja obejmuje bieżącą implementację: **255 narzędzi**, 17 zasobów, 9 szablonów zasobów i 12 promptów. Wszystkie narzędzia są udostępniane na liście; przy ich wywołaniu nadal obowiązuje kontrola uprawnień. Starsze zainstalowane wydania mogą udostępniać mniej narzędzi. Przed wyborem narzędzia pobierz katalog z działającego serwera.

## Metody protokołu {#protocol-methods}

Są to nazwy metod JSON-RPC, a nie osobne ścieżki URL. Klient MCP obsługuje cykl życia połączenia przez [HTTP lub stdio](../mcp-setup.md#connection-addresses).

| Metoda | Zastosowanie |
| --- | --- |
| `initialize` | Negocjuje wersję protokołu i możliwości serwera oraz klienta. |
| `notifications/initialized` | Informuje serwer o zakończeniu inicjalizacji; to powiadomienie nie ma identyfikatora żądania. |
| `tools/list` | Wykrywa narzędzia i schematy ich argumentów, korzystając z kolejnych `nextCursor`. |
| `tools/call` | Wykonuje narzędzie przy użyciu `name` i `arguments`. |
| `resources/list` | Wyświetla nazwane zasoby tylko do odczytu. |
| `resources/templates/list` | Wyświetla szablony URI do odczytu poszczególnych obiektów. |
| `resources/read` | Odczytuje zasób przy użyciu jego pełnego `uri`. |
| `prompts/list` | Wykrywa prompty wielokrotnego użytku i ich argumenty. |
| `prompts/get` | Pobiera wiadomości promptu przy użyciu `name` i opcjonalnych argumentów tekstowych. |

## Wykrywanie i wywoływanie narzędzi {#discover-and-call-tools}

Nazwy takie jak `ogma_search_http_history` to identyfikatory narzędzi MCP, a nie osobne trasy HTTP. Wywołuj je przez `tools/call` w połączeniu MCP.

1. Zainicjalizuj połączenie za pomocą klienta MCP.
2. Wywołaj `tools/list`. Ogma zwraca do **40 narzędzi na stronę**. Przekazuj każdy zwrócony `nextCursor` jako `params.cursor`, aż przestanie być zwracany; w przeciwnym razie w kliencie zabraknie większości narzędzi przeglądarki.
3. Przeczytaj `inputSchema` każdego narzędzia, aby poznać typy pól, wartości wyliczeniowe, wartości domyślne, limity i formaty zagnieżdżonych obiektów. Nie wymyślaj argumentów na podstawie nazwy narzędzia.
4. Przed działaniem odczytaj `ogma://mcp/permissions` i `ogma://mcp/tool-guide`.
5. Wywołaj wybrane narzędzie z obiektem JSON w `arguments`.

Przykładowe żądanie JSON-RPC w zainicjalizowanym połączeniu:

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

Używaj identyfikatorów zwracanych przez narzędzia listowania i wyszukiwania zamiast je zgadywać. Wyszukiwanie historii i ustaleń używa `limit`/`offset`; narzędzia przyrostów przeglądarki używają `since_entry_id`. Żaden z nich nie jest nieprzezroczystym kursorem używanym przez `tools/list`.

## Odczytywanie wyników {#reading-results}

Preferuj `result.structuredContent`. Blok tekstowy zawiera tę samą otoczkę JSON dla klientów obsługujących wyłącznie wyniki tekstowe. Wyjątek: domyślny wynik `ogma_browser_snapshot` nie ma treści strukturalnej, a jego treść tekstowa jest czytelnym drzewem; użyj `result_detail: "full"`, aby uzyskać elementy strukturalne. W lokalnym moście REST zamiast tego sparsuj ciąg JSON w `result`; ten most nie jest transportem MCP.

W przypadku błędu narzędzia w moście REST sparsowana wartość to `{ "error": "..." }`, ze zserializowaną otoczką błędu narzędzia w tym ciągu. Sam pomyślny status HTTP mostu nie oznacza sukcesu narzędzia.

| Pole otoczki | Znaczenie |
| --- | --- |
| `ok` | Czy operacja narzędzia się powiodła. Sprawdź również `isError` wyniku MCP. |
| `workflow_stage`, `summary` | Kontekst operacji i krótkie wyjaśnienie. |
| `evidence`, `hypotheses` | Zaobserwowane dowody oraz odrębne, niepotwierdzone interpretacje. |
| `next_actions`, `use_next_tools` | Sugerowane dalsze działania i kierowanie do narzędzi. |
| `artifacts` | Odwołania do wygenerowanych dowodów lub plików, gdy są dostępne. |
| `raw` | Dane właściwe dla narzędzia. Obecne w wynikach strukturalnych; narzędzia zwracające zwięzłe wyniki dołączają je tylko przy `result_detail: "full"`. Może to być obiekt, tablica lub tekst; nie zakładaj jednego uniwersalnego formatu. |

Narzędzia zrzutów ekranu zwracają również natywny blok obrazu MCP. Odczytaj blok obrazu, zamiast oczekiwać danych obrazu base64 w metadanych JSON. Migawka przeglądarki domyślnie zwraca zwięzłe drzewo tekstowe; przekaż `result_detail: "full"`, aby uzyskać elementy strukturalne w `raw.elements`. Przyrosty sieci i konsoli przeglądarki zawierają wpisy strukturalne.

Pomyślne wywołanie walidacji może nadal zwrócić `valid: false` w danych. Błąd wykonania narzędzia używa `isError: true`; nieprawidłowe żądania protokołu używają błędów JSON-RPC. Przed ponowieniem przeczytaj diagnostykę. Błędy backendu mogą obejmować status HTTP, punkt końcowy i tekst diagnostyczny o ograniczonej długości; `[truncated]` oznacza skrócenie diagnostyki, a nie sukces operacji.

Te konwencje wyników używają [formatu wyników narzędzi](https://modelcontextprotocol.io/specification/2025-11-25/server/tools#tool-result) MCP.

## Zasoby {#resources}

| Zasób | Zwracane dane |
| --- | --- |
| `ogma://status` | Bieżąca kondycja i stan backendu. |
| `ogma://projects` | Wszystkie projekty Ogma. |
| `ogma://project/current` | Bieżący aktywny projekt. |
| `ogma://instances` | Instancje nasłuchu proxy. |
| `ogma://http-history/recent` | 20 najnowszych wpisów HTTP bez treści żądań i odpowiedzi. |
| `ogma://ws-history/recent` | 20 najnowszych połączeń WebSocket. |
| `ogma://findings` | Do 50 ustaleń. |
| `ogma://workflows` | Skonfigurowane przepływy pracy. |
| `ogma://workflow-runs/recent` | 20 najnowszych rekordów wykonań przepływów pracy. |
| `ogma://migration/workflows` | Raport zgodności migracji przepływów pracy. |
| `ogma://exports/recent` | 10 najnowszych zadań eksportu. |
| `ogma://capabilities` | Podsumowanie możliwości serwera MCP. |
| `ogma://mcp/permissions` | Bieżące flagi uprawnień MCP. |
| `ogma://mcp/tool-guide` | Kierowanie agenta do narzędzi, konwencje wyników i zalecane sekwencje przeglądarki oraz testowania. |
| `ogma://mcp/report-guide` | Etapy przygotowywania raportu, wymagania dowodowe i kontrole jakości. |
| `ogma://mcp/resume` | Trwały kontekst odzyskiwania dla aktywnego projektu: zapisane punkty kontrolne i ostatnia aktywność narzędzi. |
| `ogma://replay/sessions/recent` | 20 najnowszych sesji ponownego wysyłania. |

## Szablony zasobów {#resource-templates}

| Szablon | Zwracane dane |
| --- | --- |
| `ogma://http-history/{entry_id}` | Jeden wpis historii HTTP. |
| `ogma://ws-history/{connection_id}` | Jedno połączenie WebSocket. |
| `ogma://findings/{finding_id}` | Jedno ustalenie. |
| `ogma://workflows/{workflow_id}` | Jeden przepływ pracy. |
| `ogma://workflow-runs/{run_id}` | Jedno wykonanie przepływu pracy. |
| `ogma://exports/{export_id}` | Jedno zadanie eksportu. |
| `ogma://replay/sessions/{session_id}` | Jedna sesja ponownego wysyłania. |
| `ogma://replay/attempts/{session_id}/{attempt_id}` | Jedna próba ponownego wysyłania. |
| `ogma://workflow-safety/{workflow_id}` | Klasyfikacja bezpieczeństwa przepływu pracy i wymagane uprawnienia. |

Odczytuj te URI przez `resources/read`, a nie przez HTTP GET do `ogma://`. Przed odczytem podstaw identyfikator do szablonu zasobu. Zasoby zwracają tekst w `contents`; nie używają opisanej powyżej otoczki wyników narzędzi.

## Prompty {#prompts}

Wykryj je za pomocą `prompts/list`, a następnie użyj `prompts/get` z `name` i obiektem `arguments`. Wartości argumentów promptów są ciągami tekstowymi. Wymagane argumenty wyróżniono poniżej pogrubieniem.

| Prompt | Argumenty | Co przygotowuje |
| --- | --- | --- |
| `analyze_http_entry` | **`entry_id`** | Analizę jednej przechwyconej wymiany HTTP pod kątem problemów bezpieczeństwa potwierdzonych dowodami. |
| `summarize_project_security_state` | Brak | Podsumowanie ustaleń i priorytetów działań naprawczych dla aktywnego projektu. |
| `triage_findings` | `severity` | Uporządkowanie ustaleń według priorytetu, opcjonalnie w obrębie jednego poziomu wagi. |
| `investigate_suspicious_host` | **`host`** | Przegląd przechwyconego ruchu dla nazwy hosta lub adresu IP. |
| `review_workflow_migration_report` | Brak | Wyjaśnienie problemów zgodności przepływów pracy i kroków migracji. |
| `generate_retest_plan` | **`finding_id`** | Kroki odtworzenia i kryteria zaliczenia lub niezaliczenia ponownego testu ustalenia. |
| `create_finding_from_http_evidence` | **`entry_id`** | Analizę dowodów i instrukcje tworzenia ustalenia, gdy pozwalają na to uprawnienia. |
| `prepare_evidence_export` | **`export_kind`** | Plan eksportu `http_history`, `findings` lub `automate_results`. |
| `retest_http_entry_with_replay` | **`entry_id`** | Instrukcje sekwencji podglądu i potwierdzenia ponownego wysyłania. |
| `run_workflow_safely` | **`workflow_id`** | Analizę skutków ubocznych przepływu pracy, podgląd i uruchomienie, gdy pozwalają na to uprawnienia. |
| `pentest_web_target` | **`target_url`**, `objective` | Plan etapowej oceny celu objętego zgodą na testy, opartej na dowodach. |
| `solve_web_challenge` | **`challenge_url`**, `goal` | Plan analizy zadania webowego i zbierania dowodów. |

## Uprawnienia narzędzi {#tool-permissions}

Większość narzędzi analizy jest zawsze dostępna. Działania modyfikujące lub wychodzące są kontrolowane flagami uruchomieniowymi `ogma-mcp`:

| Flaga uprawnienia | Co umożliwia |
| --- | --- |
| `--allow-write-findings` | Zapis ustaleń i generowanie raportów; także współdzielone modyfikacje projektu, takie jak edycja zmiennych środowiskowych i Dopasowania i zamiany. |
| `--allow-export-data` | Tworzenie zadań eksportu. Odczyt metadanych istniejących eksportów i informacji o pobieraniu nie wymaga tej flagi. |
| `--allow-read-secrets` | Odczyt niezamaskowanych wartości zmiennych środowiskowych. To odrębne uprawnienie od modyfikowania zmiennych. |
| `--allow-send-requests` | Wysyłanie z Ponownego wysyłania i Automatyzacji, żądania bezpośrednie i zbiorowe, interakcję z przeglądarką, odkrywanie zasobów, przeszukiwanie witryn, scenariusze uwierzytelniania, aktywne sondy, WebSocket i przełączanie projektów. |
| `--allow-run-workflows` | Narzędzia podglądu, wykonywania i anulowania przepływów pracy. Wykonywanie automatyzacji korzysta zamiast tego z uprawnienia wysyłania. |
| `--allow-intercept-control` | Odczyt stanu i kolejki przechwytywania, modyfikację kolejki oraz sterowanie stanem przechwytywania. |

Uprawnienia są sprawdzane przy wywołaniu narzędzia; obecność narzędzia na liście nie oznacza, że jego działania są włączone. Narzędzia obserwacji przeglądarki mogą analizować już działającą przeglądarkę, ale sterowanie nią i zarządzanie jej kontekstami wymaga `allow_send_requests`. Scenariusze uwierzytelniania także wymagają tego uprawnienia, w tym wywołania listowania i weryfikacji. Notatki i zadania lokalne dla sesji nie wymagają uprawnienia zapisu projektu.

Nie ma limitów aktywności na minutę ani na sesję. Poszczególne narzędzia nadal egzekwują własne limity rozmiaru danych wejściowych i partii, limity czasu i kontrolę zakresu testów. Wykonanie przepływu pracy może wymagać dodatkowego uprawnienia wysyłania lub zapisu ustaleń zależnie od operacji przepływu. Zobacz [konfigurację i uprawnienia](../mcp-setup.md#permissions).

Wszystkie narzędzia są udostępniane niezależnie od uprawnień. Starsze flagi profili nie filtrują już listy narzędzi. Zobacz [Wykrywanie narzędzi i kierowanie wywołań](#tool-discovery-and-dispatch).

## Katalog narzędzi {#tool-catalog}

### Wznawianie po utracie kontekstu {#recovering-after-context-loss}

Po ponownym połączeniu lub utracie kontekstu rozmowy wywołaj `ogma_resume_session` przed rozpoczęciem kolejnej oceny bezpieczeństwa. Sprawdź aktywny projekt, ostatni punkt kontrolny i ostatnie wyniki narzędzi. Użyj `check_live: true` do ograniczonych kontroli zapisanych uchwytów tylko do odczytu; nie powtarza to działań. Odśwież migawki przeglądarki przed ponownym użyciem odwołań do elementów.

Zapisz punkt kontrolny przed przekazaniem pracy lub dłuższą przerwą. Dziennik aktywności narzędzi rejestruje wykonane działania; nie określa, jaki kolejny test zamierzasz przeprowadzić. Zapisuj cel, wnioski, niepewności i następne kroki wprost, a dowody wskazuj identyfikatorami zamiast kopiować duże treści odpowiedzi do punktu kontrolnego.

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

Zapisz punkt kontrolny przed przekazaniem pracy lub kompakcją kontekstu. Wprost zapisz cel, ukończoną pracę, niepewności, identyfikatory dowodów i następne kroki: automatyczny dziennik aktywności przechowuje uchwyty i wyniki, a nie ładunki żądań ani Twoje zamiary. Wywołanie rozpoczęte bez ukończonego wyniku ma nieznany rezultat; sprawdź bieżący stan przed ponowieniem wysyłania.

Rekordy odzyskiwania są trwałe i przypisane do projektu. Z `assessment_id` odczyty są ograniczone do tej oceny; pomiń go w odczytach odzyskiwania, aby sprawdzić aktywność całego projektu. Istniejące notatki i zadania lokalne dla sesji służą innemu celowi i nie należy mylić ich z trwałym przekazaniem kontekstu.

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_save_checkpoint` | Dopisuje trwały zapis przekazania kontekstu. `next_steps` jest tablicą jawnych działań; `references` mapuje nazwy na zapisane identyfikatory. Nie wykonuje planu. | **`objective`**, **`progress`**, **`next_steps`**, `uncertainties`, `references` |
| `ogma_resume_session` | Odczytuje aktywny projekt, najnowszy punkt kontrolny, ostatnią aktywność i wskazówki odzyskiwania. Opcjonalne kontrole na żywo sprawdzają zapisane uchwyty bez powtarzania działań. | `check_live` |
| `ogma_get_session_activity` | Odczytuje punkty kontrolne i aktywność narzędzi od najnowszych. Czasy są podawane w milisekundach od początku epoki Unix (UTC). Aby przejść do kolejnej strony, przekaż zarówno `before_ms`, jak i `before_id` ze zwróconego kursora. | `kind`, `id`, `since_ms`, `until_ms`, `before_ms`, `before_id`, `search`, `limit` |

Każdy wiersz objaśnia narzędzie i wymienia jego dane wejściowe najwyższego poziomu. **Pogrubione dane wejściowe są wymagane przez schemat**; pozostałe są opcjonalne. Niektóre narzędzia wymagają wyboru między danymi wejściowymi (na przykład źródła ponownego wysyłania lub celu kliknięcia); opisy i walidacja podczas wykonania wyjaśniają te kombinacje. Zagnieżdżone pola i dokładne typy znajdziesz w `inputSchema` działającego narzędzia.

Każde narzędzie przyjmuje także opcjonalny `assessment_id` (niepusty ciąg tekstowy, maksymalnie 200 znaków). Używaj go ponownie, aby zachować wspólny kontekst odzyskiwania dla jednej oceny bezpieczeństwa. Nie zmienia aktywnego projektu ani nie przyznaje uprawnień. Ten wspólny parametr nie jest powtarzany w tabelach poniżej.

### Wykrywanie narzędzi i kierowanie wywołań {#tool-discovery-and-dispatch}

Serwer udostępnia każde zarejestrowane narzędzie. Użyj narzędzi wykrywania możliwości i kontraktów, aby określić operację i sprawdzić jej dane wejściowe przed wywołaniem; nie trzeba zmieniać profilu, aby ją udostępnić. Zobacz [Konfigurację MCP](../mcp-setup.md#tool-discovery).

Używaj `ogma_browser` do działań wbudowanej przeglądarki (`snapshot`, `fill_input`, `fill_form`, `console_delta`, `network_delta` i pozostałych narzędzi rodziny przeglądarki) oraz `ogma_search` do dziedzin wyszukiwania takich jak `http_history`, `findings` i `ws_history`. Równoważne dedykowane narzędzia pozostają dostępne.

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_find_tools` | Przeszukuje cały katalog według słów kluczowych zadania. Zapytanie z dokładną nazwą narzędzia zwraca jego pełny kontrakt; `include_schema` żąda kontraktów także dla dopasowań słów kluczowych. Wszystkie wyszukiwane słowa muszą pasować, a ucięty lub pusty wynik nie dowodzi braku możliwości. Domyślny limit to 5, maksymalny 10. | **`query`**, `limit`, `include_schema` |
| `ogma_call_tool` | Uruchamia zarejestrowane narzędzie Ogma według nazwy. Dane wejściowe inne niż `tool` są przekazywane do wskazanego narzędzia; jego uprawnienia nadal obowiązują. | **`tool`** |
| `ogma_browser` | Steruje wbudowaną przeglądarką według nazwy działania. Każde inne narzędzie `ogma_browser_*` jest dostępne przez przyrostek nazwy, na przykład `action: "snapshot"` dla `ogma_browser_snapshot`. | **`action`**, `selector`, `tab_id`, `url`, `js`, `text`, `value`, `key`, `cookie`, `timeout_ms` |
| `ogma_search` | Przeszukuje dziedziny danych Ogma przez jeden punkt wejścia. Każde inne narzędzie `ogma_search_*` jest dostępne przez przyrostek nazwy. | **`domain`**, `q`, `limit`, `offset` |

### Historia HTTP i zapytania {#http-history-and-querying}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_search_http_history` | Przeszukuje historię HTTP za pomocą HTTPQL i zwraca metadane żądań i odpowiedzi. | `q`, `limit`, `offset`, `result_detail` |
| `ogma_get_http_entry` | Pobiera jeden wpis HTTP według identyfikatora, opcjonalnie z podglądami treści. | **`entry_id`**, `include_body_preview`, `result_detail` |
| `ogma_get_http_entry_body` | Pobiera pełną treść żądania lub odpowiedzi, bądź obu, dla wpisu HTTP. | **`entry_id`**, **`part`**, `search_pattern`, `result_detail` |
| `ogma_validate_httpql` | Weryfikuje wyrażenie HTTPQL. | **`query`** |
| `ogma_analyze_http_entry_security` | Analizuje jeden wpis HTTP pod kątem zachowań i dowodów istotnych dla bezpieczeństwa. | **`entry_id`** |
| `ogma_search_by_vulnerability_pattern` | Przeszukuje przechwycony ruch pod kątem wzorców związanych z podatnościami. | **`pattern_type`**, `limit` |

### WebSocket i SSE {#websocket-and-sse}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_search_ws_history` | Przeszukuje historię połączeń WebSocket za pomocą StreamQL. | `q`, `limit`, `offset` |
| `ogma_get_ws_messages` | Pobiera zapisane wiadomości jednego połączenia WebSocket. | **`connection_id`**, `limit`, `offset` |
| `ogma_get_ws_message` | Odczytuje jedną kompletną wiadomość bez skracania stosowanego w podglądach na liście; tekst jest w UTF-8, a ładunki binarne i sterujące w base64. | **`message_id`** |
| `ogma_validate_streamql` | Weryfikuje wyrażenie StreamQL. | **`query`** |
| `ogma_get_ws_messages_live` | Pobiera bieżące wiadomości WebSocket przechwycone przez instrumentację przeglądarki. | `host`, `limit` |
| `ogma_create_ws_replay_session` | Tworzy sesję ponownego wysyłania WebSocket. | **`ws_connection_id`** |
| `ogma_connect_ws_replay` | Nawiązuje połączenie dla sesji ponownego wysyłania WebSocket. | **`ws_session_id`** |
| `ogma_send_ws_replay_message` | Wysyła wiadomość przez sesję ponownego wysyłania WebSocket. | **`ws_session_id`**, **`payload`**, `message_type` |
| `ogma_list_ws_replay_sessions` | Wyświetla sesje ponownego wysyłania WebSocket. | `result_detail` |
| `ogma_get_ws_replay_messages` | Odczytuje transkrypcję sesji ponownego wysyłania WebSocket, a nie przechwyconą historię. Pomiń `cursor`, aby rozpocząć; przekazuj zwracany `next_cursor` i pobieraj kolejne strony, dopóki `has_more` wskazuje ich dostępność. | **`ws_session_id`**, `cursor`, `limit`, `result_detail` |
| `ogma_get_ws_replay_message` | Odczytuje jedną wiadomość ponownego wysyłania WebSocket bez skracania ładunku do podglądu; `payload_base64` oznacza bajty zakodowane w base64. | **`message_id`**, `result_detail` |
| `ogma_disconnect_ws_replay` | Rozłącza sesję ponownego wysyłania WebSocket, zachowując sesję i transkrypcję; anuluje też oczekujące połączenie. | **`ws_session_id`** |
| `ogma_browser_get_ws_frames` | Odczytuje ramki WebSocket przechwycone przez wbudowaną przeglądarkę. | `limit`, `connection_url`, `direction` |
| `ogma_browser_start_ws_capture` | Rozpoczyna przechwytywanie ramek WebSocket po stronie przeglądarki. | Brak. |
| `ogma_browser_send_ws_message` | Wysyła wiadomość WebSocket z kontekstu przeglądarki. | **`payload`**, `connection_url` |

### Ustalenia i dowody {#findings-and-evidence}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_search_findings` | Wyszukuje ustalenia według wagi, zgłaszającego, tekstu, limitu i przesunięcia. | `severity`, `reporter`, `q`, `limit`, `offset` |
| `ogma_get_finding` | Pobiera jedno ustalenie według identyfikatora. | **`finding_id`** |
| `ogma_preview_finding_from_evidence` | Pokazuje podgląd szkicu ustalenia z wpisu HTTP bez tworzenia go. | **`entry_id`**, `reporter` |
| `ogma_create_finding` | Tworzy ustalenie z metadanymi, tagami, poziomem pewności, działaniami naprawczymi i opcjonalnymi odnośnikami do dowodów. | **`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` | Aktualizuje istniejące ustalenie. | **`finding_id`**, **`title`**, `severity`, `status`, `description`, `reporter`, `tags`, `dedupe_key`, `confidence`, `remediation` |
| `ogma_add_finding_tag` | Dodaje tagi do ustalenia bez zastępowania istniejących. | **`finding_id`**, **`tags`** |
| `ogma_link_finding_evidence` | Dodaje do ustalenia dowody z HTTP, ponownego wysyłania, automatyzacji, przechwyconego WebSocket lub wiadomości ponownego wysyłania WS. Odnośniki uzupełniające nie zastępują głównego dowodu. | **`finding_id`**, `entry_id`, `replay_attempt_id`, `automate_result_id`, `ws_message_id`, `ws_replay_message_id` |
| `ogma_delete_finding` | Usuwa ustalenie. | **`finding_id`** |
| `ogma_create_finding_from_entry` | Tworzy ustalenie z przechwyconego wpisu HTTP. Osadza nagłówki i treści żądania oraz odpowiedzi jako dowód HTTP w Markdown, ucinając treść odpowiedzi do 3000 znaków. Dodaje ocenę CVSS z dostarczonego zestawienia składowych, CWE, kod PoC i odwołania. | **`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` | Podsumowuje dowody powiązane z ustaleniem. | **`finding_id`** |
| `ogma_record_finding_verification` | Zapisuje wynik niezależnego ponownego testu ustalenia: `verified`, `refuted` lub `inconclusive`. Obowiązuje najnowszy wynik, więc późniejsze obalenie zastępuje wcześniejsze potwierdzenie; narzędzie zwraca zapisany wiersz. | **`finding_id`**, **`state`**, **`method`**, **`reason`**, `evidence_entry_id`, `control_entry_id`, `canary_id` |
| `ogma_check_canary` | Tworzy token przy użyciu `label` i `purpose` lub ponownie sprawdza istniejący token przy użyciu `canary_id` bez tworzenia kolejnego. Wyszukuje pasujące wpisy w przechwyconym ruchu. Dopasowanie w treści odpowiedzi jest dowodem odczytu zwrotnego; dopasowanie w treści żądania pokazuje jedynie, że token wysłano. | **`canary_id`** lub **`label`** i **`purpose`**, `finding_id`, `hosted_path`, `limit` |
| `ogma_export_findings_report` | Tworzy eksport raportu ustaleń. | **`format`**, `title`, `summary`, `scope`, `tester`, `include_evidence` |

### Eksporty {#exports}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_preview_export_plan` | Pokazuje podgląd zawartości i formatu eksportu bez tworzenia zadania. | **`kind`**, **`format`**, `limit`, `q`, `severity`, `reporter` |
| `ogma_create_export_job` | Tworzy zadanie eksportu historii, wyników wyszukiwania, ustaleń lub wyników automatyzacji. | **`name`**, **`kind`**, **`format`**, `limit`, `offset`, `scope`, `q`, `severity`, `reporter`, `run_id` |
| `ogma_get_export_job` | Pobiera jedno zadanie eksportu według identyfikatora. | **`export_id`** |
| `ogma_list_export_jobs` | Wyświetla zadania eksportu. | `limit`, `offset` |
| `ogma_get_export_download_info` | Pobiera metadane pobierania ukończonego eksportu. | **`export_id`** |

### Ponowne wysyłanie i wysyłanie żądań {#replay-and-request-sending}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_preview_replay_send` | Pokazuje podgląd ponownego wysyłania i zwraca token potwierdzenia. | `http_entry_id`, `replay_session_id`, `method`, `path`, `query`, `body`, `result_detail` |
| `ogma_send_replay_request` | Wysyła żądanie ponownego wysyłania z tokenem potwierdzenia. | **`confirmation_token`**, **`request_hash`**, `result_detail` |
| `ogma_create_replay_session_from_history` | Tworzy sesję ponownego wysyłania z przechwyconego wpisu HTTP. | **`entry_id`**, `name`, `result_detail` |
| `ogma_create_replay_session_raw` | Tworzy sesję ponownego wysyłania z surowej definicji żądania. | `name`, **`host`**, **`port`**, `tls`, `method`, `path`, `headers`, `body` |
| `ogma_get_replay_session` | Pobiera metadane sesji ponownego wysyłania i stronicowaną listę prób. | **`session_id`**, `attempts_limit`, `attempts_offset`, `result_detail` |
| `ogma_get_replay_attempt` | Pobiera jedną próbę ponownego wysyłania. | **`session_id`**, **`attempt_id`**, `result_detail` |
| `ogma_list_replay_sessions` | Wyświetla sesje ponownego wysyłania. | `limit`, `offset`, `result_detail` |
| `ogma_create_replay_sequence` | Tworzy wieloetapową sekwencję ponownego wysyłania z istniejących sesji w kolejności wykonywania kroków; `collection_id` nakłada zmienne tej kolekcji podczas wykonania. | **`name`**, **`session_ids`**, `collection_id` |
| `ogma_run_replay_sequence` | Uruchamia zapisaną sekwencję ponownego wysyłania, wysyłając rzeczywisty ruch wychodzący. `plan` wymienia indeksy kroków w kolejności wykonania; wpisy mogą powtarzać, pomijać lub zmieniać kolejność kroków, a pominięcie `plan` wykonuje każdy zapisany krok raz, po kolei. Pusty `plan` jest odrzucany. | **`sequence_id`**, `plan` |
| `ogma_repeat_request` | Powtarza istniejące żądanie z opcjonalnymi zmianami. | **`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` | Ponownie wysyła przechwycone żądanie HTTP z nadpisaniem wybranych pól i zwraca odpowiedź oraz podsumowanie różnic. | **`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` | Wysyła bezpośrednie żądanie HTTP przez interfejs narzędzi MCP. Przy `raw_request_base64` parametr `max_responses` odczytuje kilka ramek odpowiedzi z tego samego połączenia zamiast zatrzymywać się na pierwszej, a `followup_raw_request_base64` wysyła żądanie tym samym połączeniem po odczycie pierwszej odpowiedzi; odpowiedź, której wysłane bajty nie żądały, pozwala potwierdzić desynchronizację żądań zamiast ją zgadywać. Oba parametry dotyczą wyłącznie trybu surowego. | **`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` | Wysyła partię żądań. | **`base_session_id`**, **`payloads`**, **`placeholder`**, `max_requests` |
| `ogma_fetch_url` | Pobiera adres URL i zwraca status odpowiedzi, nagłówki oraz podgląd treści. | **`url`**, `method`, `headers`, `body_b64`, `max_bytes` |
| `ogma_follow_redirect` | Pobiera adres URL, przechodzi łańcuch przekierowań i opisuje każdy krok. | **`url`**, `method`, `headers`, `body_b64`, `max_hops`, `timeout_secs` |
| `ogma_fuzz_parameter` | Zastępuje znacznik `{{FUZZ}}` wartościami z listy słów i grupuje odpowiedzi według statusu i rozmiaru. | **`url`**, `method`, `headers`, `body_template`, **`wordlist`**, `timeout_secs`, `stop_on_match` |
| `ogma_multipart_upload` | Wysyła żądania multipart form-data z polami tekstowymi i plikami do testowania przesyłania plików. | **`url`**, **`fields`**, `headers`, `timeout_secs` |
| `ogma_test_login` | Testuje punkt końcowy logowania przy użyciu dostarczonych lub domyślnych par danych logowania i przedstawia dowody. | **`url`**, `credentials`, `username_field`, `password_field`, `submit_selector`, `success_pattern`, `failure_pattern`, `max_attempts` |

### Przepływy pracy i Automatyzacja {#workflows-and-automate}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_search_workflows` | Wyświetla i filtruje przepływy pracy. | `workflow_type`, `enabled`, `limit`, `offset` |
| `ogma_get_workflow` | Pobiera jeden przepływ pracy według identyfikatora. | **`workflow_id`** |
| `ogma_get_workflow_run` | Pobiera jeden rekord wykonania przepływu pracy. | **`run_id`** |
| `ogma_validate_workflow_import` | Weryfikuje zgodność pakietu przepływów pracy z importem. | **`bundle_json`** |
| `ogma_get_workflow_safety` | Pobiera klasyfikację bezpieczeństwa i uprawnień przepływu pracy. | **`workflow_id`** |
| `ogma_preview_workflow_run` | Pokazuje podgląd wykonania przepływu pracy przed uruchomieniem. | **`workflow_id`**, `input`, `trigger_entry_id` |
| `ogma_run_workflow` | Uruchamia przepływ pracy. | **`confirmation_token`**, **`definition_hash`**, `input_hash`, `input` |
| `ogma_cancel_workflow_run` | Anuluje wykonanie przepływu pracy. | **`run_id`** |
| `ogma_list_automate_sessions` | Wyświetla sesje automatyzacji. | `limit`, `offset` |
| `ogma_get_automate_session` | Pobiera jedną sesję automatyzacji. | **`session_id`** |
| `ogma_create_automate_session` | Tworzy sesję automatyzacji z jednym punktem wstrzykiwania. `inject_into` wybiera go jako `query:<name>`, `header:<name>` lub `body`; domyślnie wybierany jest pierwszy parametr zapytania, a jeśli go nie ma — treść. | **`entry_id`**, `name`, **`payloads`**, `inject_into`, `placeholder_start`, `placeholder_end`, `worker_count`, `delay_ms` |
| `ogma_run_automate_session` | Uruchamia sesję automatyzacji. | **`session_id`** |
| `ogma_list_automate_runs` | Wyświetla wykonania automatyzacji. | **`session_id`**, `limit`, `offset` |
| `ogma_get_automate_run` | Pobiera jedno wykonanie automatyzacji. | **`run_id`** |
| `ogma_cancel_automate_run` | Anuluje wykonanie automatyzacji. | **`run_id`** |
| `ogma_list_automate_results` | Wyświetla wyniki automatyzacji. | **`run_id`**, `limit`, `offset`, `min_status`, `max_status` |
| `ogma_get_automate_result` | Pobiera jeden wynik automatyzacji. | **`run_id`**, **`seq`** |
| `ogma_load_skill` | Wczytuje wskazówki wbudowanych umiejętności MCP do kontekstu asystenta. | **`skills`** |

### Skaner {#scanner}

Uruchamianie skanów pasywnych lub aktywnych wymaga uprawnienia zapisu ustaleń, ponieważ skany mogą tworzyć ustalenia. Wyświetlanie reguł skanera i kategorii testów aktywnych go nie wymaga.

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_run_passive_scan` | Uruchamia testy skanera pasywnego dla jednego wpisu HTTP. | **`entry_id`** |
| `ogma_run_passive_scan_all` | Uruchamia testy skanera pasywnego w całej przechwyconej historii. | Brak. |
| `ogma_list_scanner_rules` | Wyświetla reguły wykrywania skanera. | Brak. |
| `ogma_list_active_checks` | Wyświetla kategorie testów skanera aktywnego z ich identyfikatorami i opisami oraz podaje, ile z nich tworzy ustalenia. Kategorie zaimplementowane jako atrapy są wymienione, ale nigdy nie tworzą ustalenia. | Brak. |
| `ogma_scan_active` | Uruchamia skaner aktywny, który wysyła ładunki dowodowe i tworzy ustalenia tylko dla klas podatności potwierdzonych na podstawie odpowiedzi. Przekaż `entry_id`, aby zeskanować jeden wpis, lub pomiń go, aby przeskanować najnowsze wpisy historii. Operacja jest długotrwała, więc jest udostępniana jako zadanie; ścieżka synchroniczna odpytuje zadanie do stanu końcowego i zwraca `job_id`, liczniki postępu i `findings_created`. Wymaga uprawnienia zapisu ustaleń. | `entry_id`, `checks`, `concurrency`, `delay_ms`, `scan_headers` |

### Przechwytywanie {#intercept}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_get_intercept_status` | Pobiera bieżący stan przechwytywania. | Brak. |
| `ogma_set_intercept_enabled` | Włącza lub wyłącza przechwytywanie. | `request_enabled`, `response_enabled`, `websocket_enabled` |
| `ogma_list_intercept_queue` | Wyświetla przechwycone elementy w kolejce. | Brak. |
| `ogma_get_intercept_item` | Pobiera jeden przechwycony element kolejki. | **`id`** |
| `ogma_forward_intercept_item` | Przekazuje przechwycony element, opcjonalnie zmodyfikowany. | **`id`**, `method`, `path`, `headers`, `body`, `status_override` |
| `ogma_drop_intercept_item` | Odrzuca przechwycony element. | **`id`** |
| `ogma_intercept_and_modify` | Czeka na bieżące przechwycone żądanie lub odpowiedź, stosuje poprawki JSON, zamiany wyrażeniami regularnymi lub pełne zastąpienie treści, a następnie przekazuje element. | **`direction`**, `host_pattern`, `path_pattern`, `wait_secs`, `json_patches`, `regex_replacements`, `body_b64`, `status_override`, `forward_unmatched` |

### Proxy, zakres testów i sieć {#proxy-scope-and-network}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_list_proxy_listeners` | Wyświetla nasłuchy proxy. | Brak. |
| `ogma_start_proxy_listener` | Uruchamia nasłuch proxy. | **`listener_id`** |
| `ogma_stop_proxy_listener` | Zatrzymuje nasłuch proxy. | **`listener_id`** |
| `ogma_list_scope_presets` | Wyświetla zestawy zakresów testów. | Brak. |
| `ogma_create_scope_preset` | Zapisuje zestaw zakresu testów bez aktywowania go. Wymaga uprawnienia wysyłania. Każda reguła wymaga `pattern` i `include`; opcjonalny `rule_type` wybiera dopasowanie hosta, CIDR, ścieżki lub wyrażenia regularnego. Reguły ścieżki używają `pattern` dla hosta i `path_pattern` dla ścieżki. Aktywuj zwrócony zestaw osobno za pomocą `ogma_set_active_scope`. | **`name`**, **`rules`**, `httpql_expression` |
| `ogma_get_active_scope` | Pobiera aktywny zakres testów. | Brak. |
| `ogma_set_active_scope` | Ustawia aktywny zakres testów. | `preset_id` |
| `ogma_local_ips` | Wyświetla lokalne adresy IP przydatne dla nasłuchów i połączeń zwrotnych. | Brak. |
| `ogma_get_tls_info` | Pobiera informacje TLS dla celu lub przechwyconego połączenia. | **`host`**, `port` |

### Mapa witryny, punkty końcowe i OAST {#sitemap-endpoints-and-oast}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_get_sitemap` | Pobiera przechwyconą mapę witryny. | `host`, `show_api_only` |
| `ogma_get_sitemap_parameters` | Pobiera parametry odkryte dla jednej ścieżki mapy witryny. | **`host`**, **`port`**, **`path`** |
| `ogma_list_extracted_endpoints` | Wyświetla punkty końcowe wyodrębnione z ruchu i treści frontendu. | `limit`, `offset` |
| `ogma_discovery_start` | Uruchamia w tle zadanie odkrywania zasobów dla hosta i portu w zakresie testów; zwraca identyfikator zadania. | **`host`**, **`port`**, `tls`, `base_path`, `config` |
| `ogma_discovery_list` | Wyświetla zadania odkrywania i ich postęp w aktywnym projekcie. | Brak. |
| `ogma_discovery_get` | Pobiera stan zadania odkrywania i odkryte wyniki. | **`job_id`** |
| `ogma_discovery_cancel` | Żąda anulowania działającego zadania odkrywania. | **`job_id`** |
| `ogma_import_openapi_spec` | Importuje specyfikację OpenAPI, aby wstępnie utworzyć punkty końcowe i struktury żądań. | **`spec_content`**, `base_url`, `collection_name` |
| `ogma_get_oast_config` | Pobiera konfigurację nasłuchów OAST. | Brak. |
| `ogma_get_oast_reachability` | Informuje, czy skonfigurowany host połączeń zwrotnych OAST jest osiągalny z celu, podając przyczyny nieosiągalności i kroki naprawcze. Sprawdź to przed zaufaniem ślepemu ładunkowi: nieosiągalne połączenie zwrotne daje fałszywie ujemny wynik, odczytywany jako brak podatności. | Brak. |
| `ogma_list_oast_interactions` | Wyświetla interakcje OAST. Backend stosuje każdy filtr przed podziałem wyników na strony, więc łączna liczba obejmuje wszystkie dopasowania, a nie tylko liczbę wpisów na stronie; zawężenie do jednej etykiety tokena lub jednego adresu źródłowego nigdy nie ukrywa pasującego połączenia zwrotnego dalej w strumieniu. `token_label` oznacza punkt wstrzykiwania, który przenosił token: nazwę parametru zapytania, nazwę nagłówka lub `body`. Etykiety są przechowywane w pamięci wraz z tokenami, więc etykieta tokena, który został już usunięty ze względu na wiek, nie dopasowuje niczego zamiast zwracać nieaktualne wiersze. | `limit`, `offset`, `token_id`, `token_label`, `protocol`, `source_ip`, `since` |

### Adnotacje historii {#history-annotation}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_set_entry_color` | Ustawia etykietę koloru wpisu historii. | **`entry_id`**, **`color`** |
| `ogma_add_entry_tag` | Dodaje tag do wpisu historii. | **`entry_id`**, **`tag`** |
| `ogma_remove_entry_tag` | Usuwa tag z wpisu historii. | **`entry_id`**, **`tag`** |

### Sterowanie przeglądarką {#browser-control}

Wybór między migawkami, selektorami i zrzutami ekranu opisano w [przewodniku przeglądarki](../guide/mcp-browser.md). Nie zakładaj, że każde narzędzie przeglądarki przyjmuje `tab_id` lub `element_ref`; używaj tylko danych wejściowych wymienionych dla danego narzędzia.

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_browser_launch` | Uruchamia przeglądarkę Ogma. | `proxy_port` |
| `ogma_browser_navigate` | Przechodzi w przeglądarce do adresu URL. | **`url`**, `tab_id`, `wait_for_load`, `timeout_ms`, `result_detail` |
| `ogma_browser_get_dom` | Przechodzi do strony i zwraca wyrenderowany DOM oraz opcjonalne wyniki selektorów po wykonaniu JavaScriptu. | **`url`**, `wait_secs`, `selectors`, `js_eval`, `include_full_html` |
| `ogma_browser_screenshot` | Rejestruje stan strony przeglądarki. | `tab_id`, `result_detail` |
| `ogma_browser_execute_js` | Wykonuje JavaScript w przeglądarce. | **`script`**, `tab_id` |
| `ogma_browser_get_source` | Pobiera kod źródłowy DOM bieżącej strony. | `tab_id`, `format`, `max_chars` |
| `ogma_browser_get_cookies` | Pobiera ciasteczka przeglądarki. | `tab_id` |
| `ogma_browser_set_cookie` | Ustawia ciasteczko przeglądarki. | **`name`**, **`value`**, `domain`, `path`, `http_only`, `secure` |
| `ogma_browser_new_tab` | Otwiera nową kartę przeglądarki. | `url` |
| `ogma_browser_close_tab` | Zamyka kartę przeglądarki. | `tab_id` |
| `ogma_browser_get_tabs` | Wyświetla karty przeglądarki. | `result_detail` |
| `ogma_browser_click` | Klika element wskazany przez `element_ref` z migawki lub punkt o jawnych współrzędnych `x` i `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` | Wpisuje tekst w przeglądarce. | **`text`**, `tab_id`, `snapshot_id` |
| `ogma_browser_fill_input` | Ustawia wartość pola wejściowego przy użyciu dokładnie jednego selektora CSS `selector` lub odwołania `element_ref` z migawki; pusta wartość czyści pole. Nie wysyła formularza. | **`selector`**, `value`, `tab_id`, **`element_ref`**, `snapshot_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_fill_form` | Zastępuje tekst w kilku polach wejściowych, polach tekstowych lub elementach contenteditable jednym wywołaniem, w podanej kolejności; każde pole używa dokładnie jednego `element_ref` lub `selector` oraz `value`. Zatrzymuje się przy pierwszym błędzie i nie wysyła formularza. | **`fields`**, `snapshot_id`, `tab_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_click_selector` | Klika element wskazany selektorem. | **`selector`**, `tab_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_submit_form` | Wysyła formularz. | `selector`, `tab_id`, `expect`, `observation`, `result_detail` |
| `ogma_browser_get_page_links` | Wyodrębnia odnośniki z bieżącej strony. | `tab_id` |
| `ogma_browser_get_page_forms` | Wyodrębnia formularze z bieżącej strony. Ustaw `include_templates` na `true` (domyślnie `false`), aby dodać bezwzględny adres URL działania każdego formularza, metodę, rzeczywisty typ treści, pola uwzględniane przy wysyłaniu z bieżącymi wartościami, kontrolki wysyłania i `token_candidates` przypominające CSRF. Formularze multipart wskazują `ogma_multipart_upload` zamiast wygenerowanej treści. Wymaga uprawnienia `send_requests`. | `tab_id`, `include_templates` |
| `ogma_browser_form_to_replay` | Tworzy sesję ponownego wysyłania z formularza na bieżącej stronie, odczytując aktualne wartości pól i ciasteczka przeglądarki w tej chwili, z nagłówkami Origin i Referer wyprowadzonymi ze strony. Nie wysyła żądania. | **`form_selector`**, `tab_id`, `name` |
| `ogma_browser_scroll` | Przewija bieżącą stronę. | `selector`, `x`, `y`, `tab_id` |
| `ogma_browser_wait_for_selector` | Czeka na element pasujący do selektora. | **`selector`**, `timeout_ms`, `tab_id`, `snapshot_id` |
| `ogma_browser_get_network_log` | Pobiera zdarzenia sieciowe przeglądarki. | `host`, `since_ms`, `limit` |
| `ogma_browser_go_back` | Przechodzi wstecz w historii przeglądarki. | `tab_id`, `snapshot_id` |
| `ogma_browser_go_forward` | Przechodzi naprzód w historii przeglądarki. | `tab_id`, `snapshot_id` |
| `ogma_browser_reload` | Przeładowuje stronę. | `tab_id`, `snapshot_id` |
| `ogma_browser_find_text` | Wyszukuje tekst na bieżącej stronie. | **`text`**, `tab_id`, `snapshot_id` |
| `ogma_browser_clear_data` | Czyści dane przeglądarki. | `types` |
| `ogma_crawl_site` | Przeszukuje cel przez wbudowaną przeglądarkę w ramach aktywnego zakresu testów i zwraca dane o pokryciu. | **`start_url`**, `max_pages`, `max_depth`, `wait_ms`, `tab_id` |

### Elementy przeglądarki i oczekiwanie {#browser-elements-and-waits}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_browser_snapshot` | Odczytuje zwięzłe semantyczne drzewo strony z odwołaniami do elementów i stanem; `result_detail: "full"` zwraca zamiast tego otoczkę strukturalną z elementami w `raw.elements`. Można zażądać przyrostu względem poprzedniej migawki. | `tab_id`, `previous_snapshot_id`, `changes_only`, `focus_ref`, `text`, `max_elements`, `max_text_length`, `include_hidden`, `max_depth`, `result_detail` |
| `ogma_browser_hover` | Najeżdża na wskazany element i opisuje nowo widoczne menu lub podpowiedzi. | **`element_ref`**, `snapshot_id`, `offset_x`, `offset_y`, `modifiers`, `timeout_ms`, `tab_id` |
| `ogma_browser_select_option` | Wybiera opcje listy rozwijanej według wartości, etykiety lub indeksu i zwraca wybrane wartości. | **`element_ref`**, `snapshot_id`, **`values`**, `match_mode`, `allow_first_match`, `timeout_ms`, `tab_id` |
| `ogma_browser_check` | Jawnie ustawia stan pola wyboru lub przycisku opcji zamiast przełączać go bez sprawdzania. | **`element_ref`**, `snapshot_id`, `checked`, `timeout_ms`, `tab_id` |
| `ogma_browser_press_key` | Wysyła klawisz lub kombinację klawiszy do aktywnej strony lub wskazanego elementu. | **`key`**, `element_ref`, `snapshot_id`, `modifiers`, `repeat`, `delay_ms`, `tab_id` |
| `ogma_browser_focus` | Ustawia fokus na wskazanym elemencie i opisuje obsługiwane przez niego sposoby wprowadzania danych. | **`element_ref`**, `snapshot_id`, `tab_id` |
| `ogma_browser_blur` | Usuwa fokus z obecnie aktywnego elementu. | `tab_id`, `snapshot_id` |
| `ogma_browser_drag_and_drop` | Przeciąga jeden wskazany element na drugi. | **`source_ref`**, **`target_ref`**, `snapshot_id`, `steps`, `tab_id` |
| `ogma_browser_scroll_to` | Przewija do elementu, pozycji na stronie lub wewnątrz wskazanego przewijalnego kontenera. | `target`, `element_ref`, `snapshot_id`, `container_ref`, `direction`, `amount`, `behavior`, `timeout_ms`, `tab_id` |
| `ogma_browser_wait_for` | Czeka na warunek dotyczący elementu, tekstu, adresu URL, nawigacji, okna dialogowego lub stabilności strony; w razie potrzeby obsługuje jawną pauzę. | **`condition`**, `target`, `timeout_ms`, `stability_ms`, `tab_id`, `snapshot_id`, `result_detail` |
| `ogma_browser_handle_dialog` | Akceptuje lub odrzuca okno dialogowe JavaScript, z opcjonalnym tekstem odpowiedzi i sprawdzeniem oczekiwanego okna. | **`action`**, `prompt_text`, `expected_type`, `expected_message`, `tab_id`, `snapshot_id` |
| `ogma_browser_dialog_status` | Informuje o oczekującym oknie dialogowym JavaScript bez zamykania go. | Brak. |

### Pliki przeglądarki, wyskakujące okna i pobieranie {#browser-files-popups-and-downloads}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_list_hosted_files` | Wyświetla udostępniane pliki aktywnego projektu i ich identyfikatory do przesyłania oraz analizy artefaktów. | `limit`, `offset` |
| `ogma_artifact_read_range` | Odczytuje ograniczony zakres bajtów udostępnianego pliku zamiast zwracać cały plik. | **`artifact_id`**, `offset`, `length` |
| `ogma_artifact_search` | Przeszukuje ograniczony zakres udostępnianego pliku UTF-8 pod kątem dosłownego tekstu i zwraca pasujące przesunięcia bajtowe. | **`artifact_id`**, **`query`**, `offset`, `max_bytes`, `max_matches` |
| `ogma_browser_file_upload` | Ustawia pole plikowe na podstawie istniejących identyfikatorów udostępnianych plików Ogma, a nie dowolnych ścieżek systemu plików klienta. | **`element_ref`**, `snapshot_id`, **`artifact_ids`**, `tab_id` |
| `ogma_browser_wait_for_popup` | Przygotowuje wykrywanie wyskakujących okien przed działaniem, czeka na takie okno lub sprawdza stan wykrywania. | **`action`**, `timeout_ms`, `switch_to_new_tab` |
| `ogma_browser_download_wait` | Wykrywa trwające lub ukończone pobieranie w przeglądarce. Sprawdź jego identyfikator i stan; wykrycie nie oznacza ukończenia ani tego, że jest to najnowsze pobieranie. | `timeout_ms` |
| `ogma_browser_download_get` | Analizuje jedno pobieranie i zapisuje ukończoną zawartość jako artefakt, gdy jest dostępna. | **`download_id`** |
| `ogma_browser_download_status` | Wyświetla pobierania przeglądarki i ich bieżący postęp lub stan. | Brak. |

### Tożsamości, pamięć i uprawnienia przeglądarki {#browser-identities-storage-and-permissions}

Poniższe narzędzia uprawnień przeglądarki kontrolują uprawnienia witryn, takie jak dostęp do kamery czy geolokalizacji. Nie zmieniają uprawnień narzędzi serwera MCP.

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_browser_context_create` | Tworzy odizolowaną tożsamość przeglądarki i początkową kartę; zwraca `context_id` i `tab_id`. | `label`, `auth_profile_id`, `initial_url`, `retain_on_close` |
| `ogma_browser_context_clone` | Tworzy czysty kontekst lub kopiuje ciasteczka kontekstu źródłowego przy `clone_mode: authenticated`; nie jest pełną kopią pamięci przeglądarki. | **`context_id`**, `clone_mode`, `label` |
| `ogma_browser_context_close` | Zamyka kontekst i jego karty, czyszcząc pamięć, chyba że przy tworzeniu zażądano zachowania danych. | **`context_id`** |
| `ogma_browser_context_list` | Wyświetla konteksty przeglądarki i ich stan. | Brak. |
| `ogma_browser_auth_state_capture` | Przechwytuje ciasteczka i pamięć webową jako nazwany stan uwierzytelniania przechowywany w pamięci; zwraca metadane z ukrytymi danymi wrażliwymi. | **`name`**, `tab_id`, `context_id`, `role`, `url` |
| `ogma_browser_auth_state_apply` | Przywraca przechwycony stan uwierzytelniania; metadane wygaśnięcia nie dowodzą, że serwer akceptuje sesję. | **`auth_state_id`**, `tab_id`, `context_id`, `url` |
| `ogma_browser_auth_state_list` | Wyświetla przechwycone stany uwierzytelniania bez pełnych tajnych wartości. | Brak. |
| `ogma_browser_auth_state_delete` | Usuwa jeden przechwycony stan uwierzytelniania. | **`auth_state_id`** |
| `ogma_browser_storage_list` | Wyświetla ciasteczka i wpisy pamięci webowej ze skróconymi podglądami wartości. | `origin`, `storage_type` |
| `ogma_browser_storage_get` | Analizuje jedno ciasteczko lub klucz pamięci ze skróconym podglądem wartości. | **`storage_type`**, **`key`**, `origin` |
| `ogma_browser_storage_set` | Zapisuje wartość ciasteczka lub pamięci; przyjmuje odwołanie Ogma `env:VARIABLE_NAME`. | **`storage_type`**, **`key`**, **`value`**, `origin`, `domain`, `path`, `http_only`, `secure`, `expires` |
| `ogma_browser_storage_delete` | Usuwa jedno ciasteczko lub klucz pamięci webowej. | **`storage_type`**, **`key`**, `origin` |
| `ogma_browser_permissions_set` | Przyznaje wskazane uprawnienia witryny dla originu, blokuje je lub resetuje ich ustawienia. | **`origin`**, **`permissions`**, `setting`, `context_id` |
| `ogma_browser_permissions_reset` | Czyści nadpisane uprawnienia przeglądarki. | `context_id` |
| `ogma_browser_permissions_get` | Sprawdza stany uprawnień witryny dla originu. | **`origin`**, `permissions` |

### Diagnostyka przeglądarki, dowody i odzyskiwanie {#browser-diagnostics-evidence-and-recovery}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_browser_network_delta` | Pobiera ograniczoną liczbę wpisów sieciowych po kursorze, zachowując pełne adresy URL, czasy, błędy i identyfikatory Historii HTTP, gdy są dostępne. | `since_entry_id`, `resource_types`, `status_filter`, `failed_only`, `max_entries` |
| `ogma_browser_console_delta` | Pobiera nowe wpisy konsoli, w tym źródłowy adres URL, wiersz i kolumnę, gdy przeglądarka je udostępnia. | `since_entry_id`, `levels`, `max_entries` |
| `ogma_browser_action_correlation` | Pobiera ruch i zdarzenia powiązane z oknem czasowym działania lub wyświetla ostatnie działania. Sama zbieżność czasowa nie dowodzi związku przyczynowego. | `browser_action_id`, `limit` |
| `ogma_browser_snapshot_save` | Archiwizuje bieżącą migawkę do późniejszego porównania; archiwum zachowuje do 20 migawek. | `label` |
| `ogma_browser_page_state_compare` | Porównuje dwie zarchiwizowane migawki i opisuje różnice elementów i stanu, opcjonalnie ignorując wartości podlegające częstym zmianom i role. | **`snapshot_id_a`**, **`snapshot_id_b`**, `ignore_volatile`, `ignore_roles` |
| `ogma_browser_trace_start` | Rozpoczyna lekki zapis śladu działań; `detailed` dodaje odwołania do konsoli i sieci. | `level`, `label`, `context_id` |
| `ogma_browser_trace_stop` | Zatrzymuje zapis śladu i zachowuje jego zdarzenia w pamięci. | **`trace_id`** |
| `ogma_browser_trace_export` | Zapisuje zatrzymany ślad jako artefakt udostępnianego pliku JSON w aktywnym projekcie. | **`trace_id`** |
| `ogma_browser_trace_list` | Wyświetla ślady i ich stan rejestrowania lub eksportu. | Brak. |
| `ogma_browser_trace_note` | Dopisuje notatkę do wszystkich obecnie rejestrowanych śladów. | **`note`** |
| `ogma_browser_human_takeover_start` | Wstrzymuje działania agenta w przeglądarce na czas ręcznego punktu kontrolnego, z ograniczonym czasem oczekiwania. | `reason`, `context_id`, `tab_id`, `timeout_ms` |
| `ogma_browser_human_takeover_complete` | Zwraca sterowanie po ręcznej interakcji i odświeża migawkę strony. | **`takeover_id`** |
| `ogma_browser_human_takeover_status` | Sprawdza, czy ręczne sterowanie jest aktywne, i podaje pozostały czas. | Brak. |
| `ogma_browser_health` | Informuje o kondycji mostu debuggera oraz ostatnich awariach i rozłączeniach. | Brak. |
| `ogma_browser_recover` | Próbuje przywrócić most, domyślnie zachowując dowody; może zwrócić `relaunch_required`. | `preserve_evidence` |

### Testowanie uwierzytelniania i autoryzacji {#authentication-and-authorization-testing}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_auth_capture_profile` | Przechwytuje ciasteczka, pamięć, wykryte tokeny uwierzytelniania i kandydatów CSRF z wbudowanej przeglądarki. | **`name`**, `role`, `url`, `tab_id`, `wait_ms` |
| `ogma_auth_list_profiles` | Wyświetla przechwycone profile uwierzytelniania z podsumowaniami tajnych wartości. | Brak. |
| `ogma_auth_apply_profile` | Stosuje przechwycony profil uwierzytelniania we wbudowanej przeglądarce w celu przełączenia roli lub konta. | **`profile_id`**, `url`, `tab_id`, `wait_ms` |
| `ogma_auth_refresh_csrf` | Odświeża kandydatów tokenów CSRF z bieżącej strony, ciasteczek, pamięci, znaczników meta i ukrytych pól. | `profile_id`, `url`, `tab_id`, `wait_ms` |
| `ogma_login_replay_auto` | Automatycznie wykrywa formularz logowania, wysyła dane logowania we wbudowanej przeglądarce i przechwytuje profil uwierzytelniania. | **`login_url`**, **`username`**, **`password`**, **`profile_name`**, `role`, `tab_id`, `wait_ms` |
| `ogma_authz_matrix_test` | Ponownie wysyła jedno przechwycone żądanie z wieloma profilami uwierzytelniania, aby porównać wyniki kontroli dostępu. | **`request_id`**, **`profile_ids`**, `mutations`, `entry_id` |

### Scenariusze logowania wielokrotnego użytku {#reusable-login-journeys}

W odróżnieniu od profili uwierzytelniania w pamięci scenariusze logowania są trwale zapisywane dla każdego projektu. Dane logowania odwołują się do identyfikatorów zmiennych środowiskowych Ogma. Wszystkie skonfigurowane kontrole weryfikacji muszą zakończyć się powodzeniem; samo wysłanie formularza logowania nie oznacza pomyślnego uwierzytelnienia.

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_auth_journey_record` | Zapisuje kroki logowania, odwołania do danych logowania, kontrole weryfikacji i opcjonalne ręczne punkty kontrolne MFA. Definiuje scenariusz; nie rejestruje automatycznie dowolnych kliknięć. | **`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` | Wyświetla zapisane scenariusze logowania w aktywnym projekcie z ukrytymi sekretami sesji. | Brak. |
| `ogma_auth_journey_replay` | Wykonuje zapisany scenariusz logowania, weryfikuje uwierzytelnienie i zapisuje odświeżoną sesję; zatrzymuje się na ręczne MFA, jeśli je skonfigurowano. | **`journey_id`**, `tab_id` |
| `ogma_auth_journey_verify` | Sprawdza adres URL, DOM, ciasteczka i opcjonalne żądanie weryfikacyjne względem bieżącej sesji. | **`journey_id`**, `tab_id` |
| `ogma_auth_journey_ensure` | Weryfikuje bieżącą sesję, próbuje przywrócić zapisany stan i odtwarza logowanie tylko wtedy, gdy nadal jest to konieczne. | **`journey_id`**, `tab_id` |
| `ogma_auth_journey_resume` | Kontynuuje scenariusz po ręcznym punkcie kontrolnym i weryfikuje wynikową sesję. | **`journey_id`**, **`takeover_id`**, `tab_id` |

### Narzędzia pomocnicze i analiza {#utilities-and-analysis}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_fetch_sourcemap` | Pobiera i analizuje mapę źródeł JavaScript. | **`url`**, `base_url` |
| `ogma_proto_decode` | Dekoduje ładunki protobuf przy użyciu skonfigurowanych schematów. | **`data_b64`**, `content_type` |
| `ogma_decode_jwt` | Dekoduje nagłówki i deklaracje JWT. | **`token`** |
| `ogma_decode_response` | Dekoduje, dekompresuje lub przekształca treści odpowiedzi przez uporządkowane operacje, takie jak obsługa base64, gzip, deflate, brotli, URL, encji HTML i zapisu szesnastkowego. | **`input`**, `input_is_b64`, **`operations`**, `max_output_bytes` |
| `ogma_search_js_secrets` | Wyszukuje ujawnione sekrety i punkty końcowe w odpowiedziach JavaScript. | `host`, `patterns` |
| `ogma_compare_responses` | Porównuje dwie odpowiedzi. | **`entry_id_a`**, **`entry_id_b`**, `mode` |
| `ogma_bytes_transform` | Wykonuje przekształcenia bajtów, takie jak kodowanie, dekodowanie, XOR, obliczanie skrótów i wyodrębnianie. | **`operation`**, **`data`**, `key`, `output_encoding`, `offset`, `length`, `min_len` |
| `ogma_wasm_inspect` | Analizuje moduł WebAssembly. | **`wasm_b64`**, `data_encoding` |
| `ogma_fingerprint_target` | Rozpoznaje technologie celu na podstawie przechwyconego ruchu i odpowiedzi. | `host`, `entry_limit` |
| `ogma_sign_request` | Oblicza nagłówki podpisu żądania HMAC-SHA256 dla aplikacji korzystających ze schematów podpisywania po stronie klienta. | **`key`**, **`method`**, **`path`**, `params` |
| `ogma_find_in_response` | Pobiera do 10 adresów URL i wyszukuje wyrażenie regularne w treściach odpowiedzi, zwracając zwięzły kontekst. | **`urls`**, **`pattern`**, `headers`, `context_chars`, `max_matches_per_url`, `case_insensitive`, `timeout_secs` |
| `ogma_think` | Zapisuje uporządkowane rozumowanie lub tekst planu w sesji MCP. | **`thought`** |
| `ogma_explain_capabilities` | Zwraca podsumowanie możliwości serwera MCP. | Brak. |

### Narzędzia aktywnych sond {#active-probe-helpers}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_run_active_probe_workflow` | Uruchamia ograniczoną sondę właściwą dla danej podatności na przechwyconym żądaniu. Moduły obejmują IDOR/BOLA, CORS, SSRF OAST, odbity i trwały XSS, SQLi oparte na czasie i błędach, przechodzenie po katalogach, SSTI, obchodzenie zabezpieczeń przesyłania plików, introspekcję i autoryzację GraphQL, manipulowanie JWT i kontrole limitów częstotliwości. | **`probe`**, **`request_id`**, `entry_id`, `target_param`, `profile_ids`, `values`, `origins`, `max_cases` |
| `ogma_test_race` | Wysyła jedno żądanie równocześnie i przedstawia najczęstszy status, odpowiedzi odbiegające od niego oraz werdykt. Używaj go dla operacji jednorazowych: kilka pomyślnych odpowiedzi na operację, która powinna udać się raz, pokazuje, że nie jest atomowa. Przekaż `request_id` dla przechwyconego wpisu lub `host` i `port` z jawnie podaną resztą żądania. Ustaw `http2`, aby wysyłać każde żądanie jako równoległy strumień w jednym połączeniu (single-packet); ten wariant pozwala wykorzystać wąskie okna czasowe, gdy cel obsługuje HTTP/2. Domyślnie otwierane jest jedno połączenie na żądanie. Odchylenie jest dowodem dotyczącym wyłącznie obsługi współbieżności, a jednolita partia nie dowodzi atomowości, więc potwierdź wynik na podstawie stanu zmienionego przez operację. | `request_id`, `entry_id`, `method`, `host`, `port`, `tls`, `path`, `query`, `params`, `headers`, `body_b64`, `concurrency`, `stagger_ms`, `http2` |
| `ogma_test_smuggling` | Wysyła sondy desynchronizacji CL.TE i TE.CL przez surowe TCP i przedstawia wyniki sond, kandydatów oraz werdykt. Nagłówki przekazane w `headers` są dodawane tylko do żądania sondy; kolejne żądanie mierzące desynchronizację jest zawsze wysyłane bez nich. Sonda jest heurystyczna i często daje zarówno wyniki fałszywie dodatnie, jak i fałszywie ujemne: serwer frontowy zamykający połączenie po pierwszym żądaniu lub odrzucający sprzeczne ramkowanie kodem 400 daje taki sam wynik sondy jak podatny serwer frontowy, a wynik ujemny nie dowodzi bezpieczeństwa. Potwierdź przed zgłoszeniem: wyślij ponownie bajty sondy przez `ogma_http_request` w trybie surowym, przekazując je jako `raw_request_base64` z `max_responses` ustawionym na 2, aby odczytać odpowiedź, której bajty nie żądały; następnie wyślij zwykłe żądanie przez `followup_raw_request_base64` w tym samym połączeniu i porównaj oba statusy. Tylko HTTP/1.x. | **`host`**, **`port`**, `tls`, `path`, `timeout_ms`, `headers` |
| `ogma_test_hpp` | Wysyła warianty zanieczyszczania parametrów HTTP dla wskazanych parametrów, a następnie przedstawia, który wariant zmienił status lub treść odpowiedzi, oraz werdykt. Używaj go, gdy parametr jest walidowany w jednym komponencie, a wykorzystywany w innym, więc powtórzona nazwa może być interpretowana inaczej w każdym z nich. Zmieniona odpowiedź pokazuje, że powtórzone parametry są obsługiwane inaczej; sama nie dowodzi obejścia zabezpieczenia. Zawartość `headers` jest wysyłana z każdym żądaniem, także bazowym, więc zawarty tam nagłówek Cookie lub Authorization pozwala sondować punkt końcowy wymagający danych uwierzytelniających; bez nagłówków żądania nie zawierają ciasteczek ani uwierzytelnienia, więc wariant, który niczego nie zmienia w punkcie końcowym wymagającym logowania, niczego nie dowodzi. | **`host`**, **`port`**, **`params`**, `tls`, `path`, `base_value`, `test_value`, `timeout_ms`, `headers` |
| `ogma_list_nuclei_templates` | Wyświetla szablony skanera szablonowego dołączone do Ogma, wraz z wagą i znaczeniem dopasowania. Przeczytaj tę listę przed `ogma_run_nuclei`, aby wybrać szablon według nazwy. | Brak. |
| `ogma_run_nuclei` | Uruchamia jeden szablon dla docelowego adresu URL i przedstawia każde dopasowanie. Nie tworzy ustaleń. Przekaż `template` dla wbudowanego szablonu lub `template_yaml` dla własnego dokumentu, ale nie oba naraz. Parser obsługuje podzbiór możliwości nuclei: reguły dopasowania według statusu, słowa i wyrażenia regularnego, `matchers-condition` oraz ekstraktory oparte na wyrażeniach regularnych. Typy reguł dopasowania spoza tego podzbioru, w tym wyrażenia DSL, są pomijane zamiast oceniane, a narzędzie nie uruchamia wszystkich szablonów akceptowanych przez pełną instalację nuclei. Szablony sprawdzają przypadki ujawnienia zasobów i błędnej konfiguracji niewidoczne dla skanera pasywnego, takie jak ujawniony `.env`, `.git/config`, punkt końcowy actuator lub strona statusu serwera. | **`target`**, `template`, `template_yaml` |
| `ogma_record_test_attempt` | Zapisuje, że przetestowano dany punkt końcowy, parametr lub wektor oraz jaki był wynik, aby późniejsza sesja mogła odróżnić wyczerpaną ścieżkę od nieprzetestowanego punktu. Tylko `no_signal` oznacza wyczerpanie punktu; `transport_error` oznacza, że sonda nigdy nie dotarła do celu, więc niczego nie dowodzi o wektorze. | **`host`**, **`port`**, **`path`**, **`vector`**, **`outcome`**, **`reason`**, `parameter`, `payload_label`, `evidence_entry_id` |
| `ogma_list_test_attempts` | Wyświetla zapisane próby testów od najnowszych i grupuje je według hosta, portu, ścieżki, parametru i wektora, podając dla każdego punktu rozstrzygającą próbę, liczbę prób i stan wyczerpania. Punkt jest wyczerpany tylko wtedy, gdy rozstrzygający wynik to `no_signal`; późniejszy `transport_error` nie znosi tego stanu. | `host`, `port`, `path`, `vector`, `limit` |

### Bezpośrednie testowanie WebSocket {#direct-websocket-testing}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_websocket_connect` | Łączy się z adresem URL `ws://` lub `wss://`, wysyła wiadomości i zwraca transkrypcję. | **`url`**, **`messages`**, `headers`, `timeout_secs` |
| `ogma_ws_capture_history` | Zapisuje transkrypcję WebSocket z `ogma_websocket_connect` jako strukturalną historię Ogma do przeglądu i wiązania dowodów. | **`url`**, **`transcript`**, `label` |

### Dopasowanie i zamiana {#match-and-replace}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_list_match_replace_rules` | Wyświetla reguły Dopasowania i zamiany. | Brak. |
| `ogma_create_match_replace_rule` | Tworzy regułę Dopasowania i zamiany; operacje przepływów pracy wymagają 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` | Włącza lub wyłącza regułę Dopasowania i zamiany. | **`rule_id`**, **`enabled`** |
| `ogma_delete_match_replace_rule` | Usuwa regułę Dopasowania i zamiany. | **`rule_id`** |

### Zmienne środowiskowe {#environment-variables}

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_list_env_vars` | Wyświetla nazwy i metadane zmiennych środowiskowych. | Brak. |
| `ogma_set_env_var` | Tworzy lub aktualizuje zmienną środowiskową. | **`name`**, **`value`**, `scope`, `is_secret` |
| `ogma_get_env_var_value` | Odczytuje wartość zmiennej środowiskowej, gdy pozwalają na to uprawnienia. | **`name`** |

### Projekty, notatki, zadania i sesja {#projects-notes-todos-and-session}

Przełączanie projektu wpływa na aktywny projekt w Ogma, a nie tylko na agenta wysyłającego żądanie. Koordynuj to z innymi klientami. Poniższe narzędzia notatek i zadań to **podręczny notatnik sesji MCP przechowywany w pamięci**, a nie trwała strona Notatki w aplikacji. Zachowaj raport sesji przed rozłączeniem lub ponownym uruchomieniem MCP.

| Narzędzie | Działanie | Dane wejściowe |
| --- | --- | --- |
| `ogma_list_projects` | Wyświetla projekty. | Brak. |
| `ogma_switch_project` | Przełącza aktywny projekt. | `project_id`, `project_name` |
| `ogma_start_pentest_session` | Tworzy uporządkowany plan oceny bezpieczeństwa i domyślnie lokalną dla sesji notatkę lub listę kontrolną dla celu. Nie uruchamia automatycznie pełnego skanu. | **`target_url`**, `objective`, `mode`, `create_scratchpad` |
| `ogma_get_coverage_status` | Podsumowuje postęp listy kontrolnej bieżącej sesji i pozostałe pokrycie; nie dowodzi kompletności testowania. | Brak. |
| `ogma_recommend_skills` | Sugeruje wskazówki wbudowanych umiejętności na podstawie zaobserwowanych technologii, ścieżek, nagłówków i innego dostarczonego kontekstu. | `observations`, `paths`, `content_types`, `headers`, `technologies`, `response_snippets`, `notes` |
| `ogma_note_create` | Tworzy notatkę. | **`title`**, **`content`**, `category` |
| `ogma_note_list` | Wyświetla notatki. | `category` |
| `ogma_note_get` | Pobiera jedną notatkę. | **`id`** |
| `ogma_note_update` | Aktualizuje notatkę. | **`id`**, `title`, `content`, `category` |
| `ogma_note_delete` | Usuwa notatkę. | **`id`** |
| `ogma_todo_create` | Tworzy zadanie. | **`task`**, `priority` |
| `ogma_todo_list` | Wyświetla zadania. | `status`, `priority` |
| `ogma_todo_update` | Aktualizuje zadanie. | **`id`**, `task`, `priority`, `status` |
| `ogma_todo_mark_done` | Oznacza zadanie jako ukończone. | **`id`** |
| `ogma_todo_delete` | Usuwa zadanie. | **`id`** |
| `ogma_finish_session` | Finalizuje sesję MCP z podsumowaniem, metodyką i zaleceniami. | **`summary`**, **`methodology`**, **`recommendations`** |
| `ogma_get_session_report` | Pobiera raport bieżącej sesji MCP. | Brak. |

## Związek z AI w obszarze roboczym {#relationship-to-workspace-ai}

Serwer MCP jest serwerem protokołu używanym przez zewnętrzne narzędzia. AI w obszarze roboczym aplikacji to funkcja Vue działająca w przeglądarce, która bezpośrednio wywołuje skonfigurowanych dostawców AI i udostępnia własną listę narzędzi frontendu. Zobacz [AI w obszarze roboczym](../guide/workspace-ai.md).
