tax-law-mcp
Fetches Japanese tax statutes, NTA interpretive circulars and tribunal rulings as source text
Search and read Korean statutes, court rulings, ordinances and treaties from the government law database
By 딴짓하는 류주임 (individual) TypeScript Remote (hosted) · Streamable HTTPLocal · stdio Web searchKnowledge and memory
84 popularity score ★ 2.8k ↓ 11k/wk
Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
claude mcp add --transport http korean-law https://mcp.gomdori.app/lawhttps://mcp.gomdori.app/law?oc=<LAW_OC>{
"mcpServers": {
"korean-law": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.gomdori.app/law?oc=<LAW_OC>"
]
}
}
}{
"mcpServers": {
"korean-law": {
"url": "https://mcp.gomdori.app/law?oc=<LAW_OC>"
}
}
}{
"mcpServers": {
"korean-law": {
"url": "https://mcp.gomdori.app/law?oc=<LAW_OC>"
}
}
}{
"servers": {
"korean-law": {
"type": "http",
"url": "https://mcp.gomdori.app/law"
}
}
}Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
It needs LAW_OC. Replace each <NAME> with your value.
npm install --ignore-scripts --omit=optional -g korean-law-mcpclaude mcp add korean-law -e LAW_OC=<LAW_OC> -- korean-law-mcp{
"mcpServers": {
"korean-law": {
"command": "korean-law-mcp",
"args": [],
"env": {
"LAW_OC": "<LAW_OC>"
}
}
}
}{
"mcpServers": {
"korean-law": {
"command": "korean-law-mcp",
"args": [],
"env": {
"LAW_OC": "<LAW_OC>"
}
}
}
}{
"servers": {
"korean-law": {
"type": "stdio",
"command": "korean-law-mcp",
"args": [],
"env": {
"LAW_OC": "<LAW_OC>"
}
}
}
}[mcp_servers.korean-law]
command = "korean-law-mcp"
args = []
[mcp_servers.korean-law.env]
LAW_OC = "<LAW_OC>"gemini mcp add --scope user -e LAW_OC=<LAW_OC> korean-law korean-law-mcpLAW_OC secret |
Required: Your 법제처 Open API key (OC). KOREAN_LAW_API_KEY is read if it is unset. On the hosted endpoint pass the key as ?oc= or an apikey header instead. |
|---|---|
LAW_API_PROTOCOL |
Optional: Set to http to call the 법제처 API over plain HTTP on networks where certificate checks fail. |
| Set together: http mode | |
MCP_HTTP_HOST |
Optional: Address the HTTP server (--mode http) binds to. |
MCP_AUTH_TOKEN secret |
Optional: Token the HTTP server requires when MCP_HTTP_HOST is not a loopback address. Without it, start fails unless MCP_ALLOW_UNAUTHENTICATED_REMOTE=1. |
PORT |
Optional: Port for the HTTP server when --port is not given. |
ALLOWED_ORIGINS |
Optional: Comma-separated origins allowed for browser clients. If unset, CORS_ORIGIN is used, and with neither all browser requests are blocked. |
ALLOW_QUERY_API_KEY |
Optional: Set to 0 to refuse keys passed as ?oc= in the URL. Header keys still work. |
RATE_LIMIT_RPM |
Optional: Requests per minute per IP. 0 turns the per-IP limit off. |
ACCESS_LOG |
Optional: Set to 1 to log request paths, without query strings. |
Korean Law MCP connects an assistant to the Open API of the Ministry of Government Legislation (법제처), which publishes Korea's national law information. You can pull statutes, administrative rules, local ordinances and treaties, plus the annexed tables and forms that go with them. Rulings and interpretations come from 23 domains. Next to court and tribunal decisions these now include local-tax interpretations from the Ministry of the Interior and Safety (mois) and first-instance interpretations from 39 central ministries (ministry). National Tax Service interpretations come from taxlaw.nts.go.kr.
The client sees ten tools. The plain ones look up a law by name or abbreviation, return article text, and fetch annexes as they stood on a chosen date, converting HWP, PDF or XLSX files to text. legal_research runs one of eight multi-step research tasks, such as amendment tracking or dispute preparation. legal_analysis checks that cited articles and case numbers exist, tells you whether a precedent still stands, and finds the version of a law in force at a past date.
Its newest mode, amendment_table, drafts the old-and-new comparison table for a partial amendment bill. You give the amended articles and it fetches the current text and marks what changed. Run locally, it can save that table as a Hangul (.hwpx) file at the path you pass as outputPath.
The ten are only what clients list. src/tool-registry.ts defines 99 entries, and the rest are found with discover_tools and called through execute_tool.
The author runs a hosted endpoint at mcp.gomdori.app/law, which the Claude Code plugin also uses. Or install the npm package and run it yourself. Search results are cached for an hour and article text for a day.
| To run it yourself | Node.js 20.19+ |
|---|---|
| Runs on | macOS, Windows, Linux |
| 법제처 Open API (open.law.go.kr) | FreeAn OC key is needed to run it yourself. The hosted endpoint works without one under a shared key's limits |
Get the OC key by signing up at open.law.go.kr and applying for Open API use. Running it locally needs Node.js 20.19 or newer (22.12 is recommended). Claude Desktop reaches the hosted endpoint through mcp-remote, which needs Node.js 18 or newer. Adding it as a custom connector on claude.ai needs a paid Claude plan, since the free plan allows one connector. If the plugin install fails with Permission denied (publickey), the README's fix is to make git use HTTPS for github.com.
It only reads; it cannot file anything or change official records. Its pages say results may be processed or summarised and that the official text at the national law information center should be checked before relying on it legally. Batch article reads are capped at 20 laws and 100 articles. Without your own key, the hosted endpoint uses a shared server key with per-minute and daily rate limits. Each key may only be used by the person it was issued to. Most content and tool output is in Korean.
It suits lawyers, civil servants, compliance staff and developers who work with Korean law and want an assistant that quotes real articles and rulings and checks the ones it cites. The hosted endpoint and the Claude Code plugin need nothing installed and work without a key, but every query, and your key if you add one, passes through the author's server. If you would rather your calls go straight from your machine to the government API, install the npm package and set your own key. This is a community project and is not published by the Ministry.
9 only read, 1 changes things.
legal_researchlegal_analysis changessearch_lawget_law_textget_annexesordinance_radarsearch_decisionsget_decision_textdiscover_toolsexecute_tool