Skip to main content
Glama
AMR-DEV-PS

numertel-mcp

by AMR-DEV-PS

NumerTel MCP Server

English · Polski

NumerTel MCP Server

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.

License: MIT Website MCP Registry Glama MCP server

Install MCP Server Install in VS Code

One endpoint, zero install:

https://numertel.pl/api/mcp

Generic config that works in most MCP clients:

{
  "mcpServers": {
    "numertel": {
      "type": "http",
      "url": "https://numertel.pl/api/mcp"
    }
  }
}
claude mcp add --transport http numertel https://numertel.pl/api/mcp

Use the install button above, or add to ~/.cursor/mcp.json:

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

Use the install button above, or add to mcp.json:

{
  "servers": {
    "numertel": { "type": "http", "url": "https://numertel.pl/api/mcp" }
  }
}
{
  "mcpServers": {
    "numertel": {
      "command": "npx",
      "args": ["mcp-remote", "https://numertel.pl/api/mcp"]
    }
  }
}

Transport: streamable HTTP (JSON-RPC 2.0). Limit: 30 requests/day/IP.

Related MCP server: nipregon-mcp

Try asking your assistant

  • "Who called me from 500 100 200?"

  • "Is +48 22 598 40 44 really my bank, or a scam?"

  • "How bad is phone phishing in Poland today?"

Tools

  • 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).

Also works in

  • ChatGPT (Plus/Pro, incl. Poland): Settings -> Apps & Connectors -> Advanced -> Developer mode -> Create connector -> paste https://numertel.pl/api/mcp (No authentication).

  • Gemini CLI: {"mcpServers":{"numertel":{"httpUrl":"https://numertel.pl/api/mcp"}}}

  • Microsoft Copilot Studio: Tools -> Add Tool -> MCP -> paste the URL.

Higher limits: API key via Authorization: Bearer header (kontakt@numertel.pl).

Example response (shortened):

