Skip to main content
Glama
lawchat-oss

mcp-taiwan-legal-db

by lawchat-oss

get_legislative_history

Retrieve the legislative history of a Taiwanese statute article, including each version, amendment date, action, and legislative reasons to explain why the provision was enacted or changed.

Instructions

取得某一條文歷次制定、修正時的條文與立法理由(立法院法律系統,民國 59 年以後的修正才有理由)。

與 query_regulation(include_history=True) 的差別:這裡回傳立法院審議時的「理由」, 適合回答「這條為什麼這樣規定」「當初修法的目的」。

Args: law_name: 法規名稱(如「民法」「勞動基準法」「刑法」);簡稱會先轉成全國法規資料庫的正式名稱 article_no: 條號(如「184」「15-1」)

Returns: law, article, versions(舊到新,每版含 date、action(制定/修正/增訂…)、text、reason), source_url, 以及 latest_amendment_process(整部法律最近一次修正的一讀、委員會審查、二讀、三讀日期與公報頁次; gazette_pdf_id 傳給 get_legislative_record 可讀該次會議紀錄,找立法者原意)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
law_nameYes
article_noYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.4.0

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and discloses the key behavioral traits: the post-1970 reason-availability constraint and a chained workflow (gazette_pdf_id feeds get_legislative_record for full meeting minutes). It does not cover auth, rate limits, or error behavior, but for a read-only lookup the coverage is solid.

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-loads purpose, then a clear contrast paragraph, then structured Args/Returns blocks. The Returns section is longer than typical but justified because no output schema exists. No wasted filler.

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, no annotations, and 0% param coverage, the description supplies the missing return shape (versions oldest→newest with date/action/text/reason, source_url, latest_amendment_process) and the parameter meaning. An agent has everything needed to call and interpret it.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does: law_name is explained as a full statute name with abbreviation-to-official-name normalization via 全國法規資料庫, and article_no gets format examples ('184', '15-1'). This adds genuine semantics beyond the bare typed fields.

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?

States a specific verb+resource: it fetches the text and legislative reasons (立法理由) of a given article across its successive enactments/amendments. It explicitly distinguishes itself from the sibling query_regulation(include_history=True) by explaining that this tool returns the Legislative Yuan's deliberation 'reasons', so an agent can tell them apart without opening schemas.

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?

Names the alternative (query_regulation with include_history=True) and the exact condition that selects this tool instead ('why is this article worded this way / what was the purpose of the amendment'). It also states a hard coverage limit — reasons only exist for amendments after ROC year 59 (1970) — which tells the agent when the tool will not return useful data.

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