Dokumentacja

v1https://api.riskwatch.pl/v1

Konektory AI i zdalny serwer MCP (Claude, ChatGPT, Gemini)

RiskWatch udostępnia produkcyjny serwer Model Context Protocol (MCP) po Streamable HTTP pod adresem https://api.riskwatch.pl/mcp z obsługą OAuth 2.1 + PKCE (S256) oraz kontrakt OpenAPI 3.1 z operationId dla akcji ChatGPT i Google Gemini / Vertex AI.

MCP & OAuth 2.1 Endpoints
# Remote MCP Streamable HTTP endpoint:
https://api.riskwatch.pl/mcp

# OAuth 2.1 Protected Resource Metadata (RFC 9728):
https://api.riskwatch.pl/.well-known/oauth-protected-resource

# OAuth 2.1 Authorization Server Metadata (RFC 8414):
https://api.riskwatch.pl/.well-known/oauth-authorization-server

# OpenAPI 3.1 Specification:
https://api.riskwatch.pl/v1/openapi.json

Anthropic Claude (claude.ai, Claude Desktop i Claude Code)

W Claude przejdź do Settings -> Connectors -> Add custom connector, podaj adres serwera https://api.riskwatch.pl/mcp i zatwierdź połączenie na ekranie zgody OAuth 2.1 w RiskWatch. W Claude Code lub lokalnych klientach MCP możesz też użyć klucza API Bearer:

Claude Code / MCP CLI
claude mcp add --transport http riskwatch https://api.riskwatch.pl/mcp \
  --header "Authorization: Bearer ***"

OpenAI ChatGPT (Apps in ChatGPT oraz Custom GPT Actions)

W trybie deweloperskim ChatGPT Apps podepnij ten sam serwer MCP https://api.riskwatch.pl/mcp (OAuth 2.1 PKCE). Jeśli tworzysz własnego Custom GPT w GPT Store, zaimportuj specyfikację OpenAPI 3.1 z https://api.riskwatch.pl/v1/openapi.json i ustaw wyłącznie klucz API z portalu jako Bearer (rw_live_). Tokeny OAuth są przeznaczone tylko dla konektorów MCP, nie dla REST Actions.

Google Gemini (Gemini CLI, Antigravity, Gemini Enterprise)

RiskWatch nie uruchamia żadnego kodu w Twoim projekcie Google Cloud i nie potrzebuje klucza Google API: każda ścieżka Gemini poniżej łączy się z tym samym zdalnym serwerem MCP https://api.riskwatch.pl/mcp i loguje się przez OAuth 2.1 RiskWatch (albo kluczem API RiskWatch).

1. Gemini CLI (Code Assist Standard/Enterprise lub płatny klucz API)

Zainstaluj rozszerzenie RiskWatch (integrations/gemini-cli: gemini-extension.json z httpUrl, OAuth i sześcioma narzędziami odczytu w includeTools) albo dodaj serwer samodzielnie w settings.json, a potem uruchom /mcp auth riskwatch. Od 2026-06-18 Gemini CLI dla kont bezpłatnych i Google One został zastąpiony przez Antigravity CLI.

Gemini CLI settings.json
// ~/.gemini/settings.json (Gemini CLI, read-only tools)
{
  "mcpServers": {
    "riskwatch": {
      "httpUrl": "https://api.riskwatch.pl/mcp",
      "oauth": { "enabled": true, "scopes": ["read"] },
      "includeTools": ["get_entity_risk", "get_entity_details", "list_entity_events",
                       "list_watchlist", "list_organization_events", "get_usage_quota"]
    }
  }
}
// then, inside Gemini CLI:  /mcp auth riskwatch

2. Antigravity (CLI, aplikacja, IDE)

Antigravity czyta zdalne serwery z mcp_config.json z polem serverUrl (pole httpUrl nie jest tam obsługiwane) i loguje się przez OAuth z dynamiczną rejestracją klienta.

Antigravity mcp_config.json
// ~/.gemini/config/mcp_config.json (Antigravity CLI, App and IDE)
{
  "mcpServers": {
    "riskwatch": { "serverUrl": "https://api.riskwatch.pl/mcp" }
  }
}

3. Gemini Enterprise przez Agent Registry

Administrator Twojego projektu governance rejestruje RiskWatch jako zewnętrzny serwer MCP w Agent Registry z naszą opublikowaną specyfikacją narzędzi, a potem dodaje go do aplikacji Gemini Enterprise jako źródło danych przez Agent Gateway (aplikacja, gateway i rejestr muszą być w zgodnych regionach). Rejestracja żyje w Twoim projekcie i regionie; RiskWatch jej nie obsługuje.

