USVI Public Records
Search and read U.S. Virgin Islands public records: laws, court records, audits, hearings, reports.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Company register lookups and KYB checks: registries, sanctions, PEP, offshore leaks, adverse media.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
SONAR_API_KEY, SONAR_API_BASE, SONAR_API_TIMEOUTค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"sonar": {
"command": "uvx",
"args": [
"getsonar-mcp"
],
"env": {
"SONAR_API_KEY": "ใส่ค่าของคุณ",
"SONAR_API_BASE": "ใส่ค่าของคุณ",
"SONAR_API_TIMEOUT": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add sonar --env SONAR_API_KEY='ใส่ค่าของคุณ' --env SONAR_API_BASE='ใส่ค่าของคุณ' --env SONAR_API_TIMEOUT='ใส่ค่าของคุณ' -- uvx getsonar-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"sonar": {
"command": "uvx",
"args": [
"getsonar-mcp"
],
"env": {
"SONAR_API_KEY": "ใส่ค่าของคุณ",
"SONAR_API_BASE": "ใส่ค่าของคุณ",
"SONAR_API_TIMEOUT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"sonar": {
"type": "stdio",
"command": "uvx",
"args": [
"getsonar-mcp"
],
"env": {
"SONAR_API_KEY": "ใส่ค่าของคุณ",
"SONAR_API_BASE": "ใส่ค่าของคุณ",
"SONAR_API_TIMEOUT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
SONAR_API_BASE envSONAR_API_TIMEOUT envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Ivanolegvak ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: SONAR_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.0) เข้า registry เมื่อวาน
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี USVI Public Records, Korean Government Documents (HWPX), Korea Tax Law
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Search and read U.S. Virgin Islands public records: laws, court records, audits, hearings, reports.
Turns a draft into a Korean government report or press release as HWPX in each ministry's format
Korea tax law: NTS rulings, court/tribunal decisions, basic rules, treaties, point-in-time statutes
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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-...
ตัดมาแค่ช่วงต้น อ่านต่อใน repo