Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

SONAR: KYB due diligence

von IvanolegvakVersion 0.3.0i★ –iLäuft auf deinem Computer
Name in der Registryio.github.Ivanolegvak/sonar-mcp

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Company register lookups and KYB checks: registries, sanctions, PEP, offshore leaks, adverse media.

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Recht & Behördendaten
  • Das musst du eintragen: SONAR_API_KEY

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
  • Das trägst du selbst ein: SONAR_API_KEY, SONAR_API_BASE, SONAR_API_TIMEOUT

Als geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.

Du brauchst

  • PyPIuv für Python installiert (für den Befehl uvx)

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "sonar": {
      "command": "uvx",
      "args": [
        "getsonar-mcp"
      ],
      "env": {
        "SONAR_API_KEY": "your-value",
        "SONAR_API_BASE": "your-value",
        "SONAR_API_TIMEOUT": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add sonar --env SONAR_API_KEY=your-value --env SONAR_API_BASE=your-value --env SONAR_API_TIMEOUT=your-value -- uvx getsonar-mcp

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "sonar": {
      "command": "uvx",
      "args": [
        "getsonar-mcp"
      ],
      "env": {
        "SONAR_API_KEY": "your-value",
        "SONAR_API_BASE": "your-value",
        "SONAR_API_TIMEOUT": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "sonar": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "getsonar-mcp"
      ],
      "env": {
        "SONAR_API_KEY": "your-value",
        "SONAR_API_BASE": "your-value",
        "SONAR_API_TIMEOUT": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Werte, die du selbst einträgst

  • SONAR_API_KEY geheim erforderlich env
    Your SONAR API key (sk-sonar-...). Create one at https://getsonar.report/developer/keys. A test key (sk-sonar-test-) runs company lookups for free against fixed scenarios.
  • SONAR_API_BASE env
    API base URL. Only change it for a staging or self-hosted SONAR.
  • SONAR_API_TIMEOUT env
    Per-request timeout in seconds.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto Ivanolegvak bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Im Vergleich mit anderen in Recht & Behördendateni

  • Mehr Sterne als 0 % der anderen 1747 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 98 % der anderen 1747 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 1747 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist SONAR: KYB due diligence sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: SONAR_API_KEY

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.3.0) kam gestern in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Private Law Wiki, Compliance, SOS.city public record

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Private Law Wiki

Sourced answers, search and bank-case assessment for wiki.private.law by the Mothership runtime.

von privatelawattorneysGanz neuAktualisiert heute

Läuft in der Cloud

Compliance

Indian business compliance answers: MCA late fees, filing calendar, cheque bounce, MSME interest.

von buildwright.co.inAm AnfangAktualisiert heute

Läuft in der Cloud✓ buildwright.co.in

SOS.city public record

Public records for every city: permits, alerts, wildfires, laws and funding, linked to the source.

von Proof-LayerAm AnfangAktualisiert heute

Läuft in der Cloud

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

getsonar-mcp

MCP server for SONAR: KYB due diligence on vendors, partners and resellers, callable from your AI assistant.

Ask Claude, Cursor or Windsurf whether a company exists and is in good standing, or to screen it, and it gets back the official register record, sanctions and PEP matches, ICIJ Offshore Leaks hits and adverse media, each finding naming the kind of source it came from.

SONAR is a due-diligence aid built on public records. It is not a regulated AML/KYC provider and its output is not a compliance decision: a human reviews the findings.

Features

  • Company register lookup: a live search of the official register in about a second (GB, FR, CZ, SK, NO, FI, CH, EE, LV, US states; PL, BE, BR by number): exists or not, active, good standing, legal form, address, VAT number, previous names, officers and filings. €0.01 only when the company is found
  • Company registries in the KYB check: official company registries in 10+ countries for legal name, number, status, address, officers and owners
  • Sanctions and PEP screening: native OFAC, UN, UK OFSI and Swiss SECO lists plus the OpenSanctions aggregator
  • ICIJ Offshore Leaks: Panama, Paradise and Pandora Papers, Bahamas Leaks
  • Regulatory registers: UK FCA Register, UK Disqualified Directors, The Gazette insolvency notices
  • Adverse media: 10-year lookback on news, complaints and reviews
  • Three call shapes: a register lookup (about 1 s), structured screening findings (30-90 s; the tools poll the API's 202 + poll URL for you) or a full written report (async, about 3 min)

Works with Claude Desktop, Claude Code, Cursor, Windsurf and any other Model Context Protocol client. Listed in the official MCP Registry as io.github.Ivanolegvak/sonar-mcp.

Pricing

The API is pay per call:

CallPrice
Company lookup (company_lookup, company_officers)€0.01 when the company is found, free when not; the first 100 found are free
/findings (kyb_findings, adverse_media)€0.50
/run (kyb_run_submit)€6.00
check_report_status, account_balancefree

Your first API call is free (a findings or report call; lookups have their own 100 free). After that, calls are paid from a prepaid balance: top up from €5 at getsonar.report/developer/keys. Plans and the web app's free tier are on getsonar.report/pricing.

Get an API key

  1. Sign up at getsonar.report
  2. Open Developer → API keys
  3. Click Create API Key and copy the sk-sonar-... key

Installation

You need uv (it provides uvx). Nothing else to install: uvx getsonar-mcp fetches and runs the latest release. With pipx instead: pipx install getsonar-mcp, then use getsonar-mcp as the command.

The key goes in the SONAR_API_KEY environment variable of the server process.

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{

"mcpServers": { "sonar": { "command": "uvx", "args": ["getsonar-mcp"], "env": { "SONAR_API_KEY": "sk-sonar-YOUR_KEY_HERE" } } } }

Restart Claude Desktop. The seven SONAR tools appear in the tools menu. If they don't, Claude Desktop may not find uvx on its PATH: replace "uvx" with the full path that which uvx prints (e.g. /Users/you/.local/bin/uvx).

Claude Code
claude mcp add sonar --env SONAR_API_KEY=sk-sonar-YOUR_KEY_HERE -- uvx getsonar-mcp

Add --scope user to make it available in every project. Check it with claude mcp list.

Cursor

Edit ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):

{

"mcpServers": { "sonar": { "command": "uvx", "args": ["getsonar-mcp"], "env": { "SONAR_API_KEY": "sk-sonar-YOUR_KEY_HERE" } } } }

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json (or Windsurf Settings → Cascade → MCP servers → View raw config):

{

"mcpServers": { "sonar": { "command": "uvx", "args": ["getsonar-mcp"], "env": { "SONAR_API_KEY": "sk-sonar-YOUR_KEY_HERE" } } } }

Other clients (Continue.dev, Zed, Cline, ...) take the same command, args and env; see your client's MCP docs for where the config lives.

Configuration

VariableDefaultPurpose
SONAR_API_KEY(required)Your sk-sonar-... API key (or an sk-sonar-test-... sandbox key, see below)
SONAR_API_BASEhttps://api.getsonar.reportOverride for staging or self-hosted SONAR
SONAR_API_TIMEOUT120Per-request timeout in seconds
SONAR_MCP_LOG_LEVELINFODEBUG for verbose logs (stderr)

Tools

ToolWhat it doesPrice
company_lookupRegister check: does the company exist, is it active and in good standing€0.01 if found
company_officersA company's officers from its register, current and former€0.01 if found
kyb_findingsKYB screening: sanctions, PEP, owners, adverse media and the register€0.50
kyb_run_submitSubmit a full KYB report, returns a run_id€6.00
adverse_mediaNegative news, complaints and reviews€0.50
check_report_statusPoll a report submitted with kyb_run_submitfree
account_balanceBalance, free calls and free lookups remainingfree

All tools return Markdown for the model to read. Which one to use:

  • "Does this company exist / is it registered / is it active?": company_lookup (€0.01)
  • "Who are its directors?": company_lookup with include: ["officers"], or company_officers (€0.01)
  • "Screen it for sanctions, PEP, offshore leaks or bad press": kyb_findings (€0.50)
  • "Give me a full written KYB report": kyb_run_submit then check_report_status (€6.00)
company_lookup

Input:

{ "country": "GB", "company_name": "Tesco PLC", "include": ["officers", "filings"] }

country (ISO code) is required, plus company_name or registration_number (a number is matched exactly and decides alone; PL, BE and BR take a number only). state is required for the US (NY, CO, OR, CT, TX, PA, FL, IA, DC). include is optional and free: officers (GB, CZ, SK, NO, FR) and filings (GB, FR) of the found company.

The name rule is strict: case, punctuation, accents and the spelling of the legal form are set aside, any other difference is another company, so a look-alike name is NOT_FOUND.

Output: a headline, then the API's full JSON answer (every field, nothing dropped):

# Company lookup: Tesco PLC (GB): **FOUND**
  • TESCO PLC (00445790): active (register: active)
  • Good standing: yes (active, no default or insolvency marker on the register)
  • Charged: €0.01 · Free lookups left: 0

Full answer: {"query": ..., "status": "FOUND", "matches": [{"name": "TESCO PLC", "good_standing": true, "officers": [...], "filings": [...], ...}], "truncated": null, "coverage_note": null, ...}

good_standing is false when the company is closed or the register marks a default or insolvency (GB: accounts or confirmation statement overdue, strike-off pending), and null where the register publishes no such markers. truncated: true (FR) means the register holds more companies of the name than it returned: search by number. coverage_note (US) says what the state register holds, so a NOT_FOUND reads for what it is.

company_officers

Input:

{ "country": "GB", "registration_number": "00445790" }

Output: a headline (current and former officer counts, price) and the full JSON: name, role, person or company, appointed_on, resigned_on. GB, CZ, SK, NO, FR. Priced like a lookup.

kyb_findings

Input:

{ "company_name": "Tesco PLC", "website": "https://www.tesco.com", "country": "GB", "registration_number": "00445790" }

company_name is required. Pass country (and state for the US): without it no company register is searched and the answer says NOT_SEARCHED. registration_number and vat_number are optional. website is optional but strongly recommended: it separates the company from unrelated ones sharing the name.

Output (abridged, values illustrative):

# KYB Screening: Tesco PLC

Sources checked: 42 · Processing time: 41250ms

Company register: FOUND (GB)

  • Registered name: TESCO PLC
  • Number: 00445790
  • Status: active
  • Good standing: yes (active, no default or insolvency marker on the register)

Found data: corporate_registration, directors_officers, adverse_media Checked, clean (the check ran and returned nothing about the company): sanctions_screening, offshore_leaks

Corporate Registration (confidence: HIGH)

  • TESCO PLC (00445790), active Public limited company Source: company_register

Each finding names the kind of source (company_register, sanctions_lists, offshore_records, news_search, ...); news articles keep their link.

kyb_run_submit

Input: same as kyb_findings. Output:

Report submitted.
  • Run ID: 3f6c...
  • Status: pending
  • Estimated time: 90 seconds

Call check_report_status with run_id='3f6c...' and agent_type='kyb-diligence' in 30-60 seconds to get the result.

check_report_status

Input:

{ "run_id": "3f6c...", "agent_type": "kyb-diligence" }

agent_type is kyb-diligence (default) or adverse-media. While the report runs it answers Report status: running. Still processing, check again in 15-30 seconds.; when done it returns a compact summary: overall verdict and risk level, company details, a PASS / REVIEW / FLAG table of checks, risk flags, directors and sanctions coverage.

adverse_media

Input: same as kyb_findings. Output: the same Markdown shape as kyb_findings, limited to news, complaints and review sites (no sanctions or PEP screening).

account_balance

Input: none. Output:

# Account usage: 2026-11
  • Calls this month: 0
  • Free trial calls remaining: 1 (granted once at signup)
  • Pre-paid balance: €5.00
  • Free company lookups remaining: 100 (spent only when a lookup finds the company)

Example prompts

"Is Tesco PLC an active UK company in good standing? Who are its directors?"

The model calls company_lookup with country: "GB" and include: ["officers"]: one call, €0.01.

"Run a KYB check on Tesco PLC (tesco.com) and tell me if anything needs a closer look."

The model calls kyb_findings, reads the structured findings and points out sanctions, register or adverse-media hits with their kind of source.

"Get a full KYB report on Wise Payments Limited and summarise it when it's done."

The model calls kyb_run_submit, then check_report_status until the report is complete.

"How many free trial calls do I have left?"

The model calls account_balance.

Verify your install

The MCP Inspector starts the server and lists its tools:

SONAR_API_KEY=sk-sonar-YOUR_KEY_HERE npx @modelcontextprotocol/inspector uvx getsonar-mcp

Listing tools works without a key; calling one needs a valid key.

Test without paying (sandbox key)

Create a test key (`sk-sonar-test-...

Nur der Anfang wird gezeigt; den Rest findest du im Repo

PopNx fragen