{
  "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):

{
  "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:

https://numertel.pl/api/mcp

Konfiguracja działająca w większości klientów MCP:

{
  "mcpServers": {
    "numertel": {
      "type": "http",
      "url": "https://numertel.pl/api/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):

{
  "mcpServers": {
    "numertel": {
      "command": "node",
      "args": ["/sciezka/do/numertel-mcp.mjs"],
      "env": { "NUMERTEL_API_KEY": "(opcjonalnie, wyzszy limit)" }
    }
  }
}

REST API

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.

Available Tools

5 tools
check_phone_numberSprawdź numer telefonu (PL)A
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesPolski numer w formacie 9 cyfr, np. 510100100 (akceptowane +48 i spacje — zostaną usunięte)

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYes
e164Yes
is_dnoYes
numberYes
dno_noteNo
operatorNo
score_avgNo
whitelistNo
spam_labelYes
attributionYes
number_typeNo
operator_noteNo
sightings_30dNo
total_opinionsYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds valuable context beyond annotations by detailing the exact data returned (operator, risk label, DNO status, white list, counters) and explains a nuanced behavior: DNO numbers indicate spoofing. It also cites the data source (numertel.pl), which is useful for trust assessment. This goes beyond a mere statement of safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, using two sentences to convey purpose, usage triggers, and output details. It is front-loaded with the action ('Sprawdź reputację') and organized logically: action first, then when to use, then return elements. Every clause adds relevant information without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only lookup tool with a rich output schema and strong annotations, the description covers all necessary aspects: what the tool does, when to use it, what it returns, and even a caveat about DNO/spoofing. It is comprehensive enough for an agent to select and invoke the tool correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameter semantics with a description for 'number' that mentions format, accepted +48 prefix, and spaces being removed. The tool description adds little extra beyond restating that it handles Polish numbers, since the schema already provides detailed formatting guidance. The baseline of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Sprawdź reputację polskiego numeru telefonu' (check the reputation of a Polish phone number). It also lists specific user queries that should trigger use, such as 'kto dzwonił' (who called) or 'czy numer to spam/oszustwo' (is the number spam/scam), which distinguishes it from sibling tools like check_scam_domain and find_official_number.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides when-to-use guidance: 'UŻYJ, gdy użytkownik pyta: kto dzwonił, czy numer to spam/oszustwo, czy telefon rzekomo z banku lub urzędu jest prawdziwy.' This is clear and actionable. However, it does not explicitly mention when not to use this tool or name alternative tools, though the sibling list and the described features imply appropriate use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_scam_domainSprawdź wiadomość: domeny i numeryA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesDomena, URL, adres e-mail, numer telefonu albo pełna treść wiadomości do sprawdzenia (max 5000 znaków)

Output Schema

ParametersJSON Schema
NameRequiredDescription
as_ofYes
phonesYes
sourceNo
checkedYes
list_sizeYes
any_listedYes
attributionYes
any_phone_flaggedNo

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly and idempotent behavior, so the description adds valuable extra context: the verdict is deterministic ('Werdykt deterministyczny, zero LLM') and the data sources are clearly attributed (CERT Polska, NumerTel, numertel.pl). It also discloses recognition of obfuscated formats, which helps set expectations. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured, front-loading the core action, then usage trigger, then acceptable inputs, then behavioral guarantees. Every sentence earns its place: it packs purpose, scope, examples, and data provenance without fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity, the presence of an output schema, and the readOnly/idempotent annotations, the description covers all essential aspects: what it checks, when to use it, what inputs it accepts, how it behaves (deterministic), and where its data comes from. It does not need to explain return values because the output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema already documents the 'text' parameter well, the description meaningfully enriches it by explaining accepted input forms (single domain, URL, email, number, or entire message) and how obfuscated formats are handled (evil[.]pl, hxxp://, +48). This goes beyond the schema's basic type description and gives the agent practical guidance for what to pass.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb-resource pair: checking pasted suspicious messages against CERT Polska's warning list and NumerTel phone database. It explicitly lists the artifact types (domains, links, emails, phone numbers) and distinguishes itself from the phone-only sibling tool by handling whole messages and multiple entity types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides an explicit trigger condition: 'UŻYJ, gdy użytkownik pyta: czy ten link/strona/mail jest bezpieczny...' This is strong when-to-use guidance. However, it does not mention when not to use it or name alternative sibling tools (e.g., check_phone_number) for phone-only queries, so it lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetchPobierz kartę numeruA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesId z wyników search: polski numer, 9 cyfr

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds a meaningful behavioral detail: it returns the same data as check_phone_number plus a link to the number's page. However, it doesn't describe error handling or edge cases, which is acceptable given the low complexity and annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action, and contains no fluff. Every word serves a purpose, and it remains concise while conveying key details about input and output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, annotations present, no output schema), the description is sufficient. It explains the input source and the output relationship to check_phone_number, providing enough context for an agent to use the tool correctly. Slight deduction for not detailing the exact return structure, but this is mitigated by the 'same data as check_phone_number' reference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage for the single parameter 'id', and the description essentially repeats what the schema already states (Polish number, 9 digits). No additional semantic value is added beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: fetching a full number reputation card by ID returned from search. It also specifies the ID format (9 digits) and distinguishes this from check_phone_number by noting it returns the same data plus a link to the number's page.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use this tool (after obtaining an ID from search) and contrasts it with check_phone_number, implying this is a more complete variant. While it doesn't explicitly mention alternatives or exclusions, the context provides sufficient guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pogoda_spamowaPogoda spamowa w PolsceA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoOkno dni wstecz dla statystyk dziennych (1-30, domyślnie 7)

Output Schema

ParametersJSON Schema
NameRequiredDescription
daysYes
as_ofYes
sourceNo
cert_dailyNo
attributionYes
recent_warningsNo
dno_numbers_totalYes
cert_new_domains_todayYes
cert_new_domains_windowNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations readOnlyHint and idempotentHint are present. The description adds value by detailing the return data (new domains, UKE list size, official warnings) and noting open data source (CC-BY). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph that efficiently conveys purpose, usage, and output. It front-loads the key verb and resource, and every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter, annotations, and an output schema, the description covers all necessary aspects: purpose, usage context, return data, and data source. It is complete for its role as a statistical aggregation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter 'days' fully described in the schema. The description does not add further parameter details beyond what the schema provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The title and description clearly state the tool provides current phone abuse indicators in Poland. It specifies exactly what data is returned (new domains, UKE list size, official warnings) and explicitly instructs when to use it (user asks about scam scale or new fraud campaigns), distinguishing it from sibling tools like check_phone_number or check_scam_domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'UŻYJ, gdy użytkownik pyta o skalę oszustów, phishingu lub spamu w Polsce albo co nowego w kampaniach oszustów', providing clear context for use. While it doesn't specifically state when not to use it, the focus and sibling context make the guidance sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.0
    • First observedcheck_phone_number
    • First observedcheck_scam_domain
    • First observedfetch
    • First observedpogoda_spamowa
    • First observedsearch

TDQS

A4.3/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: checking phone numbers, scanning messages, retrieving full details by ID, fetching scam statistics, and searching by number or name. No overlap in functionality.

Naming Consistency4/5

Most tool names follow a verb_noun pattern in English (check_phone_number, check_scam_domain). 'fetch' and 'search' are generic but consistent. 'pogoda_spamowa' is Polish, breaking the pattern, causing minor inconsistency.

Tool Count5/5

5 tools is well-scoped for the domain of Polish phone number reputation and scam detection. Each tool serves a necessary function without redundancy or bloat.

Completeness4/5

The tool set covers core operations: verifying numbers, scanning messages, searching, and retrieving details. Missing a tool for user submissions or reporting scams, but the domain is well-covered for a read-only reputation service.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides access to Poland's largest business registry database, enabling company search, beneficiary checks, and financial document retrieval via natural language.
    1
    -
  • A
    license
    A
    quality
    C
    maintenance
    Look up Polish companies from any AI assistant: registry data (KRS, REGON, CEIDG), VAT white list checks before payments, and financial statements of 4.4M businesses. Read-only tools backed by official public registers.
    4
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to look up Danish phone numbers for operator, company (CVR), and spam/trust information using official open data.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables querying phone number reputation data from ktozvonil.net, including community verdicts, spam ratings, and operator details, with optional authenticated comment posting via MCP.
    2
    29 npm
    MIT