numertel

Polish phone number lookup: who called, spam and scam checks, UKE DNO registry, CERT phishing stats

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
97%
Naming quality
94%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (2)

  • LOWTool 'spam_weather' description lacks action verbin spam_weather
  • LOWTool 'fetch' suggests web access but openWorldHint=falsein fetch

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,573Tokens (tool definitions)
~2.0 KBTypical response size
Significant attention impact (2.01% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "numertel": {
      "url": "https://numertel.pl/api/mcp"
    }
  }
}

Remote endpoints

https://numertel.pl/api/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢check_phone_number(number)

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.

Input 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"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "number": {
      "type": "string"
    },
    "e164": {
      "type": "string"
    },
    "operator": {
      "type": [
        "string",
        "null"
      ]
    },
    "operator_note": {
      "type": "string"
    },
    "number_type": {
      "type": "string"
    },
    "spam_label": {
      "type": "string",
      "enum": [
        "brak_danych",
        "raczej_bezpieczny",
        "podejrzany",
        "niebezpieczny",
        "dno_spoofing"
      ]
    },
    "total_opinions": {
      "type": "integer"
    },
    "score_avg": {
      "type": [
        "number",
        "null"
      ]
    },
    "sightings_30d": {
      "type": "integer"
    },
    "is_dno": {
      "type": "boolean"
    },
    "dno_note": {
      "type": [
        "string",
        "null"
      ]
    },
    "whitelist": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "institution": {
          "type": "string"
        },
        "label": {
          "type": [
            "string",
            "null"
          ]
        },
        "verified_on": {
          "type": "string"
        }
      },
      "required": [
        "institution",
        "verified_on"
      ]
    },
    "url": {
      "type": "string"
    },
    "attribution": {
      "type": "string"
    }
  },
  "required": [
    "number",
    "e164",
    "spam_label",
    "total_opinions",
    "is_dno",
    "url",
    "attribution"
  ]
}
🟢spam_weather(days)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30,
      "default": 7,
      "description": "Okno dni wstecz dla statystyk dziennych (1-30, domyślnie 7)"
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "as_of": {
      "type": "string"
    },
    "days": {
      "type": "integer"
    },
    "cert_new_domains_today": {
      "type": "integer"
    },
    "cert_new_domains_window": {
      "type": "integer"
    },
    "cert_daily": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          }
        },
        "required": [
          "date",
          "count"
        ]
      }
    },
    "dno_numbers_total": {
      "type": "integer"
    },
    "recent_warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": {
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "type": "string"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "source",
          "number",
          "url"
        ]
      }
    },
    "source": {
      "type": "string"
    },
    "attribution": {
      "type": "string"
    }
  },
  "required": [
    "as_of",
    "days",
    "cert_new_domains_today",
    "dno_numbers_total",
    "attribution"
  ]
}
🟢check_scam_domain(text)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Domena, URL, adres e-mail, numer telefonu albo pełna treść wiadomości do sprawdzenia (max 5000 znaków)"
    }
  },
  "required": [
    "text"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "checked": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "listed": {
            "type": "boolean"
          },
          "matched_entry": {
            "type": [
              "string",
              "null"
            ]
          },
          "listed_since": {
            "type": [
              "string",
              "null"
            ]
          },
          "removed_on": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "domain",
          "listed"
        ]
      }
    },
    "phones": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string"
          },
          "e164": {
            "type": "string"
          },
          "operator": {
            "type": [
              "string",
              "null"
            ]
          },
          "spam_label": {
            "type": "string"
          },
          "is_dno": {
            "type": "boolean"
          },
          "whitelist_institution": {
            "type": [
              "string",
              "null"
            ]
          },
          "total_opinions": {
            "type": "integer"
          },
          "sightings_30d": {
            "type": "integer"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "number",
          "e164",
          "spam_label",
          "is_dno",
          "url"
        ]
      }
    },
    "any_listed": {
      "type": "boolean"
    },
    "any_phone_flagged": {
      "type": "boolean"
    },
    "list_size": {
      "type": "integer"
    },
    "as_of": {
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "attribution": {
      "type": "string"
    }
  },
  "required": [
    "checked",
    "phones",
    "any_listed",
    "list_size",
    "as_of",
    "attribution"
  ]
}
🟢find_official_number(institution)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "institution": {
      "type": "string",
      "description": "Nazwa instytucji: bank, urząd lub operator, np. „ZUS”, „mBank”, „PKO”, „NFZ”, „Orange”"
    }
  },
  "required": [
    "institution"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "matches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "institution": {
            "type": "string"
          },
          "number": {
            "type": "string"
          },
          "e164": {
            "type": "string"
          },
          "label": {
            "type": [
              "string",
              "null"
            ]
          },
          "source_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "verified_on": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "institution",
          "number",
          "e164",
          "url"
        ]
      }
    },
    "count": {
      "type": "integer"
    },
    "note": {
      "type": "string"
    },
    "attribution": {
      "type": "string"
    }
  },
  "required": [
    "query",
    "matches",
    "count",
    "attribution"
  ]
}
🟢recent_scam_domains(limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 15,
      "description": "Ile najnowszych domen zwrócić (1-50, domyślnie 15)"
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "domains": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "domain_defanged": {
            "type": "string"
          },
          "listed_since": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "domain_defanged"
        ]
      }
    },
    "count": {
      "type": "integer"
    },
    "list_size": {
      "type": "integer"
    },
    "as_of": {
      "type": "string"
    },
    "source": {
      "type": "string"
    },
    "attribution": {
      "type": "string"
    }
  },
  "required": [
    "domains",
    "count",
    "list_size",
    "as_of",
    "attribution"
  ]
}
🟢search(query)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Numer telefonu (9 cyfr / +48...) lub nazwa instytucji, np. 'mBank', 'ZUS'"
    }
  },
  "required": [
    "query"
  ]
}
🟢fetch(id)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Id z wyników search: polski numer, 9 cyfr"
    }
  },
  "required": [
    "id"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded7 tools