Skip to main content
Glama

Canada Law — BC and federal employment law for your AI assistant

CI Release License: MIT

中文说明

Tools that let your AI assistant look up employment law in British Columbia and in federally regulated workplaces — overtime, breaks, statutory holidays, pay, leaves, termination — when you ask in English or Chinese. With them the AI can fetch the current official text from BC Laws and the Justice Laws Website, with the act, section number, a link to the section, and the official "current to" date.

It plugs into most AI coding assistants through two open standards, Agent Skills and MCP: Claude, OpenAI Codex / ChatGPT desktop, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, Qwen Code, Kimi Code, and more.

Please read

  • This is general legal information, not legal advice.

  • Whether and how the AI uses these tools is up to the app and the model you use. It sometimes answers from memory without looking anything up (seen in Claude Desktop). To make sure it checks the official text, ask it to "check the official text with Canada Law".

  • BC law, and federal labour law. Most BC workplaces are under BC law. Federally regulated workplaces (banks, airlines, telecommunications, interprovincial transport and similar) are under the Canada Labour Code, which is included with its regulations. Other federal law, such as Employment Insurance (EI) or the Canada Pension Plan (CPP), is not searched.

  • The statute text is not an official version (see Licence).

  • The AI may add things that are not in the official text (such as the dates of holidays). It is told to put them in a separate part marked as not checked, but it does not always manage. Rely on the quoted sections and their links.

What an answer looks like

A real answer from our tests (Claude Code with this skill, 26 September 2026), word for word; only the headings are shown in bold here. More answers are in docs/acceptance.

Q: How long can I work in BC before my employer has to give me a lunch break?

What the law says

32 (1) An employer must ensure (a) that no employee works more than 5 consecutive hours without a meal break, and (b) that each meal break lasts at least a 1/2 hour.

(2) An employer who requires an employee to work or be available for work during a meal break must count the meal break as time worked by the employee.

What it means

Your employer must give you a meal break of at least 30 minutes before you've worked 5 consecutive hours. If your employer makes you work or stay available during that break, they have to pay you for it — it counts as time worked.

