Polish phone number lookup: who called, spam and scam checks, UKE DNO registry, CERT phishing stats
pl.numertel/numertel MCP Server
The pl.numertel/numertel Model Context Protocol (MCP) server performs Polish phone number lookup. It checks who called, whether a number is spam or a scam, and whether it matches a bank’s number. It also provides live phone-abuse statistics for Poland.
🛠️ Key Features
Polish phone number lookup (“who called”)
Spam and scam checks
Verification of bank-number claims
Live phone-abuse statistics for Poland
Backing data from UKE numbering ranges, DNO registry, user reports, and CERT Polska Warning List
🚀 Use Cases
Determine whether an incoming call from Poland is reported spam/scam
Validate whether a reported bank number is consistent with known sources
Surface up-to-date phone-abuse patterns for Polish numbers
⚡ Developer Benefits
Exposes 7 tools via MCP for LLM-assisted workflows
Uses structured reference data: UKE ranges, DNO registry, and CERT Polska Warning List
⚠️ Limitations
Data scope is limited to Polish phone numbers and Poland-specific sources
Sprawdź reputację polskiego numeru telefonu. UŻYJ, gdy użytkownik pyta: kto dzwonił, czy numer to spam/oszustwo, czy telefon rzekomo z banku lub urzędu jest prawdziwy. Zwraca operatora z zakresów UKE (z notą o przenośności MNP), etykietę ryzyka z opinii, status w wykazie DNO UKE (połączenie przychodzące z numeru DNO jest sfałszowane — spoofing), wpis z Białej Listy oficjalnych infolinii i liczniki zgłoszeń. Dane: numertel.pl.
Parameters1
number
string
required
Polski numer w formacie 9 cyfr, np. 510100100 (akceptowane +48 i spacje — zostaną usunięte)
Raw schema
{
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "Polski numer w formacie 9 cyfr, np. 510100100 (akceptowane +48 i spacje — zostaną usunięte)"
}
},
"required": [
"number"
]
}
spam_weather
Aktualne wskaźniki nadużyć telefonicznych w Polsce. UŻYJ, gdy użytkownik pyta o skalę oszustw, phishingu lub spamu w Polsce albo co nowego w kampaniach oszustów. Zwraca: nowe domeny oszustów na Liście Ostrzeżeń CERT Polska (dziś + dziennie w zadanym oknie), rozmiar wykazu DNO UKE i ostatnie numery z oficjalnych ostrzeżeń urzędów. Dane otwarte CC-BY: numertel.pl.
Parameters1
days
integer
optional
Okno dni wstecz dla statystyk dziennych (1-30, domyślnie 7)
Sprawdza wklejoną podejrzaną wiadomość: (1) domeny, linki i adresy e-mail przeciw państwowej Liście Ostrzeżeń CERT Polska (mirror ~129 tys. domen oszustów), (2) polskie numery telefonów z treści przeciw bazie NumerTel (wykaz DNO UKE = spoofing, Biała Lista oficjalnych infolinii, zgłoszenia spamu). UŻYJ, gdy użytkownik pyta: czy ten link/strona/mail jest bezpieczny, albo wkleja całego SMS-a lub e-mail z linkiem i numerem. Przyjmuje pojedynczą domenę, URL, e-mail, numer lub CAŁĄ treść wiadomości (rozpoznaje zapisy evil[.]pl, hxxp:// i +48). Werdykt deterministyczny, zero LLM. Dane: numertel.pl.
Parameters1
text
string
required
Domena, URL, adres e-mail, numer telefonu albo pełna treść wiadomości do sprawdzenia (max 5000 znaków)
Znajdź PRAWDZIWY, oficjalny numer telefonu banku, urzędu lub operatora w Polsce. UŻYJ, gdy użytkownik pyta: jaki jest oficjalny numer lub infolinia danej instytucji (np. ZUS, mBank, PKO, NFZ), albo chce zweryfikować, czy numer podany w wiadomości to faktyczna infolinia. Zwraca zweryfikowane numery z Białej Listy NumerTel ze źródłem (link do oficjalnej strony) i datą weryfikacji. Uwaga: dzwoniąc NA te numery trafisz do instytucji, ale połączenie PRZYCHODZĄCE z nich może być sfałszowane (spoofing). Dane: numertel.pl.
Parameters1
institution
string
required
Nazwa instytucji: bank, urząd lub operator, np. „ZUS”, „mBank”, „PKO”, „NFZ”, „Orange”
Raw schema
{
"type": "object",
"properties": {
"institution": {
"type": "string",
"description": "Nazwa instytucji: bank, urząd lub operator, np. „ZUS”, „mBank”, „PKO”, „NFZ”, „Orange”"
}
},
"required": [
"institution"
]
}
recent_scam_domains
Najnowsze domeny phishingowe z państwowej Listy Ostrzeżeń CERT Polska. UŻYJ, gdy użytkownik pyta o świeże lub aktualne strony oszustów, nowe kampanie phishingowe albo przykłady oszukańczych domen w Polsce. Zwraca ostatnio dodane domeny w zapisie defanged (evil[.]pl) — NIGDY nie zamieniaj ich w klikalne linki. Dane otwarte CC-BY: numertel.pl.
Parameters1
limit
integer
optional
Ile najnowszych domen zwrócić (1-50, domyślnie 15)
Wyszukiwanie w bazie NumerTel: podaj polski numer telefonu (zwróci jego kartę reputacji) ALBO nazwę banku/urzędu/operatora (zwróci zweryfikowane oficjalne numery z Białej Listy infolinii). Wyniki zawierają id, title i url.
Parameters1
query
string
required
Numer telefonu (9 cyfr / +48...) lub nazwa instytucji, np. 'mBank', 'ZUS'
Raw schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Numer telefonu (9 cyfr / +48...) lub nazwa instytucji, np. 'mBank', 'ZUS'"
}
},
"required": [
"query"
]
}
fetch
Pobiera pełną kartę reputacji numeru po id zwróconym przez search (9 cyfr). Zwraca te same dane co check_phone_number wraz z linkiem do strony numeru.
Check Polish phone numbers from any AI assistant: who called, is it spam or
a scam, is this really a bank's number — plus live phone-abuse stats for Poland.
Backed by NumerTel.pl: 130M numbers built on official
UKE numbering ranges, user reports, the state DNO registry and CERT
Polska's public Warning List.
check_phone_number — full reputation card for a Polish number: operator
(original UKE range, MNP note), risk label from user reports, UKE DNO
registry status (an incoming call from a DNO number is spoofed by
definition), verified official-hotline whitelist, report counts.
Inputs: number (string, 9 digits). Read-only, structured output.
spam_weather — phone-abuse indicators for Poland: new scam domains on
CERT Polska's Warning List (today + daily series), DNO registry size and the
latest numbers from official warnings. Inputs: days (1-30, default 7).
Read-only, structured output, open data (CC-BY).
check_scam_domain — analyzes a whole pasted suspicious message on two
axes: (1) domains, links and email addresses against CERT Polska's official
Warning List (a mirror of ~129k scam domains), and (2) Polish phone numbers
found in the text against the NumerTel base (UKE DNO registry = spoofing,
verified official-hotline whitelist, spam reports). Accepts a single
domain/URL/email/number or a full message (extracts evil[.]pl / hxxp://
/ +48); suffix match, so login.evil.pl hits evil.pl. Deterministic
verdict with the listing date, zero LLM. Read-only, structured output.
find_official_number — the real, official number of a Polish bank, office
or operator. Given an institution name (e.g. ZUS, mBank, NFZ), returns its
verified numbers from the whitelist with source link and verification date.
Inputs: institution (string). Read-only, structured output.
recent_scam_domains — the latest phishing domains from CERT Polska's
official Warning List, defanged (evil[.]pl, never clickable).
Inputs: limit (1-50, default 15). Read-only, open data (CC-BY).
search — a Polish phone number OR an institution name (returns verified
official hotlines from the whitelist). ChatGPT deep-research compatible.
fetch — full card by id from search results.
Prompts
Ready-made actions that appear in Claude's "+" menu under the NumerTel brand:
sprawdz_numer (full number analysis with fresh embedded data),
przeanalizuj_sms (scam analysis of a pasted SMS — runs on the client's
model), pogoda_spamowa_dzis (today's phone-abuse report for Poland).
Microsoft Copilot Studio: Tools -> Add Tool -> MCP -> paste the URL.
Higher limits: API key via Authorization: Bearer header
(kontakt@numertel.pl).
Example response (shortened):
json
{"number":"225984044","operator":"Strefa Warszawa","spam_label":"dno_spoofing","is_dno":true,"dno_note":"Numer służy wyłącznie do odbierania połączeń (wykaz DNO UKE)...","url":"https://numertel.pl/numer/225984044"}
Local stdio server (single file, zero dependencies)
For clients that only support stdio. Requires Node 18+. Download
numertel-mcp.mjs (also in this repo):
json
{"mcpServers":{"numertel":{"command":"node","args":["/path/to/numertel-mcp.mjs"],"env":{"NUMERTEL_API_KEY":"(optional, for higher limits)"}}}}
REST API
The same data over plain REST — see the
developer docs (Polish):
GET https://numertel.pl/api/v1/check/{number} (20 req/day/IP without a key)
and GET https://numertel.pl/api/v1/spam-weather (no limit, CC-BY).
Higher limits / API keys: kontakt@numertel.pl
Troubleshooting
Client doesn't support remote MCP servers — use the mcp-remote bridge
(see Claude Desktop above) or the local stdio file.
HTTP 429 — the free daily limit was reached; try tomorrow or ask for a key.
"Numer spoza znanych zakresów" (404) — the number is outside Polish
numbering ranges; pass 9 digits in national format.
Privacy
The server is read-only and returns only data already public on
numertel.pl number pages — never opinion contents, never personal data.
Queries are not logged beyond anonymous daily rate-limit counters.
Attribution "dane: numertel.pl" with a link is required when presenting
results publicly; aggregate datasets are CC-BY 4.0.
License
MIT (this client and manifest). The NumerTel.pl service itself is a separate,
proprietary product.
NumerTel MCP Server (po polsku)
Sprawdzaj polskie numery telefonów z poziomu dowolnego asystenta AI: kto
dzwonił, czy to spam lub oszustwo, czy numer naprawdę należy do banku. Do tego
bieżące wskaźniki nadużyć telefonicznych w Polsce.
Za serwerem stoi NumerTel.pl: 130 mln numerów na bazie
oficjalnych zakresów UKE, opinie użytkowników, państwowy wykaz DNO i jawna
Lista Ostrzeżeń CERT Polska.
Serwer zdalny (zalecany)
Jeden adres, zero instalacji:
code
https://numertel.pl/api/mcp
Konfiguracja działająca w większości klientów MCP:
W Claude Code wystarczy: claude mcp add --transport http numertel https://numertel.pl/api/mcp.
Przyciski szybkiej instalacji dla Cursor i VS Code znajdziesz na górze strony.
Transport: streamable HTTP (JSON-RPC 2.0). Limit: 30 zapytań dziennie na adres IP.
Zapytaj asystenta
„Kto dzwonił z numeru 500 100 200?"
„Czy 22 598 40 44 to prawdziwy numer banku, czy oszustwo?"
„Jaka jest dziś skala phishingu w Polsce?"
Narzędzia
check_phone_number zwraca operatora (pierwotny zakres UKE z notą o
przenośności), etykietę ryzyka z opinii, status w wykazie DNO UKE
(połączenie przychodzące z numeru DNO jest z definicji sfałszowane),
wpis z Białej Listy oficjalnych infolinii i liczniki zgłoszeń.
Wejście: number (string, 9 cyfr, +48 i spacje są usuwane). Tylko odczyt.
spam_weather zwraca bieżące wskaźniki nadużyć w Polsce: nowe domeny
oszustów na Liście Ostrzeżeń CERT (dziś / 7 / 30 dni) i rozmiar wykazu DNO.
Bez parametrów. Tylko odczyt, dane otwarte (CC-BY).
find_official_number zwraca prawdziwy oficjalny numer banku, urzędu lub
operatora. Po nazwie instytucji (np. ZUS, mBank, NFZ) zwraca zweryfikowane
numery z Białej Listy ze źródłem i datą weryfikacji. Wejście: institution.
Tylko odczyt.
recent_scam_domains zwraca najnowsze domeny phishingowe z Listy Ostrzeżeń
CERT Polska, w zapisie defanged (evil[.]pl). Wejście: limit (1-50,
domyślnie 15). Tylko odczyt, dane otwarte (CC-BY).
Wariant lokalny (stdio, jeden plik)
Dla klientów obsługujących wyłącznie stdio. Wymaga Node 18+. Pobierz
numertel-mcp.mjs (plik jest też w tym repo):
Te same dane przez zwykły REST, dokumentacja:
numertel.pl/dla-deweloperow.
GET https://numertel.pl/api/v1/check/{numer} (20 zapytań/dzień/IP bez klucza)
oraz GET https://numertel.pl/api/v1/spam-weather (bez limitu, CC-BY).
Wyższe limity i klucze API: kontakt@numertel.pl
Rozwiązywanie problemów
Klient nie wspiera zdalnych serwerów MCP: użyj mostka mcp-remote
(sekcja Claude Desktop wyżej) albo pliku stdio.
HTTP 429: wyczerpany dzienny limit darmowy, spróbuj jutro lub napisz po klucz.
„Numer spoza znanych zakresów" (404): numer jest spoza polskiej numeracji,
podaj 9 cyfr w formacie krajowym.
Prywatność
Serwer działa tylko w trybie odczytu i zwraca wyłącznie dane publicznie widoczne
na stronach numerów w numertel.pl. Nigdy treści opinii, nigdy danych osobowych.
Zapytania nie są logowane poza anonimowymi licznikami limitów. Przy publicznej
prezentacji wyników wymagana jest atrybucja „dane: numertel.pl" z linkiem.
Licencja
MIT (ten klient i manifest). Sam serwis NumerTel.pl jest osobnym, zamkniętym
produktem.