Skip to main content
Glama

RegAI Legal MCP (Taiwan)

search_decisions_exact

Read-onlyIdempotent

List EVERY Taiwan (ROC) court decision in the apex-tier corpus whose text contains the given literal phrase(s) -- with the exact total count, newest first, paged. Use it when the user wants all decisions (or how many) containing a term (「列出所有…」「有幾筆…」), quotes a phrase to find, or asks whether a term appears at all; optionally narrowed by court, case type and decision-date years, with NOT-phrases. Matching is literal (whitespace ignored), never by meaning: for a legal concept, fact pattern, or anything phrased in your own words, use search_decisions instead, which ranks by relevance. Each row gives the citation, date, 案由, match count, jid, and the first matching passage; use get_decision_details(jid) for full text. The first page already gives the exact total: to answer 'how many', do not page. Request further pages only when the user asks to see more rows. Same corpus as search_decisions (top courts only -- no district or high courts). Constitutional Court judgments (憲判字) and Interpretations (釋字) are included and listed together in one 憲法審查 block with its own exact total.

Input Schema

NameRequiredDescriptionDefault
pageNo1-based page number (default 1). Results are newest first.
courtNoOptional court filter, exactly one of: 最高法院, 最高行政法院, 憲法法庭, 懲戒法院, 懲戒法院懲戒法庭, 懲戒法院職務法庭, 智慧財產及商業法院, 大法庭 (Grand Chamber rulings).
termsYesLiteral phrases in Traditional Chinese that must ALL appear in a decision's text (AND), e.g. ["契約承擔"] or ["借名登記", "信託"]. Each 2-100 characters; matched exactly as written (whitespace ignored), never by meaning -- a synonym or paraphrase will not match. Do not put the court name here; use `court`.
excludeNoOptional literal phrases that must NOT appear in the decision, e.g. ["租賃"]. terms + exclude: at most 6 in total.
sourcesNoOptional: limit which kinds of decisions are listed -- any of "decisions" (court rulings), "judgments" (Constitutional Court judgments, 憲判字), "interpretations" (Council of Grand Justices Interpretations, 釋字) or "constitutional" (both 憲判字 and 釋字, listed as one 憲法審查 block with its own exact total). Omit to include everything (the default). Set it only when the user explicitly asks to limit the kind of source.
year_toNoOptional: latest decision-date year, inclusive; same format as year_from.
page_sizeNoDecisions per page (default 20, max 50).
year_fromNoOptional: earliest decision-date year, inclusive. ROC (民國) year such as 109, or Gregorian such as 2020 (values up to 200 are read as ROC). Filters on the date the decision was issued (裁判日期), not the year in the case number.
case_typesNoOptional case-type filter: any of C (憲法), V (民事), M (刑事), A (行政), P (懲戒). Omit for no restriction.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / sources
      Added value: +{
      +  "default": null,
      +  "description": "Optional: limit which kinds of decisions are listed -- any of \"decisions\" (court rulings), \"judgments\" (Constitutional Court judgments, 憲判字), \"interpretations\" (Council of Grand Justices Interpretations, 釋字) or \"constitutional\" (both 憲判字 and 釋字, listed as one 憲法審查 block with its own exact total). Omit to include everything (the default). Set it only when the user explicitly asks to limit the kind of source.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "array",
      +    "null"
      +  ]
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description is free to add behavior it alone can supply: the apex-only corpus limit ('no district or high courts'), the special 憲法審查 block for 憲判字/釋字 with its own exact total, and the fact that page 1 already carries the exact total. That is substantive context beyond the structured fields.

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 the scope and count guarantee, then routing, then result shape. It is dense and slightly redundant -- literal/non-semantic matching is asserted twice ('never by meaning' and again in the search_decisions contrast) and the constitutional-block detail is appended late -- but for a 9-parameter tool with no output schema the length is largely earned.

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 supplies the return shape (citation, date, 案由, match count, jid, first matching passage) and the escalation path to get_decision_details for full text. Corpus boundaries, count semantics, pagination guidance and the constitutional sub-block are all covered, leaving nothing an agent needs to call it 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 description coverage is 100%, so the schema already documents page, court enum values, terms AND-semantics, exclude NOT-semantics, sources, year_from/to ROC-vs-Gregorian handling, and case_types codes. The description only summarizes this ('narrowed by court, case type and decision-date years, with NOT-phrases') and repeats literal matching, adding little the schema does not already state. 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?

States a precise verb+resource+scope: 'List EVERY Taiwan (ROC) court decision in the apex-tier corpus whose text contains the given literal phrase(s)'. It explicitly distinguishes itself from the sibling search_decisions (relevance-ranked) and even names the helper get_decision_details(jid), so an agent can route without opening a schema.

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?

Gives explicit triggers (「列出所有…」「有幾筆…」, quoted phrases, existence checks) and an explicit exclusion: for a concept, fact pattern, or paraphrase, use search_decisions instead. It also tells the agent not to page just to answer 'how many', which is a concrete usage rule.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.