What decides the outcome

  • Whether you have worked 5 consecutive hours without a break.

  • Whether your employer requires you to work or be available during the meal break (which determines whether it's paid time).

  • Whether your workplace is provincially regulated. Federally regulated industries (banks, airlines, telecommunications, interprovincial transport, etc.) fall under federal law, not the BC Employment Standards Act.

Sources

  • Employment Standards Act, RSBC 1996, c. 113, s. 32 — source (current to 2026-09-22)

Text from BC Laws (www.bclaws.gov.bc.ca) under the King's Printer Licence; not an official version. This is general legal information, not legal advice.

(This answer is from version 0.1, before federal law was added. The answer format has not changed.)

Related MCP server: KJH Law MCP

Install

You need Node.js 20 or newer. Then run:

npx https://github.com/bellaaaaxu/canada-law/releases/download/v0.2.3/canada-law-0.2.3.tgz install

The installer finds the AI tools on your computer, shows exactly what it will change, and asks before changing anything. It backs up every config file it edits, and it never overwrites your own settings.

Command

What it does

… install

install for every supported tool found on this computer

… install cursor codex

install for the tools you name (see list)

… install --print

only show what would change

… install --yes

apply without asking

… status

show what is installed

… list

show the supported tools

… uninstall

remove everything the installer added

(… stands for npx https://github.com/bellaaaaxu/canada-law/releases/download/v0.2.3/canada-law-0.2.3.tgz.)

Claude Desktop, without Node.js

Download canada-law-0.2.3.mcpb from the release page and double-click it. You can also drag it into the Claude Desktop window, or use Settings → Extensions → Advanced settings → Install Extension…. Claude Desktop brings its own Node.js.

Supported AI tools

Tool

Skill folder

MCP server

Tested

Claude Code

~/.claude/skills/

claude mcp add

✅

Claude Desktop

(its Code tab reads Claude Code's skills)

config file, or the .mcpb above

—

OpenAI Codex (CLI, IDE extension, ChatGPT desktop app)

~/.agents/skills/

~/.codex/config.toml

—

VS Code / GitHub Copilot

~/.agents/skills/

run code --add-mcp yourself (the installer prints it)

—

Cursor

~/.agents/skills/

~/.cursor/mcp.json

—

Gemini CLI

~/.agents/skills/

~/.gemini/settings.json

—

GitHub Copilot CLI

~/.agents/skills/

~/.copilot/mcp-config.json

—

Google Antigravity

~/.gemini/config/skills/, ~/.gemini/antigravity-cli/skills/

~/.gemini/config/mcp_config.json

—

Kiro

~/.kiro/skills/

~/.kiro/settings/mcp.json

—

Qwen Code

~/.qwen/skills/

~/.qwen/settings.json

—

OpenCode

~/.agents/skills/

~/.config/opencode/opencode.json

—

Kimi Code CLI

~/.agents/skills/

~/.kimi-code/mcp.json

—

Cline

~/.cline/skills/

add it with cline mcp

—

DeepSeek Harness

~/.agents/skills/

skill only (developer preview)

—

✅ = checked on a real installation. The others follow each tool's official documentation; if you try one, please tell us how it went.

The Claude Desktop extension (.mcpb) was also checked on a real installation (Windows, Microsoft Store build, September 2026): it installs, starts with Claude Desktop's own Node.js, and its tools work in chats and in Claude Code sessions. The installer's config-file route for Claude Desktop has not been checked in the real app.

Not supported: chat apps that run only in a browser (for example ChatGPT on the web), because they cannot run programs on your computer. Trae is not officially available in Canada. Free Gemini CLI users were moved to Google Antigravity in June 2026.

Install by hand

  • Skill: copy the folder skills/canada-employment-law into your tool's skill folder (table above).

  • MCP server: save mcp/canada-law-mcp.mjs somewhere permanent and add a local (stdio) server named canada-law that runs node /full/path/to/canada-law-mcp.mjs. For most tools that is:

{ "mcpServers": { "canada-law": { "command": "node", "args": ["/full/path/to/canada-law-mcp.mjs"] } } }
  • Claude Desktop from the Microsoft Store (Windows): if the folder %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc exists, Claude Desktop reads %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json and ignores the file under %APPDATA%\Claude. Edit that one (the installer does this for you), then quit and restart Claude Desktop.

How it works

  • Five tools: find_act, get_toc, get_section, search_law and map_term. The skill runs the same functions as the commands find, toc, section, search and term.

  • Glossary: 58 everyday words, in Chinese and in plain English (such as 加班费, "stat holiday", "severance"), mapped to the words each statute actually uses: BC law says "statutory holiday" where federal law says "general holiday". Each of its 104 entries is checked against the official text.

  • What is searched: all of BC's statutes and regulations; for federal law, the Canada Labour Code and the regulations made under it (28 on the official list as of 28 September 2026). Any other federal act or regulation can still be read section by section.

  • Citations: every result carries the act, the section, a link to the section, and the official "current to" date, read from the official page.

  • Privacy: everything runs on your computer. Your questions go only to the AI assistant you already use. This package only asks BC Laws (www.bclaws.gov.bc.ca) and the Justice Laws Website (laws-lois.justice.gc.ca) for statute text, and collects nothing.

A real problem at work?

Feedback

Found a wrong or incomplete answer? Please open an issue with your question, the AI tool and the answer (remove personal details first). The project is provided as is: issues and pull requests are welcome, but replies are not guaranteed.

Licence

The code is MIT-licensed (see LICENSE). The statute text comes from BC Laws under the King's Printer Licence – British Columbia, which requires this statement:

These materials contain information that has been derived from information originally made available by the Province of British Columbia at: http://www.bclaws.gov.bc.ca and this information is being used in accordance with the King's Printer Licence – British Columbia available at: https://www.bclaws.gov.bc.ca/standards/Licence.html. They have not, however, been produced in affiliation with, or with the endorsement of, the Province of British Columbia and THESE MATERIALS ARE NOT AN OFFICIAL VERSION.

Federal statute text comes from the Justice Laws Website. The Reproduction of Federal Law Order (SI/97-5) lets anyone reproduce federal law without charge or permission, provided the reproduction is accurate and is not represented as an official version:

These materials reproduce the consolidated Acts and regulations of Canada from the Justice Laws Website (https://laws-lois.justice.gc.ca), as permitted by the Reproduction of Federal Law Order (SI/97-5). They have not been produced in affiliation with, or with the endorsement of, the Government of Canada, and THESE MATERIALS ARE NOT AN OFFICIAL VERSION.

This project is not affiliated with or endorsed by the Province of British Columbia or the Government of Canada.

Development

npm install
npm test                 # unit tests (offline)
npm run bundle           # build the skill, the MCP server, the installer and the .mcpb
npm run smoke            # run the built files from an empty folder
npm run smoke:install    # installer end to end, in an isolated fake home folder
npm run golden           # golden questions, through the skill and through MCP (online)
npm run verify-glossary  # check every glossary entry against the official text (online)

The design notes are in Chinese: SPEC.md (tools, citations, how BC Laws and the Justice Laws Website behave) and SPEC-开源分发.md (packaging and installer).

Not covered yet: federal benefits law, such as Employment Insurance (EI) and the Canada Pension Plan (CPP).

Available Tools

5 tools
find_actFind an act or regulationA
Read-only

Find acts and regulations by title. Returns candidates with act_id (pass it to get_toc and get_section), the official title, citation (e.g. "RSBC 1996, c. 113" or "B.C. Reg. 396/95"; federal "R.S.C., 1985, c. L-2" or "C.R.C., c. 986"), source_url, and for BC acts whether they are current or repealed/replaced. Exact title matches come first. Federal titles come from the official list of acts and regulations, which does not mark repealed acts: get_toc and get_section say when an act is repealed.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesOfficial English title or distinctive words from it, e.g. "Employment Standards Act" or "Canada Labour Code". Abbreviations such as "ESA" are not recognised.
jurisdictionYes"bc" for British Columbia statutes and regulations (BC Laws); "federal" for acts and regulations of Canada (Justice Laws), such as the Canada Labour Code.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly and openWorld, so the bar is lower; the description still adds real behavior: exact title matches are ordered first, BC acts carry current/repealed status, and federal results omit repeal status. These are non-obvious traits an agent could not infer from the schema or annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose then return shape, and every clause carries information (field list, citation formats, ordering, repeal caveat). Some sentences are dense and run long, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description fully carries the return-value burden: it lists act_id, title, citation, source_url and currency status, plus ordering and the federal repeal caveat. An agent has everything needed to call and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and already documents both parameters including the enum and the 'abbreviations not recognised' caveat. The description only restates 'by title', adding no syntax or format detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find acts and regulations by title') and enumerates the returned fields, so the agent knows exactly what a call yields. It does not explicitly distinguish itself from the sibling search_law, which is the one remaining ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear downstream routing: 'pass it to get_toc and get_section', and warns that federal titles don't mark repealed acts so those tools should be consulted. It never states when to prefer this over search_law or map_term, so no explicit exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sectionGet a sectionA
Read-only

Verbatim text of one section, laid out as on the official page (subsections, paragraphs, definitions), with the full citation: act_title, act_citation, act_id, section, heading, source_url (links to the section), current_to (the official "current to" date) and retrieved_at. Quote this text rather than paraphrasing it as the law. The result also carries answer_rules, the answer format and rules for using this text: follow them when you answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
act_idYesThe act_id returned by find_act, e.g. "96113_01" (BC Employment Standards Act) or "L-2" (Canada Labour Code).
sectionYesSection number as printed in the act, e.g. "40", "52.13", "169.1", "128-129".
jurisdictionYes"bc" for British Columbia statutes and regulations (BC Laws); "federal" for acts and regulations of Canada (Justice Laws), such as the Canada Labour Code.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate read-only and open-world behavior. The description adds that the result includes a full citation, source URL, current_to date, retrieved_at, and answer_rules, which is useful behavioral context beyond annotations. It does not address rate limits or error cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loads what is returned, and avoids repetition. Some clauses could be tightened, but every sentence contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, single-section retrieval tool with no output schema, the description covers return structure, citation fields, and usage rules. Together with the fully documented input schema and annotations, it is complete enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all three parameters are already documented in the input schema. The description does not add parameter-specific meaning beyond what is in the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a retrieval tool for a single section of legislation, stating what it returns (verbatim text with subsections and citation fields). However, it does not differentiate itself from siblings such as get_toc or search_law beyond the obvious section-level scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says to quote the text rather than paraphrase and to follow answer_rules, which provides some usage direction. But it does not say when to use this tool versus alternatives, nor does it mention prerequisites like needing an act_id from find_act.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tocTable of contentsA
Read-only

Table of contents of an act or regulation: Parts, Divisions and Schedules with every section number and heading, plus the act's citation, source_url and official current_to date. Use it to pick the right section number before calling get_section. The result also carries answer_rules, the answer format and rules for using this text: follow them when you answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
act_idYesThe act_id returned by find_act, e.g. "96113_01" (BC Employment Standards Act) or "L-2" (Canada Labour Code).
jurisdictionYes"bc" for British Columbia statutes and regulations (BC Laws); "federal" for acts and regulations of Canada (Justice Laws), such as the Canada Labour Code.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuine value beyond that: the exact shape of the payload and the instruction to obey the embedded answer_rules when composing an answer. It stops short of describing pagination or size limits for large acts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose before routing and the answer_rules note. Each sentence carries distinct information, though the middle clause packing the payload contents is slightly dense.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must carry the return-value burden and it does: it lists the structural contents, the citation/source_url/current_to metadata, and the answer_rules field. An agent has everything needed to call it and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with act_id format examples and jurisdiction enum values fully documented in the schema. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource (table of contents) and enumerates exactly what it returns: Parts, Divisions, Schedules, every section number and heading, plus citation, source_url and current_to. It is unmistakably distinct from sibling get_section, which returns actual text rather than the outline.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the workflow condition: 'Use it to pick the right section number before calling get_section.' It names the alternative sibling and the reason to choose this one first, leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

map_termMap a term to statutory wordingA
Read-only

Map a Chinese (or everyday English) employment-law concept to the statutory English each jurisdiction uses, BC and federal, and where it appears (act_id and sections). Call this before search_law when the question is in Chinese or uses everyday words, and search each jurisdiction with its own terms. Returns [] when the term is not in the curated glossary: then do not present your own translation as the statutory term; try a more basic term, or search with your own English wording and say that you did.

ParametersJSON Schema
NameRequiredDescriptionDefault
termYesA concept such as 法定假日, 加班, 餐休, or an English term such as "statutory holiday".

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true and openWorldHint=false, and the description is consistent with a closed curated glossary. It adds real behavioral context beyond the annotations: the [] sentinel for a miss and the instruction never to present a personal translation as the statutory term. It stops short of describing the hit shape in detail, but the act_id/sections mention covers the essentials.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core mapping action before the routing advice and the failure mode. Every sentence carries weight, though the final clause is dense enough that it reads as slightly packed rather than crisp.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still tells the agent what a hit yields (act_id and sections) and what an empty array means, plus the correct fallback behavior. Nothing an agent needs to invoke or act on this tool's result is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'term' parameter is fully documented with examples (法定假日, 加班, 餐休, 'statutory holiday'). The description adds only the framing that input may be Chinese or everyday English; the substantive semantics live in the schema, so baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise verb and resource ('Map a ... employment-law concept to the statutory English') and names both the jurisdictional scope (BC and federal) and the payoff (act_id and sections). It is unmistakably distinct from siblings like find_act, get_toc, get_section, and search_law.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to call it ('before search_law when the question is in Chinese or uses everyday words') and names the alternative it precedes, with a caveat to search each jurisdiction with its own terms. The empty-result path is also prescribed: try a more basic term or search with your own wording and disclose that you did.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_lawSearch legislationA
Read-only

Search current legislation for English statutory wording and get the matching sections, best first, each with citation fields (act, section, heading, source_url, current_to) and a snippet. The query must use the statutory English of the jurisdiction: if the question is in Chinese or uses everyday words, call map_term first (for example BC says "statutory holiday" where federal law says "general holiday"). Then read the full text with get_section before answering. The result also carries answer_rules, the answer format and rules for using this text: follow them when you answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of sections to return (default 10).
queryYesEnglish statutory wording. Use "double quotes" for phrases and OR for variants, e.g. "meal break" OR "meal breaks". Matching is literal: no plurals or stemming.
jurisdictionYes"bc" (all BC statutes and regulations), "federal" (the Canada Labour Code and the regulations made under it) or "all" (both, ranked together).

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate it is a read-only, open-world search, but the description adds valuable behavioral context: results are best-first, carry an answer_rules field that governs how the text should be used, and the query must match statutory English. It does not describe pagination or rate limits, but the annotation coverage lowers the bar and the added context is substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured paragraph that front-loads purpose, then query constraints, then usage workflow. It is slightly long but every sentence contributes essential guidance, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with no output schema, the description explains the return shape (citation fields, snippet, answer_rules) and the required query style. It omits any mention of result limits or ordering beyond 'best first,' but overall it provides enough for an agent to invoke and interpret results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with the limit and jurisdiction parameters fully described and the query parameter explaining matching is literal with no plurals or stemming. The description reinforces the query requirement for statutory English but adds no new syntax or format details beyond the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb (Search) and resource (current legislation for English statutory wording) and states what is returned: matching sections with citation fields and a snippet. It clearly distinguishes itself from siblings like map_term and get_section.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use and when-to-use-alternatives guidance: call map_term first if the query is Chinese or everyday words, then read full text with get_section before answering. This tells the agent exactly how this tool fits in the workflow and when to choose other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.2.3
    • First observedfind_act
    • First observedget_section
    • First observedget_toc
    • First observedmap_term
    • First observedsearch_law

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct stage of the workflow: terminology mapping, act discovery, table of contents, section retrieval, and full-text search. The descriptions explicitly spell out the boundaries (e.g. call map_term before search_law, use get_toc to pick a section before get_section). No two tools could plausibly be confused for each other.

Naming Consistency5/5

All five tools follow a strict verb_noun snake_case pattern: map_term, find_act, get_toc, get_section, search_law. The convention is uniform and predictable across the set.

Tool Count5/5

Five tools is well-scoped for a legislation lookup server; each tool earns its place in a clear pipeline from term mapping to section retrieval. Nothing feels redundant or missing at the count level.

Completeness4/5

The surface covers the core lifecycle: find acts/regulations, browse structure, read sections verbatim, and search statutory wording, including handling of repealed acts and citation metadata. Minor gaps exist (no explicit list/browse-by-jurisdiction tool or case-law coverage), but agents can work around these via find_act and search_law.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    C
    maintenance
    Enables AI systems to search, retrieve, and analyze Korean legal information from the National Law Information API (law.go.kr), including laws, administrative rules, English translations, and law-ordinance linkages.
    26
    2
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to search, retrieve, and analyze South Korean legal documents including statutes, precedents, constitutional decisions, and administrative rulings via the Ministry of Government Legislation Open API. Provides 89 specialized tools with features like legal abbreviation auto-recognition, annex extraction, and complex research chain workflows.
    MIT