Taiwan Legal RAG
Server Details
Taiwan legal research MCP by Dr.Legal (法律偵探): 22.7M court judgments, current statutes, administrative rulings and Constitutional Court decisions. Retrieval-only, per-item citations, appeal-chain history, bundle-level citation audit. Free, no API key; OAuth 2.0 dynamic registration completes automatically. 台灣法律 MCP:2,272 萬筆裁判書、法規、函釋、憲法法庭裁判,逐筆附出處並提供引用查核。免費、免金鑰。Docs: https://dr-legal.com.tw/mcp
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 7.7% over 72 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- aa0101181514/tw-legal-rag
- GitHub Stars
- 341
- Server Listing
- Taiwan Legal RAG
TDQS
Scored across 6 tools
Most tools target distinct resources (judgment fulltext, statute article, administrative interpretation) with separate exact-lookup vs. semantic-search pairs that are clearly delineated. The one real friction point is search_bundle vs. search_judgments, which return nearly identical anchor bundles and are separated only by an intent heuristic ('use this instead of search_judgments when you intend to answer a legal question'), leaving genuine room for misselection.
Names follow a consistent snake_case verb-first pattern (get_*, search_*) with predictable noun suffixes, and singular/plural (get_legal_reference vs. search_legal_references) plausibly signals exact vs. semantic lookup. However search_bundle breaks the resource-noun convention — 'bundle' names an output format rather than a domain entity, unlike the other five names.
Six tools is a tight, well-scoped surface for a legal retrieval server, with each of judgments, statutes, and interpretations getting ~two access modes. The count is slightly padded by the search_bundle/search_judgments redundancy, which is arguably one capability shipped twice.
Core retrieval is covered (judgment search + paged fulltext, statute article verification, interpretation lookup/search) and lifecycle/validity checks are built in. But there is no keyword or topical statute search — only exact law_name/article_no lookup — and no historical (行為時法) versions, with the description explicitly routing agents to an external law_url, a dead end for amendment-date research. No citator-style subsequent-history checking beyond the case_history field embedded in fulltext.
Available Tools
6 toolsget_judgment_fulltextGet the full reasoning text of a judgmentARead-onlyIdempotentInspect
Retrieve the full reasoning text of a judgment selected from search results. REQUIRED whenever you intend to quote or paraphrase a court's holding, reasoning, or specific findings — the search listing alone does not contain reasoning text. Pass the doc_id and the result_token from that result; copy tokens verbatim, never reconstruct them. Recently expired proofs recover automatically within a bounded window; if the response includes a result_token, use it for subsequent reads. If this call returns result_token_invalid_or_expired, run the search again ONCE (even if you already searched this question) and retry with the freshly returned token. Never retry the same failed token; stop if recovery fails. This is not a login error. Citation must match exactly the citation_text from search_judgments. The response includes case_history (database-recorded appeal chain): if an upper-court record shows 主文含「廢棄」, the judgment was overturned — do not cite it as currently authoritative; absence of an upper-court record does NOT mean the judgment is final. After answering, self-check every holding you attributed against this text (no reversed outcomes, no holdings from other judgments). The excerpt is a window of at most ~15000 source characters for judgments. If fulltext_truncated is true, copy next_excerpt_offset into the next call's excerpt_offset; NEVER advance by len(text_excerpt), which includes a repeated citation header. Offsets and excerpt_body_chars count Unicode code points in the source, not UTF-8 bytes or UTF-16 units. For text assembly, remove only the first excerpt_header_chars code points of each window. Only a contiguous walk from offset 0 to next_excerpt_offset=null with fulltext_truncated=false proves a complete read. If a truncated response has no advancing next_excerpt_offset, report it as incomplete instead of guessing. Continue through the rest — long judgments keep evidence/admissibility sections late in the text, so never conclude a topic is absent from an early window alone.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | ||
| result_token | Yes | ||
| excerpt_offset | No | Source Unicode-code-point offset, starting at 0. When fulltext_truncated=true, copy next_excerpt_offset from the previous response. Never use len(text_excerpt): it includes a repeated citation header. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is handled. The description adds substantial behavioral context beyond that: token expiry with bounded automatic recovery, case_history semantics and overturn detection, and a post-answer verification step. It falls short of 5 because the return payload (citation_text, case_history, text_excerpt/truncation flags) is described only by reference, with no output schema to anchor those field names.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Long but densely operational and front-loaded with the core purpose in the first sentence; the paging ritual, failure protocol, and citation-matching rule each prevent a distinct class of error. The offset guidance duplicates the schema's own description, but that redundancy is defensive rather than wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a nontrivial pagination protocol, the description carries almost the full burden and covers truncation, contiguity proof, and the 'no advancing offset' failure case. The remaining gap is the enumerated response fields themselves, which are referenced but not itemized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (doc_id and result_token are bare strings), so the description must compensate and does: it says both come from the search result, that tokens must be copied verbatim and never reconstructed, and it fully specifies excerpt_offset semantics (source Unicode code points, not UTF-8 bytes, use next_excerpt_offset rather than len(text_excerpt)). That is far more than the schema conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve the full reasoning text of a judgment') and scopes it to a judgment selected from search results, which cleanly separates it from search_judgments. An agent knows immediately that this is the follow-up fetch, not another search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names when the tool is REQUIRED ('whenever you intend to quote or paraphrase a court's holding — the search listing alone does not contain reasoning text'). It also covers recovery branches: rerun search ONCE on result_token_invalid_or_expired, never retry the same failed token, stop if recovery fails, and 'This is not a login error.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_law_articleLook up a current Taiwan statute articleARead-onlyIdempotentInspect
EXACT lookup of a CURRENT Taiwan statute article (現行法條) by law name and article number, e.g. law_name=民法, article_no=184 or 47-1 (第47條之1). Use this to VERIFY every statute citation BEFORE putting it in legal writing: that the article number exists, what the current text verbatim says, and whether the law carries an abolition note. Quote statute text ONLY from the returned article_content — never from memory; article numbers shift when laws are amended, and text recalled from memory is frequently a plausible-looking hallucination. Returns the current consolidated version only — it has NO historical versions, so never use it to verify quotes of pre-amendment (行為時法) text; check the amendment history at the returned law_url instead. If the law resolves but the article is not found, the article number is most likely wrong or renumbered — the corpus stores each law in full. If the law name does not resolve, law_candidates lists similar collected names to retry with; a miss does NOT prove the law does not exist (municipal self-government ordinances and some administrative rules are outside the corpus). Statutes only — for administrative interpretations (函釋) use get_legal_reference; for judgments use search_judgments.
| Name | Required | Description | Default |
|---|---|---|---|
| law_name | Yes | Law name, full or common abbreviation, e.g. 民法 / 勞基法 / 電子支付機構管理條例 | |
| article_no | Yes | Article number, e.g. 184 / 第184條 / 47-1 / 第47條之1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/open-world, and the description goes further: it returns only the current consolidated version with no historical versions, may include an abolition note, and exposes law_url for amendment history. It also explains the two failure modes (article-not-found implies wrong/renumbered number; law-name miss returns law_candidates and does not prove nonexistence due to corpus gaps). Lacks only detail on response shape beyond the key fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but well-structured: the core action is front-loaded, followed by the verification rationale, the scope limitation, and the failure-mode guidance. Nearly every sentence carries operational value, though it runs long enough that the historical-version caveat could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter lookup with no output schema, the description covers what is returned (verbatim article_content, abolition note, law_url), the corpus's scope limits (no municipal ordinances, incomplete administrative rules), and both error paths — nothing an agent needs to invoke and interpret it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description still adds value by clarifying that article_no accepts the '47-1' form meaning 第47條之1 and that law_name accepts common abbreviations. It also introduces the meaning of law_candidates returned on a name miss, tying parameters to failure behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('EXACT lookup of a CURRENT Taiwan statute article') plus the identifiers used, with a worked example (民法, 184 / 47-1). It is immediately distinguishable from siblings like get_legal_reference and search_judgments, which it names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it (verify every statute citation before legal writing) and when not to (never for pre-amendment 行為時法 text — check law_url amendment history; not for 函釋 or judgments, with the correct sibling named for each). Alternatives and exclusions are both spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_legal_referenceLook up a Taiwan administrative interpretation by serial numberARead-onlyIdempotentInspect
EXACT lookup of a Taiwan administrative interpretation (行政函釋/令函) by its issuing serial number, e.g. 台財稅第881945861號 or (79)台勞保二字第17914號. Use this to verify that a cited interpretation exists and to check its current validity BEFORE citing it in legal writing. Returns the full text plus a lifecycle status field: repealed/ceased means the interpretation is recorded as no longer applicable — do not cite it as current law; unknown means validity has not been verified yet — it does NOT mean invalid; verify with the issuing agency before relying on it. A not-found result does NOT mean the interpretation does not exist (the corpus is not exhaustive) — never conclude a serial is fabricated solely from a miss here. These are agency materials, NOT court judgments: never present them as court reasoning; for judgments use search_judgments. This tool takes the serial number only — for topic/keyword exploration of interpretations, use search_legal_references. 勞動部不當勞動行為裁決委員會 decisions (○年勞裁字第○號) are NOT looked up here — they are returned by search_bundle/search_judgments (doc_id prefix 'arb:').
| Name | Required | Description | Default |
|---|---|---|---|
| serial | Yes | Issuing serial number, e.g. 台財稅第881945861號 | |
| authority | No | Optional issuing agency name hint, e.g. 財政部 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description still adds several things annotations cannot express: the returned `status` lifecycle vocabulary and how to interpret repealed/ceased vs `unknown`, and the warning that a not-found result does not mean the serial is fabricated. It also discloses the document class limit (agency materials, never court reasoning), which prevents a misattribution error the annotations would not catch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a dense block rather than a short one, but the identifying fact (EXACT serial lookup) is front-loaded and each subsequent sentence encodes a distinct failure mode: status misreading, miss-as-fabrication, document-class confusion, wrong-tool-for-keywords. The final 勞裁字 sentence is narrow but prevents a specific misfire, so it earns its place; a line-broken layout would improve scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter, no-output-schema lookup tool, everything an agent needs to call it correctly and to correctly interpret the result is present: input shape, the status field's meaning, the meaning of a miss, and the doc-type boundary. There is no output schema, yet the description still characterizes the returned payload enough to act on it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the per-field descriptions already carry the parameter semantics and the baseline is 3. The description adds a genuine constraint beyond that — that this tool takes the serial only and that keyword exploration belongs elsewhere — which reinforces why `serial` must be an exact number rather than a search phrase.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('EXACT lookup of a Taiwan administrative interpretation by its issuing serial number') and immediately supplies concrete serial-format examples. It also explicitly marks the boundary against search_legal_references (keyword exploration), so an agent can pick between the two without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit use case ('verify that a cited interpretation exists and to check its current validity BEFORE citing it') plus named alternatives and the condition that selects each: search_judgments for judgments, search_legal_references for topic/keyword work, search_bundle/search_judgments for 勞裁字 decisions. Exclusions are stated as directly as the inclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_bundleSearch Taiwan judgments and retrieve a citation bundleARead-onlyIdempotentInspect
Recommended tool for answering Taiwan legal questions. Runs search and retrieves reasoning-text excerpts in one call, then returns a twlegalrag.bundle/v1 package with allowed_citations and strict citation rules, plus a result_token usable with get_judgment_fulltext for any doc_id in the bundle (e.g. to read an unread candidate or page past a truncated excerpt). Use this instead of search_judgments when you intend to answer a legal question. Cite only citation_id values listed in allowed_citations (judgments whose reasoning excerpt was actually read); unread_candidates are not authority and must not be cited for court reasoning. Labour questions (不當勞動行為/工會/支配介入/不利益對待/團體協約) also return 勞動部不當勞動行為裁決委員會 decisions, whose doc_id starts with 'arb:'. Those are ADMINISTRATIVE DECISIONS by the competent authority, NOT court judgments: cite them as 裁決委員會見解 and never call them a court holding or a 判決. If you already retrieved a bundle for the same question earlier in this conversation, reuse that bundle instead of calling this tool again — an identical query returns the same judgments, and stacking duplicate bundles degrades answer quality.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| read_top | No | ||
| max_results | No | ||
| search_type | No | hybrid |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses important behavior: the returned bundle contains allowed_citations and strict citation rules, unread candidates must not be cited as authority, arbitration decisions are administrative rather than court judgments, and duplicate bundles can degrade answer quality. This is rich context for a read-only, idempotent search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the recommended use case and remains information-dense throughout. It is somewhat long, but nearly every sentence adds relevant legal or behavioral context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description does a good job explaining the returned bundle, citation rules, result_token, and arbitration caveat. The main completeness gap is the lack of input parameter semantics for read_top, max_results, and search_type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the four input parameters. It only implies the query parameter and does not explain read_top, max_results, or search_type, leaving key controls undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs and resources: it runs a search, retrieves reasoning excerpts, and returns a citation bundle. It explicitly distinguishes itself from search_judgments and explains its role in answering Taiwan legal questions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit usage guidance: use this instead of search_judgments when answering a legal question, reuse an existing bundle for the same question, and use get_judgment_fulltext for unread candidates or truncated excerpts. It also explains special handling for labour questions involving arbitration decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_judgmentsSearch Taiwan court judgments (structured listing)ARead-onlyIdempotentInspect
Search Taiwan court judgments and return an anchor bundle with server-read reasoning excerpts. Cite only citation_id values listed in allowed_citations; unread_candidates are not authority and must not be cited for court reasoning. Labour queries additionally return 勞動部不當勞動行為裁決委員會 decisions (doc_id prefix 'arb:') — these are administrative decisions of the competent authority, NOT court judgments; cite them as 裁決委員會見解, never as a court holding. If the same question was already searched earlier in this conversation, reuse those results instead of repeating the identical query.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/open-world, yet the description adds real substance: the anchor-bundle return shape, the allowed_citations vs unread_candidates distinction, and the 'arb:' prefix meaning administrative 裁決委員會 decisions rather than court holdings. It omits any note on result caps or latency, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause and every subsequent sentence carries citation-policy or reuse information. The labour/arbitration caveat is dense but earns its place; the whole thing is slightly crammed into one block.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, no-output-schema search tool, it explains the return shape (anchor bundle, citation ids, unread candidates) and citation constraints well. The missing piece is any description of max_results behavior or what happens beyond the default result count.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for two parameters, so the description carries the full burden. It implies query semantics loosely, but says nothing about max_results (default 5, max 10) or how query strings are interpreted, leaving half the schema undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search Taiwan court judgments') and adds what comes back ('an anchor bundle with server-read reasoning excerpts'). It doesn't explicitly differentiate itself from the similarly named sibling search_bundle, so the agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear reuse rule ('if the same question was already searched earlier in this conversation, reuse those results') and a labour-query caveat, but never says when to prefer this tool over search_bundle or get_judgment_fulltext. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_legal_referencesSemantic search over Taiwan administrative interpretationsARead-onlyIdempotentInspect
SEMANTIC search over Taiwan administrative interpretations (行政函釋/令函), administrative orders, tax interpretations, and constitutional interpretations/judgments, by natural-language query. Optional filters: authority (exact agency name, e.g. 財政部/勞動部), source_kind. Returns candidate listings (citation, serial_no, lifecycle status, similarity score, excerpt). ⚠️ Results are semantic-similarity candidates, NOT verified answers: a high score does NOT mean the reference is relevant to your question, still in force, or authoritative — this service performs no relevance judgment; that is YOUR job as the calling model. Before citing any candidate you MUST: (1) read the excerpt and decide relevance yourself; (2) call get_legal_reference with its serial_no to retrieve the full text and validity status — repealed/ceased means do not cite as current law, unknown means validity is unverified; (3) quote only text that exists verbatim in the retrieved full text. These are agency materials, NOT court judgments: never present them as court reasoning and never mix them with judgment citations; for judgments use search_judgments. An empty result does NOT mean no relevant interpretation exists (the corpus is not exhaustive). 勞動部不當勞動行為裁決委員會 decisions (勞裁字) are NOT in this tool's corpus: they ARE included in the service and are returned by search_bundle/search_judgments for labour queries (doc_id prefix 'arb:'). Never conclude that 裁決 are not covered from a miss here.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural-language topic query, e.g. 扣繳義務人未依限申報之處罰 | |
| authority | No | Optional exact agency name filter, e.g. 財政部 | |
| max_results | No | ||
| source_kind | No | Optional: administrative_interpretation / administrative_order / tax_interpretation / constitutional_interpretation / constitutional_judgment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly/idempotent/openWorld), and the description adds substantial non-annotation context: results are unranked-for-relevance candidates, corpus is non-exhaustive, materials are agency documents not court reasoning. It stops short of describing ranking mechanics or pagination, but the verification workflow it specifies is unusually strong behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and filters, then the caveats. The warning block is long but each item (verify, quote verbatim, mis-citation risks, corpus gaps) carries distinct operational weight. Slightly dense in the legal-disclaimer run-on, but no dead sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description names the returned fields (citation, serial_no, lifecycle status, similarity score, excerpt) and the required follow-up path for full text, so an agent knows both what comes back and what to do next. Nothing needed for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so filters are already partly documented; the description reinforces authority as an exact agency name with concrete examples (財政部/勞動部) and enumerates source_kind values in prose. It adds meaning beyond the schema for the two filters but says nothing about max_results or query phrasing beyond what the schema shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('SEMANTIC search over Taiwan administrative interpretations'), enumerates the corpus types covered, and explicitly distinguishes itself from court judgments and the 裁決 corpus. An agent can tell it apart from search_judgments and search_bundle without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing: use search_judgments for judgments, use search_bundle/search_judgments for 勞裁字 labour decisions, and mandates a follow-up get_legal_reference call before citing. It also states when-not-to-infer (empty result does not mean the interpretation doesn't exist).
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.
6 tool updates
- First observed
get_judgment_fulltext - First observed
get_law_article - First observed
get_legal_reference - First observed
search_bundle - First observed
search_judgments - First observed
search_legal_references
Publisher details
- Operator
- Dr.Legal 法律偵探 (Aaron Huang, Attorney at Law), Taiwan · Publisher source
- Operator website
- https://dr-legal.com.tw · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://dr-legal.com.tw/mcp (setup for Claude, ChatGPT, Codex, Cursor, Gemini CLI; English: https://dr-legal.com.tw/en/mcp) · Publisher source
- Trust center
- Not available
- Restrictions
- None. Free, no account, no API key, no paid plan. OAuth 2.0 with dynamic client registration is approved automatically. Per-minute rate limits apply; see terms of use. · Publisher source
Related MCP Connectors
Taiwan legal research MCP: 判決書、全國法規、釋字/憲判與立法歷程查詢,12 個工具,回應均附官方出處 URL。
Taiwan law and court decisions for your AI: statutes, articles and rulings, read-only.
中文法律 MCP 服务:47,606 条法规与 11,369 条案例,提供法规检索、法条详情、法律问答、法律咨询与多轮追问。
Taiwan legal research: court judgments, statutes, and interpretations. 台灣判決、法條、函釋、釋字搜尋。
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables searching and retrieving Taiwan judicial judgments, including full-text search, document details, PDF download, and legal term lookup via MCP tools.4MIT
- AlicenseAqualityAmaintenanceProvides AI assistants with access to Taiwan's public legal data, including court judgments, regulations, and constitutional court interpretations, via 8 MCP tools.26487 PyPI223MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search Taiwan's national statutes and Constitution by title, resolve laws by exact citation, browse chapter structures, and read individual articles in Chinese alongside the Ministry of Justice's official English translations where available. Also exposes metadata such as repeal status, amendment dates, and effective-in-force dates tracked separately.205 npmMIT

RegAI Legal MCPofficial
AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search Taiwan's statutes by legal concept or keyword, fetch individual articles with official English translations, browse a law's structure, and search apex-court and Grand Chamber rulings or list every decision containing an exact phrase. All tools are read-only and query only public legal data, with Traditional Chinese queries translated by the assistant on request.1CC BY-4.0
Glama MCP Gateway
Add one secure layer between your agents and this server.