gcloud agent-registry
curl -o toolspec.json https://riskwatch.pl/agent-registry/toolspec.json
gcloud agent-registry services create riskwatch \
  --project=PROJECT_ID \
  --location=REGION \
  --display-name="RiskWatch" \
  --mcp-server-spec-type=tool-spec \
  --mcp-server-spec-content=toolspec.json \
  --interfaces=url=https://api.riskwatch.pl/mcp,protocolBinding=jsonrpc

Od tych narzędzi zacznij

  • get_entity_risk — wynik, pasmo i statusy rejestrów dla jednego NIP-u
  • list_organization_events — alerty HIGH/CRITICAL z całej listy obserwowanych
  • add_to_watchlist — rozpoczęcie monitoringu nowych kontrahentów (zakres write)
  • get_usage_quota — wykorzystanie limitów planu

Przykładowe prompty do przetestowania konektora

  • Sprawdź ocenę ryzyka i statusy rejestrów VAT, KRS oraz KRZ dla kontrahenta o numerze NIP <YOUR_VALID_NIP> w RiskWatch.
  • Dodaj NIP <YOUR_VALID_NIP> do listy obserwowanych w RiskWatch z codziennym monitoringiem VAT i KRS, a następnie wymuś odświeżenie rejestrów.
  • Wypisz wszystkie alerty ryzyka HIGH i CRITICAL wykryte w mojej organizacji w RiskWatch i podsumuj rekomendowane działania.
  • Sprawdź aktualne wykorzystanie limitów mojego planu w RiskWatch (get_usage_quota).

Funkcje serwera MCP: widżety, zasoby, podpowiedzi i anulowanie

  • MCP Apps: get_entity_risk, list_watchlist i list_entity_events wskazują samodzielne widżety HTML (ui://riskwatch/..., text/html;profile=mcp-app) przez _meta.ui.resourceUri oraz alias ChatGPT openai/outputTemplate. Widżety nie łączą się z siecią (pusty CSP), czytają structuredContent z mostka hosta, a klienci tekstowi dostają tę samą treść co dotąd.
  • Zasób riskwatch://entity/{nip} (resources/templates/list, resources/read) zwraca status podmiotu z listy obserwowanych; wymaga zakresu read i zużywa jedno zapytanie API, tak jak get_entity_details.
  • completion/complete podpowiada argument nip (szablon zasobu i prompt due_diligence_report) z listy obserwowanych Twojej organizacji: dopasowanie prefiksu, maks. 100 wartości, bez naliczania limitu i bez zapytań do rejestrów.
  • Sesje 2025-06-18 dostają w wynikach get_entity_risk i list_entity_events blok resource_link do strony podmiotu w portalu (https://riskwatch.pl/app/entities/<NIP>).
  • notifications/cancelled przerywa trwające wywołanie tools/call tej samej organizacji, jeśli trafi do tego samego procesu serwera; wynik nie jest wtedy wysyłany. Po Streamable HTTP anulowanie jest best-effort: zapis do listy obserwowanych, który już się wykonał, nie jest cofany.

Gotowość dla agentów: zdalny MCP a WebMCP

Co działa dziś: zdalny serwer MCP opisany wyżej (Streamable HTTP, OAuth 2.1 + PKCE, dziewięć narzędzi). To ścieżka integracji dla Claude, ChatGPT, Gemini i każdego agenta działającego poza przeglądarką.

Czego nie ma: portal RiskWatch nie rejestruje narzędzi WebMCP (document.modelContext), więc agenci w przeglądarce nie dostają w /app żadnych narzędzi; użyj zdalnego serwera MCP. Nie publikujemy też karty agenta A2A, bo RiskWatch nie obsługuje żadnego wiązania protokołu A2A.

Pliki do automatycznego odkrywania:

Testy z terminala

MCP Inspector łączy się ze zdalnym serwerem i przeprowadza przepływ OAuth. Tokeny OAuth trzyma w systemowym pęku kluczy, a bez niego w niezaszyfrowanym pliku ~/.mcp-inspector/secrets.json, więc nie uruchamiaj go na współdzielonym CI z produkcyjnym dostępem.

MCP Inspector
# Node 22.19+; opens the Inspector UI and runs the RiskWatch OAuth flow in your browser
npx @modelcontextprotocol/inspector --server-url https://api.riskwatch.pl/mcp --transport http

CLI riskwatch jest w paczce SDK i czyta klucz ze zmiennej RISKWATCH_API_KEY; nigdy go nie wypisuje.

riskwatch CLI
export RISKWATCH_API_KEY="<YOUR_API_KEY>"   # https://riskwatch.pl/app/api-keys

npm exec --package=https://riskwatch.pl/sdk/riskwatch-sdk-1.0.0.tgz riskwatch check <YOUR_VALID_NIP>
npm exec --package=https://riskwatch.pl/sdk/riskwatch-sdk-1.0.0.tgz -- riskwatch vat <YOUR_VALID_NIP> --json

# exit codes: 0 ok, 1 HIGH/CRITICAL or inactive VAT payer, 2 usage, 3 API/network error