Skip to main content
Glama

RegAI Legal MCP (Taiwan)

search_decisions

Read-onlyIdempotent

Search Taiwan (ROC) court decisions by legal concept, fact pattern, or keyword, ranked by relevance (hybrid semantic + keyword search, reranked). Covers an apex-tier subset: the Supreme Court, Supreme Administrative Court, Constitutional Court, Disciplinary Court and Intellectual Property and Commercial Court (district and high court decisions are not included). Use it for questions like "how have courts ruled on X" or "find rulings on this fact pattern"; it returns the most relevant decisions, not every match. Use search_decisions_exact instead when the user needs EVERY decision containing a literal phrase, or an exact count; search_grand_chamber_decisions when the question is which interpretation prevails on a point where panels diverged (大法庭, 統一法律見解); search_law for the text of statutes. Read a result in full with get_decision_details (by its jid).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return (default 15)
queryYesSearch query: a legal concept, fact pattern, or keywords in Traditional Chinese, e.g. "車禍 過失責任" or "勞資 資遣費 認定".
case_typesNoOptional case-type filter: any of C (憲法), V (民事), M (刑事), A (行政), P (懲戒). Omit for no restriction. Set it only when the user explicitly asks to limit the case type -- do NOT infer it from words in the query: terms like 民事/刑事/行政/懲戒 appear constantly in ordinary topical queries with no filtering intent.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / case_types / description
      Previous value: -"Explicit case-type filter: any of C (憲法), V (民事), M (刑事), A (行政), P (懲戒). Omit for no restriction -- do NOT infer this from words in the query text (see decisions_qdrant.rs's search_decisions_qdrant module comment for why: case-type words like 民事/刑事/行政/懲戒 show up constantly in ordinary topical queries with no filtering intent)."New value: +"Optional case-type filter: any of C (憲法), V (民事), M (刑事), A (行政), P (懲戒). Omit for no restriction. Set it only when the user explicitly asks to limit the case type -- do NOT infer it from words in the query: terms like 民事/刑事/行政/懲戒 appear constantly in ordinary topical queries with no filtering intent."
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations cover safety (readOnly, idempotent, non-destructive), and the description adds substantive behavior beyond them: the ranking mechanism (hybrid semantic + keyword, reranked), the non-exhaustive result contract, and the exact court-tier coverage boundary. These are the traits an agent most needs to know to avoid treating results as a complete match set.

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

Conciseness5/5

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

Front-loads purpose and scope in the first two sentences, then routing rules, then the read-in-full pointer. It is dense but every clause carries routing or behavioral information; nothing is 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?

No output schema exists, yet the description tells the agent what results look like (relevant ranked subset, not all matches) and how to continue reading one (get_decision_details by jid). Combined with full schema coverage and annotations, an agent has everything needed to call and follow up 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 all three parameters are already documented, including the case_types caveat about not inferring filters from query wording. The description adds essentially no parameter-level detail beyond the schema (e.g., no guidance on sensible limit values or query phrasing), 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?

States a specific verb and resource ('Search Taiwan (ROC) court decisions') and immediately narrows the scope to a named apex-tier set of courts, explicitly excluding district and high court decisions. This lets an agent separate it from search_decisions_exact and search_law 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.

Usage Guidelines5/5

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

Gives concrete trigger questions ('how have courts ruled on X'), states the negative condition ('it returns the most relevant decisions, not every match'), and names three alternatives with the exact condition that selects each (search_decisions_exact for exhaustive literal matches/counts, search_grand_chamber_decisions for divergent-panel interpretation questions, search_law for statutes), plus the follow-up get_decision_details.

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.