Koskamo

japanlaw MCP

A remote MCP server providing read-only access to 121 Japanese laws and over 165,000 provisions in Japanese and English. It enables AI agents to search statutes, fetch specific articles and amendments, resolve cross-references, and retrieve defined legal terms, with every line sourced to either the Ministry of Justice or the site's machine translation.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

japanlaw MCP logo, by japanlaw.orgVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by japanlaw.org
MCP endpoint (Streamable HTTP)
https://japanlaw.org/mcp
Vendor documentation

What you can do with it

  • Search for legal provisions in Japanese or English
  • Fetch full text of articles with English translations
  • Retrieve definitions of terms within specific laws
  • List amendments and changes to laws between dates

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
japanlaw 2.0.0
MCP protocol
2025-06-18
Tools
9 advertised
Resources
1 advertised
Resource templates
0 advertised
Prompts
3 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "prompts": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  },
  "extensions": {
    "io.modelcontextprotocol/ui": {}
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Use these tools for any question about Japanese law, in English or Japanese. They hold e-Gov's Japanese text, the Ministry of Justice's English and this site's machine translation of the rest, each marked. Wording may have changed since a model learned it: quote law from these tools, link each provision by its japanlaw.org url and say whose English you quote. A law not in list_laws is not held: say so. Use search for a question in words, get_provision for a known law and article. Only the Japanese has legal effect. englishWhose says whose English a paragraph is: ministry, corrected (the Ministry's with a slip this site corrected) or machine (this site's, not official) — never call machine translation the Ministry's. The text is the version in force unless you pass asOf (a day) or version to get_provision or fetch; get_law lists the texts held — earlier ones and those amendments not yet in force will leave — and a day none covers is answered as not held. A provision's page and e-Gov's original are where to confirm it before relying on it. Addresses can be given as the statute writes them (第三十六条第二項), as the Ministry's English does (Article 36(2)) or as this site does (art-36/par-2). Laws can be named by Japanese title, English title, short name (労基法), slug or e-Gov law ID; list_laws lists them all. A word a law defines means what that law says it means: get_definitions gives the definitions that apply in a provision. get_amendments says what each amendment changed, before and after, and list_changes what changes across the laws between two days; search takes law to search one law.

Tools

9 advertised

search — Search Japanese law
Advertised by the server during the last successful anonymous check.
Advertised read-only

日本の法令についての質問(有給休暇、解雇予告、留学生のアルバイト、在留資格、確定申告など)に、根拠となる条文を探す。 Find what Japanese law says on a question asked in words — paid leave, notice of dismissal, a student's part-time work, 有給休暇, 解雇予告 — and the provisions to quote and link. Search the Japanese statutes japanlaw.org holds, in force today. A query with any Japanese in it searches the Japanese text (時間外労働, 有給休暇); one without searches the English shown for each provision, stemmed (overtime, paid leave). Results are the laws whose names or descriptions match — as many as limit, lawsTotal counting them all — then one result per matching article at its best-matching paragraph or item, best first; each has an id to pass to fetch (or pass its law and path to get_provision as law and address), the page's url, the Japanese and English designation (第三十六条第一項 / Article 36, paragraph (1)) and a snippet. terms lists words a law defines that match; concepts, words of Japanese law the site explains. Every word must be at least two characters. Only the laws list_laws names are searched; law searches one of them alone, its provisions and the terms it defines. When a law the reader names finds nothing, check list_laws: one not there is not held — say so rather than answering from memory.

search input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "law": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Search this law only: its Japanese title, English title, short name, slug or e-Gov law ID. Unset searches every law held."
    },
    "lang": {
      "enum": [
        "en",
        "ja"
      ],
      "type": "string",
      "description": "The language of the pages every url opens, and of the card get_provision is drawn as: \"en\" (default) or \"ja\". The text returned always holds both languages."
    },
    "page": {
      "type": "integer",
      "maximum": 1000,
      "minimum": 1,
      "description": "Which page of results, from 1."
    },
    "limit": {
      "type": "integer",
      "maximum": 25,
      "minimum": 1,
      "description": "Articles per page, 1–25; default 10. As many laws at most come first."
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Words to find, in Japanese or English."
    }
  }
}
search output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "total",
    "page",
    "pages",
    "results"
  ],
  "properties": {
    "page": {
      "type": "number"
    },
    "pages": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      }
    }
  },
  "additionalProperties": {}
}
search annotations
{
  "title": "Search Japanese law",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fetch — Read a provision or a law
Advertised by the server during the last successful anonymous check.
Advertised read-only

Read in full a law or provision search found, by its id. A provision's id (labor-standards-act/art-36) returns it as Markdown: the Japanese text with each paragraph's English under it, every English line marked as the Ministry of Justice's translation, the Ministry's with a slip corrected, or machine translation; its address and URLs on every line; what it cites and what cites it; and its sources. A law's id (labor-standards-act) returns the law's overview — what it is for, who it applies to, how it is enforced — the texts held, and its outline, never its whole text. A japanlaw.org URL is accepted as an id too. A provision is read in the text in force unless asOf (a day) or version names another text held: an earlier one, or one an amendment not yet in force will leave.

fetch input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "maxLength": 500,
      "minLength": 1,
      "description": "An id from search or get_law: a law's slug, or <slug>/<address>. A japanlaw.org URL also works."
    },
    "asOf": {
      "type": "string",
      "maxLength": 20,
      "description": "Read the text as it stood on this day, YYYY-MM-DD (2027-04-01): past, today or to come. Unset reads the text in force. A day whose text japanlaw.org does not hold is refused as not held, with the texts that are; never answered with the nearest text."
    },
    "lang": {
      "enum": [
        "en",
        "ja"
      ],
      "type": "string",
      "description": "The language of the pages every url opens, and of the card get_provision is drawn as: \"en\" (default) or \"ja\". The text returned always holds both languages."
    },
    "version": {
      "type": "string",
      "maxLength": 80,
      "description": "Read one held text by its version, as get_law's versions lists it (20270401_508AC0000000060). Unset reads the text in force. Pass asOf or version, not both."
    }
  }
}
fetch output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "id",
    "title",
    "text",
    "url",
    "metadata"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "required": [
        "lawId"
      ],
      "properties": {
        "lawId": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    }
  },
  "additionalProperties": {}
}
fetch annotations
{
  "title": "Read a provision or a law",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_laws — List the laws held
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check whether japanlaw.org holds a law, and find the name to pass as law. Every law japanlaw.org holds — or only those of one kind (法律 Act, 政令 Cabinet Order, 省令 Ministerial Order…), of one topic, or whose names hold query's words — each with its Japanese and English title, kind, law number and url; get_law has the rest. total counts the laws listed, held all the laws held, and kinds counts them by kind. A law not in the whole list is not held, whatever its kind — a 条例 (a prefecture's or city's ordinance) included — so say so rather than quoting its text from memory.

list_laws input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "kind": {
      "enum": [
        "Constitution",
        "Act",
        "CabinetOrder",
        "MinisterialOrdinance",
        "ImperialOrdinance",
        "Rule"
      ],
      "type": "string",
      "description": "Only laws of this kind: Constitution, Act (法律), CabinetOrder (政令), MinisterialOrdinance (省令), ImperialOrdinance (勅令), Rule (規則)."
    },
    "lang": {
      "enum": [
        "en",
        "ja"
      ],
      "type": "string",
      "description": "The language of the pages every url opens, and of the card get_provision is drawn as: \"en\" (default) or \"ja\". The text returned always holds both languages."
    },
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Only laws whose title, short name, slug or law number holds these words, in Japanese or English (労基法, labor, 昭和二十二年法律第四十九号)."
    },
    "topic": {
      "enum": [
        "work",
        "immigration",
        "tax",
        "social-security",
        "business",
        "consumers",
        "civil",
        "housing",
        "crime",
        "transport",
        "government"
      ],
      "type": "string",
      "description": "Only the laws of one topic, as the site's laws pages group them: work, immigration, tax, social-security, business, consumers, civil, housing, crime, transport or government."
    }
  }
}
list_laws output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "total",
    "laws"
  ],
  "properties": {
    "laws": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "slug",
          "lawId",
          "titleJa",
          "url"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "lawId": {
            "type": "string"
          },
          "titleJa": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      }
    },
    "total": {
      "type": "number"
    }
  },
  "additionalProperties": {}
}
list_laws annotations
{
  "title": "List the laws held",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_law — Describe one law
Advertised by the server during the last successful anonymous check.
Advertised read-only

What a Japanese law is for, who it applies to, and its chapters and articles. One law: titles, number, kind, when the text in force took effect, the texts held (versions: in force, not yet in force, no longer in force, each with the days it stands), how much of it has the Ministry's English, and this site's plain description of it — what it is for, who it applies to and who it does not, and on request (aspect) its exceptions and how it is enforced — each claim with the provisions it rests on (basis). Then its outline: by default the parts and chapters of the main text (編, 章); outline "articles" lists every article (for a very long law, its headings instead), and under (a heading's path, such as ch-4) lists everything under that heading. outlineUrl turns an outline path into its page.

get_law input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "law"
  ],
  "properties": {
    "law": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "The law: its Japanese title (労働基準法), English title (Labor Standards Act), short name (労基法), slug (labor-standards-act) or e-Gov law ID (322AC0000000049)."
    },
    "lang": {
      "enum": [
        "en",
        "ja"
      ],
      "type": "string",
      "description": "The language of the pages every url opens, and of the card get_provision is drawn as: \"en\" (default) or \"ja\". The text returned always holds both languages."
    },
    "under": {
      "type": "string",
      "maxLength": 200,
      "description": "A heading's or run's path from the outline, such as ch-4 or from-art-31: list everything under it."
    },
    "aspect": {
      "enum": [
        "summary",
        "applies",
        "excludes",
        "exceptions",
        "enforcement",
        "topics"
      ],
      "type": "string",
      "description": "One part of the description, in full: summary, applies, excludes, exceptions, enforcement or topics. Unset gives summary, applies, excludes and topics, and names the others in description.more."
    },
    "outline": {
      "enum": [
        "headings",
        "articles"
      ],
      "type": "string",
      "description": "\"headings\" (default) or \"articles\"."
    }
  }
}
get_law output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "lawId",
    "slug",
    "titleJa",
    "url",
    "outlineUrl",
    "outline"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "lawId": {
      "type": "string"
    },
    "outline": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "path",
          "kind",
          "pathLabelJa"
        ],
        "properties": {
          "kind": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "pathLabelJa": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      }
    },
    "titleJa": {
      "type": "string"
    },
    "outlineUrl": {
      "type": "string"
    }
  },
  "additionalProperties": {}
}
get_law annotations
{
  "title": "Describe one law",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_provision — Read one provision
Advertised by the server during the last successful anonymous check.
Advertised read-only

日本の法令の条・項・号の本文を読む。引用や説明の前に確かめる(改正で文言が変わっていることがある)。 Read the text of an article, paragraph or item of a Japanese law, to quote or explain it: the wording may have changed since a model learned it. One article, paragraph or item of a law, with everything under it. Call it with law and address: {"law": "labor-standards-act", "address": "art-36"}, or {"law": "労働基準法", "address": "第三十二条の三第一項"}. For each paragraph and item, the Japanese text (textJa), its English (textEn) and whose that English is (englishWhose: ministry — the Ministry of Justice's translation; corrected — the Ministry's with a slip this site corrected; machine — this site's machine translation, not official), and its url. Also the terms it defines, how many provisions it cites and how many cite it (references "lists" names them), and the official e-Gov page. A very long one — a big appended table, a 附則 of many articles — stops at a provision; continued.cursor, passed back as cursor with the same address, goes on from there. Shown to the reader as a card where the chat app can draw one. The text in force by default; asOf (a day) or version reads another text held — as it stood on a past day, or as an amendment not yet in force will leave it — and version says which text the answer is. Quoting it, link its url (the reader's page, with the English marked), not e-Gov's, and say whose English each quoted paragraph is.

get_provision input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "law",
    "address"
  ],
  "properties": {
    "law": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "The law: its Japanese title (労働基準法), English title (Labor Standards Act), short name (労基法), slug (labor-standards-act) or e-Gov law ID (322AC0000000049)."
    },
    "asOf": {
      "type": "string",
      "maxLength": 20,
      "description": "Read the text as it stood on this day, YYYY-MM-DD (2027-04-01): past, today or to come. Unset reads the text in force. A day whose text japanlaw.org does not hold is refused as not held, with the texts that are; never answered with the nearest text."
    },
    "lang": {
      "enum": [
        "en",
        "ja"
      ],
      "type": "string",
      "description": "The language of the pages every url opens, and of the card get_provision is drawn as: \"en\" (default) or \"ja\". The text returned always holds both languages."
    },
    "cursor": {
      "type": "string",
      "maxLength": 200,
      "description": "Go on from here: the cursor an earlier answer's continued gave, with the same address. Unset starts at the address."
    },
    "address": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "The provision, as the statute writes it (第三十六条第二項第一号), as the Ministry's English does (Article 36(2)(i)), or as japanlaw.org does (art-36/par-2/item-1). A bare number is an article: 36. Supplementary provisions and appended tables use the site's addresses, which search and get_law hand out."
    },
    "version": {
      "type": "string",
      "maxLength": 80,
      "description": "Read one held text by its version, as get_law's versions lists it (20270401_508AC0000000060). Unset reads the text in force. Pass asOf or version, not both."
    },
    "references": {
      "enum": [
        "counts",
        "lists"
      ],
      "type": "string",
      "description": "\"counts\" (default): how many provisions this one cites and how many cite it. \"lists\": each of them too, with its url — the first 20 that cite it; get_citing_provisions has them all."
    }
  }
}
get_provision output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "lawId",
    "path",
    "pathLabelJa",
    "url",
    "permanentUrl",
    "provisions"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "path": {
      "type": "string"
    },
    "lawId": {
      "type": "string"
    },
    "provisions": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "path",
          "textJa",
          "textEn",
          "englishWhose",
          "url"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "textEn": {
            "type": [
              "string",
              "null"
            ]
          },
          "textJa": {
            "type": [
              "string",
              "null"
            ]
          },
          "englishWhose": {
            "anyOf": [
              {
                "enum": [
                  "ministry",
                  "corrected",
                  "machine"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": {}
      }
    },
    "pathLabelJa": {
      "type": "string"
    },
    "permanentUrl": {
      "type": "string"
    }
  },
  "additionalProperties": {}
}
get_provision annotations
{
  "title": "Read one provision",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_citing_provisions — Find what cites a provision
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find the provisions that refer to a given one — in the same law, in other laws, and in the Cabinet and Ministerial Orders (政令, 省令) that set the details it leaves to them. Every provision in the laws japanlaw.org holds that cites the given one — the other direction from what a statute says, which no official source publishes. Each with its law, designation, the words it cites with, an id for fetch and its url; link each one you name by its fromUrl. Call it with law and address, as get_provision: {"law": "labor-standards-act", "address": "Article 36(1)"}.

get_citing_provisions input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "law",
    "address"
  ],
  "properties": {
    "law": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "The law: its Japanese title (労働基準法), English title (Labor Standards Act), short name (労基法), slug (labor-standards-act) or e-Gov law ID (322AC0000000049)."
    },
    "lang": {
      "enum": [
        "en",
        "ja"
      ],
      "type": "string",
      "description": "The language of the pages every url opens, and of the card get_provision is drawn as: \"en\" (default) or \"ja\". The text returned always holds both languages."
    },
    "limit": {
      "type": "integer",
      "maximum": 300,
      "minimum": 1,
      "description": "How many to return, 1–300; default 50. total counts them all."
    },
    "address": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "The provision, as the statute writes it (第三十六条第二項第一号), as the Ministry's English does (Article 36(2)(i)), or as japanlaw.org does (art-36/par-2/item-1). A bare number is an article: 36. Supplementary provisions and appended tables use the site's addresses, which search and get_law hand out."
    }
  }
}
get_citing_provisions output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "lawId",
    "path",
    "total",
    "citing"
  ],
  "properties": {
    "path": {
      "type": "string"
    },
    "lawId": {
      "type": "string"
    },
    "total": {
      "type": "number"
    },
    "citing": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "fromLawId",
          "fromPath",
          "fromUrl"
        ],
        "properties": {
          "fromUrl": {
            "type": "string"
          },
          "fromPath": {
            "type": "string"
          },
          "fromLawId": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      }
    }
  },
  "additionalProperties": {}
}
get_citing_provisions annotations
{
  "title": "Find what cites a provision",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_definitions — Look up the words a law defines
Advertised by the server during the last successful anonymous check.
Advertised read-only

What a word means in a Japanese law that defines it. The words a law defines for itself (定義語): inside that law, and only as far as each definition reaches, the word means what the statute says, not what it means in everyday speech or in another law. For each, the statute's own words (statuteJa), its reading, its English and whose that is (englishWhose), a plain explanation by japanlaw.org (explanation, in lang), where it is defined (definedAt, url) and how far it reaches (scope, scopeLabel). With address — {"law": "labor-standards-act", "address": "art-36"} — the definitions that apply in that provision, because its text uses the word, and japanlaw.org's explanations of the words of Japanese law it uses (concepts: 施行, 政令, 附則…). Call it before explaining what a provision means. term narrows the answer to one word, in Japanese, its reading or its English. A law with many terms stops at one; continued.cursor, passed back as cursor with the same arguments, goes on. The text in force only.

get_definitions input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "law"
  ],
  "properties": {
    "law": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "The law: its Japanese title (労働基準法), English title (Labor Standards Act), short name (労基法), slug (labor-standards-act) or e-Gov law ID (322AC0000000049)."
    },
    "lang": {
      "enum": [
        "en",
        "ja"
      ],
      "type": "string",
      "description": "The language of the pages every url opens, and of the card get_provision is drawn as: \"en\" (default) or \"ja\". The text returned always holds both languages."
    },
    "term": {
      "type": "string",
      "maxLength": 100,
      "minLength": 1,
      "description": "One word to look up: the term (労働者), its reading (ろうどうしゃ) or its English (worker)."
    },
    "cursor": {
      "type": "string",
      "maxLength": 300,
      "description": "Go on from here: the cursor an earlier answer's continued gave, with the same law, address and term."
    },
    "address": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "A provision: the definitions that apply in it, and the legal vocabulary it uses. Unset lists every term the law defines. Written as for get_provision: 第三十六条, Article 36(2) or art-36/par-2."
    }
  }
}
get_definitions output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "lawId",
    "path",
    "url",
    "total",
    "definitions",
    "concepts"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "path": {
      "type": [
        "string",
        "null"
      ]
    },
    "lawId": {
      "type": "string"
    },
    "total": {
      "type": "number"
    },
    "concepts": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "key",
          "ja",
          "en",
          "explanation"
        ],
        "properties": {
          "en": {
            "type": "string"
          },
          "ja": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "explanation": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      }
    },
    "definitions": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "term",
          "statuteJa",
          "english",
          "englishWhose",
          "definedAt",
          "url",
          "scope"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "term": {
            "type": "string"
          },
          "scope": {
            "type": "string"
          },
          "english": {
            "type": [
              "string",
              "null"
            ]
          },
          "definedAt": {
            "type": "string"
          },
          "statuteJa": {
            "type": [
              "string",
              "null"
            ]
          },
          "englishWhose": {
            "anyOf": [
              {
                "enum": [
                  "ministry",
                  "corrected",
                  "machine"
                ],
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": {}
      }
    }
  },
  "additionalProperties": {}
}
get_definitions annotations
{
  "title": "Look up the words a law defines",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_amendments — See what amendments changed
Advertised by the server during the last successful anonymous check.
Advertised read-only

What an amendment to a Japanese law changes, and when; for what changes across every law between two days, list_changes. A law's amendments whose changes japanlaw.org holds: the amending Act (titles, law number), the day it takes effect, whether it is in force, not yet in force or since replaced (state), how many provisions it changes, adds and removes, and its version — the text it leaves, which get_provision and fetch read where textHeld is true. With version — {"law": "labor-standards-act", "version": "20270401_508AC0000000060"} — every provision that amendment changes, its wording before and after in Japanese and English, and whose each English is (beforeEnglishWhose, afterEnglishWhose). A long one stops at a provision; continued.cursor, passed back as cursor with the same version, goes on. An amendment e-Gov publishes no text for is named as such (comparedAcross, textPublished false): its changes are listed with the next amendment's and cannot be told apart from them — never describe them as its own. One whose changes are not held says so; never describe its changes from memory. Link each amendment by its url.

get_amendments input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "law"
  ],
  "properties": {
    "law": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "The law: its Japanese title (労働基準法), English title (Labor Standards Act), short name (労基法), slug (labor-standards-act) or e-Gov law ID (322AC0000000049)."
    },
    "lang": {
      "enum": [
        "en",
        "ja"
      ],
      "type": "string",
      "description": "The language of the pages every url opens, and of the card get_provision is drawn as: \"en\" (default) or \"ja\". The text returned always holds both languages."
    },
    "cursor": {
      "type": "string",
      "maxLength": 200,
      "description": "Go on from here: the cursor an earlier answer's continued gave, with the same version."
    },
    "version": {
      "type": "string",
      "maxLength": 80,
      "minLength": 1,
      "description": "One amendment, by the version a list gave (20270401_508AC0000000060) — the text it leaves, as get_provision and fetch take it: its changes, provision by provision. Unset lists the amendments."
    }
  }
}
get_amendments output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "lawId",
    "lawSlug"
  ],
  "properties": {
    "lawId": {
      "type": "string"
    },
    "lawSlug": {
      "type": "string"
    }
  },
  "additionalProperties": {}
}
get_amendments annotations
{
  "title": "See what amendments changed",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_changes — See what changes across the laws
Advertised by the server during the last successful anonymous check.
Advertised read-only

What changes in Japanese law between two days, across every law japanlaw.org holds — 来年施行される改正、4月1日に変わる法令 — or one law's, or one topic's. Each change: the day it takes effect (day: on that day; by, a day a Cabinet Order sets, that day at the latest; open, not set yet), whether it is still to come, the law, the amending Act (titles, law number), its version, and its url. With no until, every change still to come is listed, those with no day yet last; since defaults to today. A long list stops at limit; continued.cursor, passed back as cursor with the same arguments, goes on. For what one change does, provision by provision, call get_amendments with its law and version. Link each change by its url.

list_changes input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "law": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "One law's changes only: its Japanese title (労働基準法), English title, short name (労基法), slug or e-Gov law ID. Unset: every law's."
    },
    "lang": {
      "enum": [
        "en",
        "ja"
      ],
      "type": "string",
      "description": "The language of the pages every url opens, and of the card get_provision is drawn as: \"en\" (default) or \"ja\". The text returned always holds both languages."
    },
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "description": "Changes per answer, 1–200; default 50."
    },
    "since": {
      "type": "string",
      "maxLength": 20,
      "description": "The first day, YYYY-MM-DD (2027-04-01). Unset: today."
    },
    "topic": {
      "enum": [
        "work",
        "immigration",
        "tax",
        "social-security",
        "business",
        "consumers",
        "civil",
        "housing",
        "crime",
        "transport",
        "government"
      ],
      "type": "string",
      "description": "Only the changes of one topic's laws: work, immigration, tax, social-security, business, consumers, civil, housing, crime, transport or government."
    },
    "until": {
      "type": "string",
      "maxLength": 20,
      "description": "The last day, YYYY-MM-DD. Unset: every change still to come, however far off, and those whose day is not set yet."
    },
    "cursor": {
      "type": "string",
      "maxLength": 20,
      "description": "Go on from here: the cursor an earlier answer's continued gave, with the same since, until, law and topic."
    }
  }
}
list_changes output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "today",
    "since",
    "total",
    "changes"
  ],
  "properties": {
    "since": {
      "type": "string"
    },
    "today": {
      "type": "string"
    },
    "total": {
      "type": "number"
    },
    "changes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "date",
          "day",
          "state",
          "version",
          "url"
        ],
        "properties": {
          "day": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "date": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "additionalProperties": {}
      }
    }
  },
  "additionalProperties": {}
}
list_changes annotations
{
  "title": "See what changes across the laws",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

3 advertised

explain-provision — Explain a provision

Advertised by the server during the last successful anonymous check.

Explain one article, paragraph or item of a Japanese law in plain words, from its text and the words it defines, quoted and linked.

law
The law: 労働基準法, Labor Standards Act, 労基法 or labor-standards-act. (required)
address
The provision: 第三十六条, Article 36(2) or art-36/par-2. (required)
lang
The language to answer in: en (default) or ja.
what-changed — What an amendment changed

Advertised by the server during the last successful anonymous check.

Say what an amendment to a Japanese law changes, provision by provision, before and after — or list the law's amendments when none is named.

law
The law: 労働基準法, Labor Standards Act, 労基法 or labor-standards-act. (required)
version
The amendment's version, as get_amendments lists it, such as 20270401_508AC0000000060. Unset: the law's amendments, the latest first.
lang
The language to answer in: en (default) or ja.
define-term — What a word means in a law

Advertised by the server during the last successful anonymous check.

Say what a word means in one Japanese law, by the law's own definition: where it is defined and how far it reaches.

law
The law: 労働基準法, Labor Standards Act, 労基法 or labor-standards-act. (required)
term
The word: 労働者, ろうどうしゃ or worker. (required)
lang
The language to answer in: en (default) or ja.

Resources

1 advertised

provision-card — A provision, as a card

Advertised by the server during the last successful anonymous check.

How get_provision is drawn in a chat app that can draw MCP Apps.

provision-card URI
ui://japanlaw/provision.html

MIME type: text/html;profile=mcp-app

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
418 ms
95th percentile latency
418 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 418 ms · metadata changed · 9 tool(s), 1 resource(s), 0 resource template(s), 3 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http japanlaw-mcp https://japanlaw.org/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add japanlaw-mcp --url https://japanlaw.org/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable japanlaw-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "japanlaw-mcp": {
      "url": "https://japanlaw.org/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "japanlaw-mcp": {
      "type": "streamableHttp",
      "url": "https://japanlaw.org/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start japanlaw-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "japanlaw-mcp": {
      "type": "http",
      "url": "https://japanlaw.org/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http japanlaw-mcp https://japanlaw.org/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "japanlaw-mcp": {
      "url": "https://japanlaw.org/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "japanlaw-mcp": {
      "serverUrl": "https://japanlaw.org/mcp"
    }
  }
}

Let your agent find its tools

Find servers like japanlaw MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run japanlaw MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing