{
    "$schema": "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",
    "name": "pl.kontowtescie/niezawodnosc-bankow",
    "version": "1.1.0",
    "title": "Konto w Teście – niezawodność banków",
    "description": "Niezawodność 12 banków w Polsce: logowanie, KIR, aplikacje, UOKiK. Alerty o awariach po zalogowaniu.",
    "websiteUrl": "https://kontowtescie.pl/dla-agentow/",
    "remotes": [
        {
            "type": "streamable-http",
            "url": "https://kontowtescie.pl/mcp",
            "supportedProtocolVersions": [
                "2025-11-25",
                "2025-06-18",
                "2025-03-26",
                "2024-11-05"
            ]
        }
    ],
    "protocolVersion": "2025-11-25",
    "serverInfo": {
        "name": "pl.kontowtescie/niezawodnosc-bankow",
        "title": "Konto w Teście – niezawodność banków",
        "version": "1.1.0"
    },
    "documentationUrl": "https://kontowtescie.pl/dla-agentow/",
    "transport": {
        "type": "streamable-http",
        "endpoint": "https://kontowtescie.pl/mcp"
    },
    "capabilities": {
        "tools": {
            "listChanged": false
        }
    },
    "authentication": {
        "required": false,
        "schemes": [
            "oauth2"
        ],
        "protectedResourceMetadata": "https://kontowtescie.pl/.well-known/oauth-protected-resource/mcp",
        "authorizationServer": "https://kontowtescie.pl",
        "protectedTools": [
            "list_my_alerts",
            "add_alert",
            "remove_alert"
        ]
    },
    "instructions": "Serwer tylko do odczytu z danymi serwisu Konto w Teście (kontowtescie.pl): indeks niezawodności 12 banków w Polsce liczony automatycznie z danych publicznych (dostępność stron logowania sprawdzana co 5 minut, zaplanowane przerwy KIR, recenzje aplikacji w App Store, decyzje UOKiK), metodyka v2.0. W odpowiedzi linkuj do pola url (strona serwisu), podawaj źródło i datę odczytu (pola zrodlo i odczyt); pole cytuj ma gotowy dopisek. Indeks jest null, dopóki obszary nie mają pełnego okresu pomiaru; oceny obszarów z pelny_okres_pomiaru = false są cząstkowe. Monitoring sprawdza otwieranie strony logowania, a nie samo logowanie, przelewy czy aplikację. Dokumentacja: https://kontowtescie.pl/dla-agentow/. Limit: 60 zapytań na minutę z jednego IP. Narzędzia list_my_alerts, add_alert i remove_alert działają na alertach e-mail o awariach konkretnego czytelnika i wymagają logowania OAuth 2.1 (bez tokenu: HTTP 401 z WWW-Authenticate). Pozostałe narzędzia są publiczne. Instrukcja: https://kontowtescie.pl/auth.md.",
    "tools": [
        {
            "name": "get_reliability_index",
            "title": "Indeks niezawodności banków",
            "description": "Indeks niezawodności 12 banków w Polsce (0–100) liczony automatycznie z danych publicznych: Dostępność 50%, Aplikacja 30%, Decyzje UOKiK 20%. Zwraca klucze banków, indeks (null, dopóki obszary nie mają pełnego okresu pomiaru), oceny obszarów z flagą pelny_okres_pomiaru i okres. Linkuj do pola url."
        },
        {
            "name": "get_bank",
            "title": "Karta banku",
            "description": "Wszystkie publiczne dane jednego banku z jego karty: indeks i obszary, dostępność strony logowania w 30 dniach, przerwy KIR, aplikacja w App Store, decyzje UOKiK, opłaty z porównywarki KNF (poza indeksem)."
        },
        {
            "name": "get_bank_status",
            "title": "Status strony logowania na żywo",
            "description": "Czy strona logowania banku działała przy ostatnim sprawdzeniu (co 5 minut), ile sprawdzeń dziś, przerwy w ostatnich 30 dniach, godziny i zapowiedziane przerwy przelewów Express Elixir. Sprawdzamy otwieranie strony logowania, nie samo logowanie ani przelewy."
        },
        {
            "name": "get_login_availability",
            "title": "Dostępność bankowości internetowej (30 dni)",
            "description": "Dostępność stron logowania banków w ostatnich 30 dniach: odsetek udanych sprawdzeń, liczba i minuty przerw, średni czas odpowiedzi, liczba sprawdzeń. Kolejność od najmniejszej liczby minut przerw."
        },
        {
            "name": "get_instant_transfer_breaks",
            "title": "Przerwy w przelewach natychmiastowych (KIR)",
            "description": "Zaplanowane okna niedostępności przelewów natychmiastowych Express Elixir ogłoszone przez KIR, według banków (uczestników) w danym miesiącu, oraz przerwy zapowiedziane od dziś. To przerwy planowane, nie awarie."
        },
        {
            "name": "get_app_ratings",
            "title": "Oceny aplikacji bankowych (App Store)",
            "description": "Aplikacje 13 banków w polskim App Store: średnia ocena, liczba ocen, udział ocen 1–2★ w 50 najnowszych recenzjach, okres tych recenzji, wersja. Ostatni codzienny odczyt."
        },
        {
            "name": "get_uokik_decisions",
            "title": "Decyzje UOKiK wobec banków",
            "description": "Decyzje Prezesa UOKiK z ostatnich 36 miesięcy, w których bank jest stroną (ochrona zbiorowych interesów konsumentów, klauzule niedozwolone): numer, data, kategoria. wszystkie=true zwraca całą historię z flagą liczy_sie_do_indeksu."
        },
        {
            "name": "list_articles",
            "title": "Poradniki",
            "description": "Opublikowane poradniki Konta w Teście (awarie i przerwy banków, przelewy natychmiastowe, aplikacje, decyzje UOKiK): tytuł, data, zajawka, url. Bez zapytania: najnowsze."
        },
        {
            "name": "list_my_alerts",
            "title": "Moje alerty o awariach banków",
            "description": "Wymaga zalogowania (OAuth, scope alerts:read). Czy czytelnik ma włączone alerty e-mail o awariach i dla których banków (alert = e-mail, gdy strona logowania banku przestaje odpowiadać i gdy znowu działa)."
        },
        {
            "name": "add_alert",
            "title": "Włącz alert o awariach banku",
            "description": "Wymaga zalogowania (OAuth, scope alerts:write). Dodaje bank do alertów e-mail czytelnika: e-mail przyjdzie, gdy strona logowania banku nie odpowiada w 2 kolejnych sprawdzeniach (co 5 minut), i drugi, gdy znowu działa. Wymaga zgody na alerty wyrażonej na ekranie zgody."
        },
        {
            "name": "remove_alert",
            "title": "Wyłącz alert o awariach banku",
            "description": "Wymaga zalogowania (OAuth, scope alerts:write). Usuwa bank z alertów e-mail czytelnika. Pozostałe banki zostają."
        }
    ],
    "_meta": {
        "pl.kontowtescie/methodology": "https://kontowtescie.pl/metodyka/",
        "pl.kontowtescie/rate-limit-per-minute": 60
    }
}