Korea Ground-Truth MCP
Korea Ground-Truth MCP
Headless, KI-native SaaS, deren Kunde ein KI-Agent ist. Sie stellt koreanische Faktenprüfungs-Tools über MCP (Streamable HTTP) und REST bereit; die Abrechnung erfolgt über Prepaid-Credits.
Tool | Quelle | Credits |
| 국세청 (data.go.kr) | 2 |
| 행안부 juso.go.kr | 1 |
| DART | 1 / 2 |
| 국토교통부 (data.go.kr) | 3 |
| 법제처 law.go.kr | 2 |
| intern | kostenlos |
Live: https://kr-groundtruth-mcp.vercel.app — /llms.txt, /openapi.json, /pricing.json. MCP-Endpunkt: /api/mcp.
claude mcp add --transport http kgt https://kr-groundtruth-mcp.vercel.app/api/mcp --header "Authorization: Bearer kgt_live_..."Stack
Next.js 16 (App Router) · mcp-handler 2 (MCP SDK v2, zustandslos) · Supabase Postgres · Toss Payments · Vercel.
Related MCP server: apick-mcp
Infrastruktur
Supabase-Projekt
kr-groundtruth-mcp(refkzjzjahokqduktphxpsj, ap-northeast-2)Vercel-Projekt
chloepark85s-projects/kr-groundtruth; Umgebungsvariablen für die Produktion gesetzt (vercel env ls)Einträge: Official MCP Registry
io.github.ChloePark85/kr-groundtruth(server.json+mcp-publisher), Smitheryhapark85/kr-groundtruth(smithery mcp publish … --config-schema), Glama (automatisch indexiert; beansprucht über/.well-known/glama.json), mcp.so (Issue chatmcp/mcpso#3776)MCP-Authentifizierung: Discovery (initialize/tools/list) ist öffentlich;
tools/callbenötigt einen Schlüssel überAuthorization: Bearer,x-api-keyoder?apiKey=
Einrichtung
Supabase-Projekt →
supabase/migrations/0001_core.sqlim SQL-Editor ausführen (odersupabase db push)..env.example→.env.localkopieren und Schlüssel eintragen:DATA_GO_KR_KEY: Bei data.go.kr die Nutzung von 「국세청_사업자등록정보 진위확인 및 상태조회」 und 「국토교통부_아파트 매매 실거래가」 beantragen (automatische Genehmigung)JUSO_KEY: Genehmigungsschlüssel bei business.juso.go.kr beantragenDART_KEY: Authentifizierungsschlüssel bei opendart.fss.or.kr beantragenLAW_OC: Bei law.go.kr die OPEN API beantragen (Admin-Freigabe 1~2 Tage)TOSS_CLIENT_KEY/TOSS_SECRET_KEY: 토스페이먼츠-Testschlüssel
npm run devDie DART-Namenssuche benötigt die Unternehmenscodeliste:
npx tsx scripts/sync-dart-corp-codes.ts(monatlich erneut ausführen).
Ablauf
POST /v1/accounts {email} → api_key (once) + 50 free credits
claude mcp add --transport http kgt $URL/api/mcp --header "Authorization: Bearer kgt_live_..."
tools/call → debit_credits (row-locked) → cache → upstream → {ok, data, meta:{cost, balance_remaining}}
402 INSUFFICIENT_CREDITS → POST /v1/topups {credits} → checkout_url → human pays (Toss) → credit_credits (idempotent)Designhinweise
src/lib/tools/registry.tsist die einzige Quelle für MCP-Tools, REST-Routen, OpenAPI, Preise und llms.txt. Die Preise werden außerdem intool_priceseingespielt; die DB-Zeile ist die Belastungsgrundlage fürdebit_credits.Belastung vor dem Upstream-Aufruf; bei Upstream-Fehler → automatische Erstattung (
credit_ledger.reason='refund').credit_ledgerist append-only (per Trigger) mitunique(reason, ref_id), sodass der Toss-Erfolgs-Redirect und der Webhook beide sicher laufen können.Alle Tabellen haben RLS aktiviert und keine Policies; nur der Service-Role-Schlüssel (Server) kann auf sie zugreifen.
Metriken
npm run metrics [-- --days 7 --include-test]— wöchentlicher Bericht (Nordstern = wöchentlich aktive API-Schlüssel; Funnel: Konto erstellt → erster Aufruf → Aufruf am 2. Tag → 402 → Aufladung; Zeit bis zum ersten Aufruf; Aufrufe nach Tool; Umsatz). Testkonten (@example.com) sind ausgeschlossen, außer wenn--include-testangegeben ist.GET /v1/admin/metrics?days=7mit Headerx-admin-token: $ADMIN_TOKENliefert dasselbe JSON (metrics_report()insupabase/migrations/0002_metrics.sql).
Verifizierungs-Checkliste
H=http://localhost:3000
curl -X POST $H/v1/accounts -H 'content-type: application/json' -d '{"email":"a@b.com"}'
K=kgt_live_...
curl -X POST $H/api/mcp -H "Authorization: Bearer $K" -H 'accept: application/json, text/event-stream' -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -X POST $H/v1/tools/search_address -H "Authorization: Bearer $K" -H 'content-type: application/json' -d '{"keyword":"세종대로 209"}'
# race test: 50 concurrent calls on a low balance → ledger sum == balance
seq 50 | xargs -P 50 -I{} curl -s -o /dev/null -w '%{http_code}\n' -X POST $H/v1/tools/search_address -H "Authorization: Bearer $K" -H 'content-type: application/json' -d '{"keyword":"테스트 {}"}' | sort | uniq -cThis server cannot be deployed
Maintenance
Related MCP Connectors
- mcpweaveOAuthcom.mcpweave
Korea-native MCP gateway: Korean commerce, payments, messaging, gov & finance APIs for AI agents.
Korean fact-verification tools for AI agents: business registration, address, DART, apt prices, laws
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Free lookup of Korean district codes (LAWD_CD) for kr-apt-trades — paid per call (x402/credits), 1 …
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI to query real-time Korean public data including weather, real estate prices, air quality, economic indicators, and business registration via natural language.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables access to 82 Korean data and AI tools through MCP, including business registry lookup, ID document verification, parcel tracking, OCR, file conversion, web/image intelligence, and LLM calls, all billed per call from a single APICK key.1,349 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables real-time verification of Korean business registration status and KYB identity checks using official Korea National Tax Service data.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to query and analyze Korean property data—court auctions, actual transactions, subscription announcements, price trends, and loan/tax calculations—through MCP tools.MIT