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.
# 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 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/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 riskwatch2. 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.
// ~/.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.
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-ulist_organization_events— alerty HIGH/CRITICAL z całej listy obserwowanychadd_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:
- https://riskwatch.pl/llms.txt — indeks dla modeli językowych (llms.txt)
- https://riskwatch.pl/docs/ai.md — wersja markdown tej strony; każda strona dokumentacji ma bliźniaka .md
- https://api.riskwatch.pl/v1/openapi.json — kontrakt OpenAPI 3.1
- https://riskwatch.pl/riskwatch.postman_collection.json — kolekcja Postman v2.1 generowana z OpenAPI
- https://riskwatch.pl/agent-registry/toolspec.json — specyfikacja narzędzi MCP dla Agent Registry
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.
# 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.
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