Korean Law MCP
Korean law: statutes, precedents, ordinances, treaties and citation verification (법제처 API).
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
A catalog-driven gateway over Brazilian government APIs, loading OpenAPI specs on demand.เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
SettingsDeveloperEdit Config
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ gov.br APIs MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ gov.br APIs MCP หรือมีชื่อเครื่องมือของ gov.br APIs MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ gov.br APIs MCP ไม่ได้
gov.br APIs MCP ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
ก · ใช้แอปที่ต่อ gov.br APIs MCP ได้
ข · ตัวอื่นในหมวด กฎหมายและข้อมูลภาครัฐ ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ gov.br APIs MCP (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
แก้ “ใส่ค่าของคุณ” เป็นคีย์ของคุณก่อนกด Enter
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ต้องเห็น gov.br APIs MCP ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ใช้ gov.br APIs MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ gov.br APIs MCP หรือมีชื่อเครื่องมือของ gov.br APIs MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ gov.br APIs MCP (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
ในค่าตั้งของ gov.br APIs MCP ช่อง TRANSPARENCIA_API_KEY, DATAJUD_API_KEY, DADOSGOV_API_KEY, SERPRO_CPF_CLIENT_ID, SERPRO_CPF_CLIENT_SECRET, SERPRO_CNPJ_CLIENT_ID, SERPRO_CNPJ_CLIENT_SECRET, SERPRO_DATAVALID_CLIENT_ID, SERPRO_DATAVALID_CLIENT_SECRET, MEIAENTRADA_CODIGO_ACESSO, GOVBR_CATALOG_DIR, GOVBR_EXTRA_CATALOG_DIR, GOVBR_EXTRA_ALLOWED_HOSTS, XDG_CACHE_HOME ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ gov.br APIs MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ gov.br APIs MCP หรือมีชื่อเครื่องมือของ gov.br APIs MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ gov.br APIs MCP (สร้างที่เว็บของผู้ทำ) · ต้องลง Python (uv) ในเครื่องก่อน (ทำครั้งเดียว)
ทำครั้งเดียว ใช้ได้กับทุกตัวที่ต้องใช้ Python (uv)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป ราคาและแผนฟรีดูที่เว็บของผู้ทำ
วิธีขอคีย์อยู่ใน README ของผู้ทำด้านล่าง
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
ในค่าตั้งของ gov.br APIs MCP ช่อง TRANSPARENCIA_API_KEY, DATAJUD_API_KEY, DADOSGOV_API_KEY, SERPRO_CPF_CLIENT_ID, SERPRO_CPF_CLIENT_SECRET, SERPRO_CNPJ_CLIENT_ID, SERPRO_CNPJ_CLIENT_SECRET, SERPRO_DATAVALID_CLIENT_ID, SERPRO_DATAVALID_CLIENT_SECRET, MEIAENTRADA_CODIGO_ACESSO, GOVBR_CATALOG_DIR, GOVBR_EXTRA_CATALOG_DIR, GOVBR_EXTRA_ALLOWED_HOSTS, XDG_CACHE_HOME ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ gov.br APIs MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ gov.br APIs MCP หรือมีชื่อเครื่องมือของ gov.br APIs MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม
ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง
Claude Code
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
Claude Desktop (claude_desktop_config.json)
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
Cursor (~/.cursor/mcp.json)
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
VS Code (mcp.json)
กำลังตรวจคำสั่ง · ปุ่มคัดลอกจะขึ้นเมื่อตรวจผ่าน
TRANSPARENCIA_API_KEY ความลับ envDATAJUD_API_KEY ความลับ envDADOSGOV_API_KEY ความลับ envSERPRO_CPF_CLIENT_ID ความลับ envSERPRO_CPF_CLIENT_SECRET ความลับ envSERPRO_CNPJ_CLIENT_ID ความลับ envSERPRO_CNPJ_CLIENT_SECRET ความลับ envSERPRO_DATAVALID_CLIENT_ID ความลับ envSERPRO_DATAVALID_CLIENT_SECRET ความลับ envMEIAENTRADA_CODIGO_ACESSO ความลับ envGOVBR_CATALOG_DIR envGOVBR_EXTRA_CATALOG_DIR envGOVBR_EXTRA_ALLOWED_HOSTS envXDG_CACHE_HOME envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 13 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub thalisantunes ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด 24 วันที่ผ่านมา
ใช้ MIT
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
ยังไม่มีรีวิว
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: TRANSPARENCIA_API_KEY, DATAJUD_API_KEY, DADOSGOV_API_KEY, SERPRO_CPF_CLIENT_ID, SERPRO_CPF_CLIENT_SECRET, SERPRO_CNPJ_CLIENT_ID, SERPRO_CNPJ_CLIENT_SECRET, SERPRO_DATAVALID_CLIENT_ID, SERPRO_DATAVALID_CLIENT_SECRET, MEIAENTRADA_CODIGO_ACESSO
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด 24 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.2.0) เข้า registry 24 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Korean Law MCP, Global law, Tw Legal Rag
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Korean law: statutes, precedents, ordinances, treaties and citation verification (법제처 API).
The law of nearly every country on earth, any date: read it, see what changed it, check citations.
Taiwan law MCP server: 22M court judgments, statutes, agency rulings, with citation checks
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
MCP server that turns Brazilian government APIs into Claude-callable tools through a catalog-driven gateway: instead of one tool per endpoint (hundreds — would blow up client context), five generic tools operate over a local YAML catalog of 116 APIs.
Only the entries that declare an openapi_url have a spec to load: today the Câmara dos Deputados and the Portal da Transparência, 2 of the 116. For those, describe_api loads the OpenAPI spec on demand. Every other callable entry (see the "Callable today?" column below) is reached through call_api alone, using the endpoints in its description and docs_url.
| Tier | File | Access model | Callable today? |
|---|---|---|---|
public | src/govbr_apis_mcp/catalog_data/public.yaml | Free — no auth or free API key (IBGE, Banco Central, Câmara, Senado, Portal da Transparência, DataJud, Ipeadata, dados.gov.br…) | Yes |
serpro | src/govbr_apis_mcp/catalog_data/serpro.yaml | Serpro commercial (loja.serpro.gov.br) — OAuth2 client credentials per contracted API, paid per call | With a Serpro contract: set the SERPRO_* variables |
meia-entrada | src/govbr_apis_mcp/catalog_data/meia_entrada.yaml | Eligibility sources for half-price tickets (student CIE, ID Jovem, PcD, e-MEC) — see docs/meia-entrada.md and the POC | CIE yes (DNE and FESN); the rest is manual |
conecta | src/govbr_apis_mcp/catalog_data/conecta.yaml | Conecta gov.br — restricted to public-sector entities; 95 APIs indexed as stubs for discovery | Not yet (adhesion pending) |
The Conecta tier exists so the catalog reflects the whole landscape now, and becomes callable later by filling in base_url + credentials — the OAuth2 client-credentials flow is already implemented (Serpro uses the same one).
search_catalog(query, category?) — accent-insensitive keyword search; reports total matches and whether the list was truncated.list_apis(category?, status?, limit?) — enumerate entries, callable ones first (by the catalog's status, not by whether your credentials are set; filter it: ~95 Conecta stubs otherwise dominate the output).describe_api(api_id, path?, method?) — catalog metadata + OpenAPI operation list; with path, parameter/request/response schemas ($refs inlined, depth-limited). Reads OpenAPI 3 and Swagger 2.0, as JSON or YAML.call_api(api_id, path, method?, query?, body?, headers?) — invoke an endpoint; base URL and auth resolved from the catalog entry.method is GET, HEAD, POST, PUT, PATCH, DELETE or OPTIONS; anything else returns an error with allowed_methods. A body is accepted only with POST, PUT and PATCH.path is relative to the base_url. . and .. segments (after up to three rounds of percent-decoding, with \ read as / and ; parameters removed) and any path that leaves the base_url prefix are rejected. So is a # (a fragment is never sent; write a literal one as %23) or a control character.path is merged with query; a key in query replaces the embedded one, and a list value repeats the key._ equal to -. Authorization, Proxy-Authorization, Host, Cookie and Accept-Encoding, plus connection, proxy, forwarding and method-override headers, are dropped and reported in ignored_headers (the full list is in server.py). The managed credential is applied last and always wins. A header with an invalid name or value is not ignored: it fails the call with an error.{"error": ...}.3xx is not followed: the response carries its location (redacted, resolved against the requested URL). Response bodies are cut at 60,000 characters.credentials_status(api_id?) — which env vars each API needs and whether they're set, plus callable: whether call_api would accept the entry right now (available and unstable entries; requires_contract ones only once their env vars are set).Fluxo funcional ponta a ponta (código da CIE → decisão de elegibilidade), incluindo modo demo sem credencial: poc/README.md.
python3 -m venv .venv
.venv/bin/pip install -e '.[dev]' .venv/bin/pytest
Register in Claude Code (.mcp.json or claude mcp add):
{
"mcpServers": { "govbr-apis": { "command": "/path/to/govbr-apis-mcp/.venv/bin/govbr-apis-mcp", "env": { "TRANSPARENCIA_API_KEY": "...", "DATAJUD_API_KEY": "..." } } } }
From PyPI: uvx govbr-apis-mcp (set "command": "uvx" and "args": ["govbr-apis-mcp"] in the entry above; no checkout needed). Each release is published to PyPI and to the MCP Registry automatically (publish.yml).
Or run it in a container. The server speaks stdio, so keep -i:
docker build -t govbr-apis-mcp . && docker run -i --rm -e TRANSPARENCIA_API_KEY=... govbr-apis-mcp
All secrets come from env vars declared per entry in the catalog (auth_config). Nothing is stored in the repo. .env.example lists the variables. Entries with a free key carry a signup_url; Serpro credentials come with the contract, at loja.serpro.gov.br. credentials_status reports readiness.
The server does not read .env files, and MCP clients start it with a minimal environment, so an export in your shell may never reach it. Put the variables in the client's env block (the example above, or claude mcp add -e KEY=value). For a container, copy .env.example to a git-ignored file such as .env.local, fill in the copy and pass it with docker run --env-file .env.local. Never put real values in .env.example: it is versioned.
API keys (the value together with any prefix) are stripped of surrounding whitespace and must be printable ASCII; otherwise the call fails with credential in contains invalid characters, without echoing the value. OAuth2 client ids and secrets are only stripped: they travel base64-encoded, so any text works. The access token the endpoint returns must be printable ASCII too. When the token endpoint fails, the call returns an error and the token_url, with neither the response body nor any secret.
Auth profiles: none, api_key (static header, optional value prefix — e.g. DataJud's APIKey ), oauth2_client_credentials (token endpoint + id/secret, in-memory token cache; used by Serpro today, by Conecta after adhesion).
Add an entry to a YAML file in src/govbr_apis_mcp/catalog_data/. The directory is package data, so the wheel, uvx and the Docker image all carry the catalog. Minimum fields: id, name, provider, category, status, auth. Add openapi_url when the API publishes a spec — describe_api then works with zero code. Regenerate the Conecta tier with .venv/bin/python scripts/scrape_conecta.py. It leaves the file alone when the page yields no APIs, an id the catalog would reject, or fewer than half the current entries (--force overrides only the last check).
Entries are validated on load: ids must be filename-safe, URLs must be https on an allowlisted host (*.gov.br, *.leg.br, *.jus.br plus a few named hosts), and a hostname may only contain [a-z0-9.-] (write internationalized names in punycode). This is a security boundary, not style — the catalog decides where your credentials are sent. Add a host with GOVBR_EXTRA_ALLOWED_HOSTS only if you trust it with them; the same hostname rule applies to it.
To override entries without forking (e.g. filling in Conecta base URLs after adhesion), point GOVBR_EXTRA_CATALOG_DIR at a directory of .yaml or .yml files whose same-id entries win. A directory that does not exist or holds no entries is an error, and so is an id repeated inside it; an empty value counts as unset. GOVBR_CATALOG_DIR replaces the base catalog entirely and should be treated as trusted input.
python3 -m venv .venv
.venv/bin/pip install -e '.[dev]' .venv/bin/ruff check . .venv/bin/ruff format --check . .venv/bin/pytest
CI runs ruff on Python 3.12 and the test suite on 3.11–3.14, then builds the wheel and loads the catalog from a clean install.
$XDG_CACHE_HOME/govbr-apis-mcp/ (or ~/.cache/govbr-apis-mcp/) for 24 hours, under a file name derived from sha256(api_id + "\n" + openapi_url): never the id itself, and a changed openapi_url never serves the old spec. OAuth2 tokens live in memory only.call_api does not follow redirects — credentialed requests cannot be steered to another host by a 3xx; the response carries the (redacted) location instead. It always sends Accept-Encoding: identity, so a server has no reason to compress. The 60,000-character cut counts decoded text, though: a server that compresses anyway can still inflate a small chunk before the cut (an accepted risk; see the roadmap).Location) must be https on an allowlisted host before it is requested. The body is capped at 5 MiB, JSON and YAML are accepted (YAML with aliases, including merge keys that rely on them, is refused), and the document must carry openapi or swagger. A compressed response is refused and the whole download has a 60-second deadline; both come back as spec_error.httpx and httpcore loggers stay at WARNING, so httpx logs no request URL (query string included).pii: true return personal data (CPF, name, photo) into the client transcript. Today: meiaentrada-cie-validador, fesn-cie-validador (callable without any credential: whoever holds a use code gets the holder's data) and the three Serpro entries.-trial base URLs with the published demo token)conecta-id-jovem (admite instituição privada)MIT - see LICENSE.