Korea Data MCP
Korean public data: corporate filings, stock prices, apartments, statutes, economic statistics
Descripción del creador (original en inglés)
Company register lookups and KYB checks: registries, sanctions, PEP, offshore leaks, adverse media.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
SONAR_API_KEY, SONAR_API_BASE, SONAR_API_TIMEOUTLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"sonar": {
"command": "uvx",
"args": [
"getsonar-mcp"
],
"env": {
"SONAR_API_KEY": "your-value",
"SONAR_API_BASE": "your-value",
"SONAR_API_TIMEOUT": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add sonar --env SONAR_API_KEY=your-value --env SONAR_API_BASE=your-value --env SONAR_API_TIMEOUT=your-value -- uvx getsonar-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"sonar": {
"command": "uvx",
"args": [
"getsonar-mcp"
],
"env": {
"SONAR_API_KEY": "your-value",
"SONAR_API_BASE": "your-value",
"SONAR_API_TIMEOUT": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
SONAR_API_BASE envSONAR_API_TIMEOUT envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 9 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub Ivanolegvak, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: SONAR_API_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.3.0) llegó al registro ayer.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Korea Data MCP, CaseNode Case Law API, Good-neighbor passport: agent traffic governor
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Korean public data: corporate filings, stock prices, apartments, statutes, economic statistics
UK case law: 290k+ judgments, 2.5M citation links, citation validation. Free key at casenode.ai
Good-neighbor traffic passport: signed per-host budgets, egress governor, compliance receipts
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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.
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.
The API is pay per call:
| Call | Price |
|---|---|
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_balance | free |
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.
sk-sonar-... keyYou 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.
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 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.
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" } } } }
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.
| Variable | Default | Purpose |
|---|---|---|
SONAR_API_KEY | (required) | Your sk-sonar-... API key (or an sk-sonar-test-... sandbox key, see below) |
SONAR_API_BASE | https://api.getsonar.report | Override for staging or self-hosted SONAR |
SONAR_API_TIMEOUT | 120 | Per-request timeout in seconds |
SONAR_MCP_LOG_LEVEL | INFO | DEBUG for verbose logs (stderr) |
| Tool | What it does | Price |
|---|---|---|
company_lookup | Register check: does the company exist, is it active and in good standing | €0.01 if found |
company_officers | A company's officers from its register, current and former | €0.01 if found |
kyb_findings | KYB screening: sanctions, PEP, owners, adverse media and the register | €0.50 |
kyb_run_submit | Submit a full KYB report, returns a run_id | €6.00 |
adverse_media | Negative news, complaints and reviews | €0.50 |
check_report_status | Poll a report submitted with kyb_run_submit | free |
account_balance | Balance, free calls and free lookups remaining | free |
All tools return Markdown for the model to read. Which one to use:
company_lookup (€0.01)company_lookup with include: ["officers"], or company_officers (€0.01)kyb_findings (€0.50)kyb_run_submit then check_report_status (€6.00)company_lookupInput:
{ "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**
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_officersInput:
{ "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_findingsInput:
{ "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
Found data: corporate_registration, directors_officers, adverse_media Checked, clean (the check ran and returned nothing about the company): sanctions_screening, offshore_leaks
Each finding names the kind of source (company_register, sanctions_lists, offshore_records, news_search, ...); news articles keep their link.
kyb_run_submitInput: same as kyb_findings. Output:
Report submitted.
3f6c...Call check_report_status with run_id='3f6c...' and agent_type='kyb-diligence' in 30-60 seconds to get the result.
check_report_statusInput:
{ "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_mediaInput: 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_balanceInput: none. Output:
# Account usage: 2026-11
"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.
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.
Create a test key (`sk-sonar-test-...
Solo se muestra el principio; lee el resto en el repo