Skip to main content
Glama
narumiruna

Taiwan Legislative Yuan MCP Server

by narumiruna

🏛️ ly-mcp

PyPI version Python CI Docker License: MIT

ly-mcp 是一個串接台灣立法院 API v2 的 Model Context Protocol (MCP) 伺服器,提供議案、委員會、公報、會議紀錄與相關文件等資料查詢能力。

✨ 功能

此 MCP 伺服器提供 10 大類、共 42 個工具:

📊 統計

  • get_stat:取得立法院 API 的統計與概覽資訊。

📄 議案

  • list_bills:列出議案,可依屆期、會期、類別、提案人等條件篩選。

  • get_bill:取得特定議案的完整資訊,回傳完整 JSON。

  • get_bill_related_bills:查詢相關議案與其關聯。

  • get_bill_meets:取得議案在各會議中的審議紀錄,可依會議、出席委員、委員會及關聯議案或法律篩選,並指定輸出欄位。

  • get_bill_doc_html:取得特定議案的 HTML 文件內容。

🏢 委員會

  • list_committees:列出立法院委員會,可依整數類別代碼與委員會代號篩選。

  • get_committee:取得特定委員會的詳細資訊。

  • get_committee_meets:取得委員會會議紀錄與議事內容。

📰 公報

  • list_gazettes:列出立法院公報,可依卷期與公報編號篩選。

  • get_gazette:取得特定公報的詳細資訊。

  • get_gazette_agendas:取得特定公報中的議程或目錄內容,可另依公報編號、卷、期、冊別等查詢條件篩選。

  • list_gazette_agendas:列出公報目錄,可依卷、期、冊別、屆期與會議日期等條件篩選。

  • get_gazette_agenda:取得特定公報目錄項目的詳細資訊。

🎙️ 質詢

  • list_interpellations:列出質詢資料,可依委員、屆期、會期與會議代碼篩選。

  • get_interpellation:取得特定質詢的詳細資訊。

  • get_legislator_interpellations:取得特定立法委員作為質詢委員的質詢資料。

🎥 IVOD(網路電視)

  • list_ivods:列出 IVOD 影片,可依屆期、會期、委員會、委員與影片類型篩選。

  • get_ivod:取得特定 IVOD 影片的詳細資訊,包含影片網址、逐字稿與公報內容。

  • get_meet_ivods:取得特定會議相關的 IVOD 影片。

⚖️ 法律

  • list_laws:列出法律,可依法律編號、類別(母法或子法)、母法編號、狀態與主管機關篩選。

  • get_law:取得特定法律的完整資訊,包含基本資料、法條與版本資訊。

  • get_law_progress:取得特定法律的未議決進度列表。

  • get_law_bills:取得特定法律相關的議案,可搭配篩選條件。

  • get_law_versions:取得特定法律的歷史版本紀錄,包含修正內容、提案人與進度。

  • list_law_versions:跨法律列出法律版本,可依法律編號、版本編號、日期、動作、進度與現行版本狀態篩選。

  • get_law_version:依版本 ID 取得特定法律版本的詳細資訊。

  • get_law_version_contents:取得特定法律版本包含的法條內容。

  • list_law_contents:列出法條內容,可依法律編號、版本 ID、條號、現行版狀態與版本追蹤篩選。

  • get_law_content:依法條內容 ID 取得特定法條的詳細資訊。

🗓️ 會議

  • list_meets:列出立法院會議,可依屆期、會期、會議種類、出席委員、日期、委員會代號與會議編號篩選。

  • get_meet:依會議 ID 或代碼取得特定會議的詳細資訊。

  • get_meet_ivods:取得特定會議相關的 IVOD 影片,可搭配篩選條件。

  • get_meet_bills:取得特定會議討論的議案,可依議案條件篩選。

  • get_meet_interpellations:取得特定會議中的質詢資料,可搭配篩選條件。

👤 立法委員

  • list_legislators:列出立法委員,可依屆期、黨籍、選區、委員 ID 與姓名篩選。

  • get_legislator:依屆期與姓名取得特定立法委員的詳細資訊。

  • get_legislator_propose_bills:取得特定立法委員作為提案人的議案,可依議案條件篩選。

  • get_legislator_cosign_bills:取得特定立法委員作為連署人的議案,可依議案條件篩選。

  • get_legislator_meets:取得特定立法委員出席的會議,可依會議條件篩選。

  • get_legislator_interpellations:取得特定立法委員的質詢資料,可搭配篩選條件。

🗳️ 表決

  • list_votes:列出表決紀錄,可依屆期、會議、表決型態、委員投票立場與公報文件篩選。

  • get_vote:依表決代碼取得完整表決內容。

  • get_vote_meets:取得特定表決所屬的會議,可搭配會議、委員會與關聯議案條件篩選。

Related MCP server: LegiScan MCP Server

🔗 API 來源

此 MCP 伺服器使用 立法院 API v2 作為資料來源,提供台灣立法院議案與議事資料。

📦 工具回應格式

MCP 工具呼叫成功時,會回傳立法院 API 的原始 JSON payload。呼叫失敗時,會回傳可由程式判讀的 JSON 錯誤封包:

{
  "ok": false,
  "error": {
    "type": "http_status",
    "message": "Upstream API returned HTTP 404 for https://ly.govapi.tw/v2/bills/invalid_bill_number",
    "url": "https://ly.govapi.tw/v2/bills/invalid_bill_number",
    "status_code": 404,
    "response_excerpt": "not found"
  }
}

目前的錯誤 type 包含 http_statustimeoutnetwork_errorinvalid_jsonunexpected_error

🚀 安裝與使用

⚡ 快速開始

使用 uvx 安裝並執行伺服器:

uvx lymcp@latest

🧩 MCP Client 設定

將此伺服器加入你的 MCP client 設定,例如 Claude Desktop。

PyPI

{
  "mcpServers": {
    "lymcp": {
      "command": "uvx",
      "args": ["lymcp@latest"]
    }
  }
}

GitHub

{
  "mcpServers": {
    "lymcp": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/narumiruna/ly-mcp",
        "lymcp"
      ]
    }
  }
}

本機開發

{
  "mcpServers": {
    "lymcp": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/ly-mcp",
        "lymcp"
      ]
    }
  }
}

Docker

{
  "mcpServers": {
    "lymcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "narumi/ly-mcp:latest"
      ]
    }
  }
}

💻 Terminal CLI

套件也提供 ly 指令,讓 agents 或 shell workflow 可以直接從 terminal 查詢立法院 API。CLI 預設輸出 pretty JSON,失敗時會輸出和 MCP tools 相同的 JSON error envelope 並回傳非 0 exit code。

如果要讓 agent 使用 repo 內的 ly skill,可以安裝:

npx skills add /narumiruna/ly-mcp
ly --help
ly stat
ly bills list --term 11 --bill-type 法律案 --limit 5
ly bills get 202110213410000
ly bills meets 202110213410000 --meeting-code 院會-11-2-6 --fields 會議代碼,日期
ly gazettes agendas 1137701 --gazette-number 1137701 --issue 77
ly laws versions 09200015 --limit 5
ly meets bills 院會-11-2-3 --term 11 --limit 5
ly legislators propose-bills 11 韓國瑜 --limit 5
ly votes list --term 11 --voting-member 黃國昌 --limit 5
ly votes get 1141921_00002_591
ly votes meets 1141921_00002_591 --term 11

給 agents 使用時,建議用資料領域選 command group:

  • ly bills ... 查議案、關聯議案、審議會議與議案本文 HTML。

  • ly laws ...ly law-versions ...ly law-contents ... 查法律、修法版本與法條內容。

  • ly meets ... 查會議、會議中的議案、質詢與 IVOD。

  • ly legislators ... 查立法委員、提案、連署、出席會議與質詢。

  • ly gazettes ...ly gazette-agendas ... 查公報與公報目錄。

  • ly committees ...ly interpellations ...ly ivods ... 查委員會、質詢與網路電視資料。

  • ly votes ... 查表決列表、表決詳情與所屬會議。

常用輸出選項:

# 單行 JSON,方便 pipe 給其他工具
ly --compact bills list --term 11 --limit 1

# 將成功結果寫入檔案
ly --output bills.json bills list --term 11 --limit 20

# 傳遞上游 output_fields
ly bills list --term 11 --fields 議案編號,案由,提案日期

💬 範例提示

連上 MCP 伺服器後,可以向 LLM 提出這類問題:

  • 「列出第11屆的所有法律提案」

  • 「查詢立法委員王美花的提案紀錄」

  • 「以今天的台北日期為準,最近已發生的院會討論了哪些議案?」

  • 「下一場已排程的院會是什麼時候?」

  • 「查詢勞動基準法的修法歷程」

  • 「第11屆第1會期有哪些委員會會議?」

  • 「黃國昌在第11屆參與過哪些表決?各自投了什麼立場?」

處理和日期有關的問題時,請區分:

  • latest known:使用上游預設排序,包含未來已排程的紀錄。

  • latest occurred:只考慮相關日期在參考日期當天或之前的紀錄。

  • next scheduled:只考慮相關日期晚於參考日期的紀錄。

伺服器也提供常見工作流程用的 MCP prompts: latest_plenary_meeting_billslaw_amendment_historylegislator_proposal_recordlegislator_interpellationscommittee_meeting_lookuplegislator_vote_record。可閱讀 lymcp://query-semanticslymcp://workflow-reference,取得日期語意、篩選條件、ID 欄位與工作流程步驟的精簡指引。

🛠️ 開發

✅ 需求

  • Python 3.12+

  • uv 套件管理器

  • just 命令執行器

⚙️ 設定

git clone https://github.com/narumiruna/ly-mcp
cd ly-mcp
uv sync

🤖 使用 Codex CLI

此 repository 已包含供本機 Codex CLI 開發使用的 .codex/config.toml。從 repository root 啟動 Codex CLI 時,可透過 uv run lymcp 使用已設定的 lymcp MCP server。

🔍 執行 MCP Inspector

just dev

🧪 執行測試

# 執行預設離線測試套件並產生 coverage
just test

# 直接執行預設離線測試套件
uv run pytest -v -s

# 手動執行會呼叫立法院 API 的 live tests
just test-live

預設 pytest 設定會排除標記為 live 的測試,因此 CI 與一般本機執行會使用 tests/data 中的 fixture-backed samples。只有在上游 API 回應形狀改變時,才應有意識地更新這些 JSON samples。

🧹 程式碼品質

# 執行 linter
just lint

# 執行 type checker
just type

📜 授權

MIT

Available Tools

42 tools
get_billA
取得特定議案的詳細資訊。

Args:
    bill_no: 議案編號,必填,例:203110077970000

Returns:
    str: JSON 格式,包含議案基本資料、提案人資訊、議案流程、相關法條等詳細資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
bill_noYes議案編號,必填,例: 203110077970000

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations exist, so description carries burden. It mentions return format (JSON string) and error messages in Chinese, but lacks details on side effects, permissions, or rate limits. Basic transparency but not comprehensive.

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?

Extremely concise: one sentence purpose, then args/returns/raises. No wasted words, front-loaded, well-structured.

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?

Given simplicity (one param, output schema exists), description covers return format, parameter, and error handling. Lacks example of JSON structure but adequate for a basic tool.

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 description for bill_no. Description repeats schema info ('必填,例:203110077970000'), adding minimal value. Baseline 3 appropriate as schema already explains the parameter.

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?

Description clearly states '取得特定議案的詳細資訊' (get detailed information of a specific bill) and enumerates the contents (basic info, proposer, process, laws). Distinguishes from sibling tools like get_bill_doc_html, get_bill_meets.

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?

Implies use for bill details but no explicit guidance on when to use versus alternatives (e.g., get_bill_doc_html for HTML version). No when-not-to-use or exclusions provided.

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

get_bill_doc_htmlA
取得特定議案的文件 HTML 內容列表。

Args:
    bill_no: 議案編號,必填,例:203110077970000

Returns:
    str: JSON 格式,包含該議案的所有相關文件 HTML 內容(議案本文、附件、修正對照表等)。

Notes:
    若回傳空白內容,可能原因包含:該議案尚無正式文件、文件尚未數位化、或 API 資料延遲更新。
    建議先使用 get_bill_detail 確認議案存在後再查詢文件內容。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
bill_noYes議案編號,必填,例: 203110077970000

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full responsibility. It describes the return format (JSON), error handling (Chinese error messages), and possible empty responses with reasons. It does not explicitly state read-only behavior or side effects, but the description implies a safe read operation. This meets basic transparency.

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 well-structured with clear sections (purpose, args, returns, notes, raises). It is front-loaded with the goal. However, the Args and Returns sections are redundant with the schema, making it slightly longer than necessary.

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?

Given the tool's simplicity (one parameter, output schema exists), the description covers the key aspects: purpose, usage pattern, return format, and error cases. The recommendation to check existence adds context. It is sufficiently complete.

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?

The schema already documents the single parameter bill_no with full description coverage. The description repeats the same example without adding new semantics or constraints beyond the schema. Thus, it adds no extra value.

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 clearly states it retrieves the HTML content list of documents for a specific bill. It uses the verb '取得' (get) and specifies the resource as '文件 HTML 內容列表'. This distinguishes it from siblings like get_bill (bill details) and get_bill_meets (meetings).

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?

The Notes section recommends using get_bill_detail first to confirm bill existence, providing explicit usage guidance. However, it does not elaborate on when not to use this tool or alternatives beyond that one suggestion.

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

get_bill_meetsA
取得特定議案的相關會議列表。

Args:
    bill_no: 議案編號,必填,例:203110077970000
    term: 屆期篩選,例:11
    meeting_code: 會議代碼篩選
    session: 會期篩選,例:2
    meeting_type: 會議種類篩選,例:院會、委員會
    member: 出席委員篩選
    date: 會議日期篩選,格式:YYYY-MM-DD
    committee_code: 委員會代號篩選
    meet_id: 會議資料中的會議編號
    related_bill_no: 關係文書中的議案編號
    law_number: 關係文書中的法律編號
    page: 頁數,預設1
    limit: 每頁筆數,預設20
    output_fields: 自訂回傳欄位

Returns:
    str: JSON 格式,包含該議案在各會議中的審議紀錄(會議資訊、審議結果、發言紀錄等)。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo會議日期,格式:YYYY-MM-DD,例: 2024-10-25
pageNo頁數,預設1
termNo屆,例: 11
limitNo每頁筆數,預設20
memberNo出席委員姓名
bill_noYes議案編號,必填,例: 203110077970000
meet_idNo會議資料中的會議編號
sessionNo會期,例: 2
law_numberNo關係文書中的法律編號
meeting_codeNo會議代碼,例: 院會-11-2-6
meeting_typeNo會議種類,例: 院會、委員會
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
committee_codeNo委員會代號,例: 23
related_bill_noNo關係文書中的議案編號

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It mentions the return format (JSON string) and error behavior (Chinese error message), which is helpful. However, it doesn't disclose pagination behavior, rate limits, or whether the tool is read-only (though it's clearly a query tool). The description adds some value but could be more explicit about the nature of the operation.

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 well-structured with Args, Returns, and Raises sections. It's concise and front-loaded with the purpose. The parameter list is a bit long but necessary given 14 parameters. No wasted words.

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?

Given the tool's complexity (14 params, output schema present), the description is fairly complete. It explains the return format and error handling. The output schema exists, so return values are covered. It could mention pagination behavior more explicitly, but overall it's adequate for a query tool with good schema coverage.

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 all 14 parameters with descriptions and examples. The description repeats the parameter list but adds no new meaning beyond what the schema provides. Baseline 3 is appropriate since the schema does the heavy lifting.

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 clearly states the tool retrieves meeting records related to a specific bill (特定議案的相關會議列表), with a specific required parameter (bill_no) and example. It distinguishes from siblings like get_meet_bills (which likely retrieves bills for a meeting) and get_bill (bill details).

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?

The description lists all filter parameters and provides examples, making it clear when to use this tool (to get meetings for a bill). It doesn't explicitly state when not to use it or name alternatives, but the sibling context and the tool's purpose are clear enough. A slight deduction for not explicitly contrasting with get_meet_bills or get_bill_related_bills.

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

get_committeeA
取得特定委員會資訊。

Args:
    comt_cd: 委員會代號,必填,例:15

Returns:
    str: JSON 格式,包含委員會基本資料、委員資訊等詳細資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
comt_cdYes委員會代號,必填,例: 15

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses return format (JSON with basic info, member info) and error behavior (raises Chinese error message). Lacks mention of idempotency or side effects, but sufficient for a read operation.

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?

Description is concise with structured sections (Args, Returns, Raises). No unnecessary words, but could be slightly more streamlined.

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 simple one-parameter getter with output schema, the description is fully complete: explains return format, error handling, and parameter usage.

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?

Parameter schema has 100% coverage with description matching the description. Description adds no extra meaning beyond what schema already provides, warranting baseline 3.

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 clearly states the verb 'get' and resource 'specific committee information', distinguishing it from sibling tools like list_committees (listing) and get_committee_meets (meetings).

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

Usage Guidelines2/5

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

No explicit guidance on when to use vs alternatives. It implies a specific committee code is needed, but does not mention when not to use (e.g., when listing is needed).

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

get_committee_meetsA
取得委員會相關會議列表。

Args:
    comt_cd: 委員會代號,必填,例:15
    term: 屆期篩選,例:11
    meeting_code: 會議代碼
    session: 會期篩選,例:2
    meeting_type: 會議種類篩選,例:院會、委員會
    member: 會議資料.出席委員
    date: 日期,格式:YYYY-MM-DD
    committee_code: 委員會代號
    meet_id: 會議資料.會議編號
    bill_no: 議事網資料.關係文書.議案.議案編號
    law_number: 議事網資料.關係文書.議案.法律編號
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式,包含該委員會的相關會議資訊(會議編號、會議日期、出席委員等)。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo日期,格式:YYYY-MM-DD
pageNo頁數,預設1
termNo屆,例: 11
limitNo每頁筆數,預設20,建議不超過100
memberNo會議資料.出席委員
bill_noNo議事網資料.關係文書.議案.議案編號
comt_cdYes委員會代號,必填,例: 15
meet_idNo會議資料.會議編號
sessionNo會期,例: 2
law_numberNo議事網資料.關係文書.議案.法律編號
meeting_codeNo會議代碼
meeting_typeNo會議種類,例: 院會、委員會
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
committee_codeNo委員會代號

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does disclose return behavior (JSON string containing meeting info) and error behavior (Chinese error messages). However, it lacks context about permissions, rate limits, or the relationship between comt_cd and the committee list, which would be useful for an agent.

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

Conciseness3/5

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

The description is structured with clear Args/Returns/Raises sections and is front-loaded with the purpose. However, it is lengthy and repeats the schema's parameter information almost verbatim, which is redundant for an agent that already has access to the input schema. A more concise description would omit the duplicated parameter lines.

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 tool with 14 parameters and no annotations, the description is fairly comprehensive: it states the purpose, documents all parameters with examples, describes the JSON return format, and notes error behavior. The presence of an output schema reduces the need to detail return fields further. It lacks explicit alternative guidance, but otherwise provides enough context to call the tool 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%, so the baseline is 3. The description's Args section largely duplicates the schema's parameter descriptions, including examples and defaults, without adding additional meaning beyond what the schema already provides. It neither compensates for missing schema info nor adds new insights.

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 opens with '取得委員會相關會議列表', which clearly states the tool returns a list of committee-related meetings. The verb '取得' (get) and resource '委員會相關會議列表' are specific, and the committee scope distinguishes it from sibling tools like get_meet (single meeting) and list_meets (all meetings).

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 implies usage when committee meetings are needed by providing the required comt_cd parameter, but it does not explicitly state when to use this tool over alternatives such as list_meets, get_meet, or get_bill_meets. No exclusions or alternative recommendations are given, leaving usage to be inferred.

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

get_gazetteB
取得特定公報的詳細資訊。

Args:
    gazette_id: 公報編號,必填,例:1137701

Returns:
    str: JSON 格式,包含公報詳細資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
gazette_idYes公報編號,必填,例:1137701

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description partially fulfills the burden by stating the return format (JSON string) and error behavior (Chinese error messages). However, it does not disclose permissions, side effects, or other behavioral traits beyond basic get semantics.

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 short and front-loaded with the purpose. The docstring format with Args/Returns/Raises is structured but not overly verbose for the content.

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 simple get tool with one parameter and an output schema implied, the description is complete. It covers purpose, parameter, return, and errors. No major gaps given the tool's simplicity.

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 covers 100% of the single parameter. The description adds an example but no additional meaning beyond the schema description. Baseline of 3 is appropriate.

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 states the tool retrieves detailed information of a specific gazette. It uses a specific verb ('get') and resource ('specific gazette'), but does not explicitly differentiate from siblings like list_gazettes or get_gazette_agenda.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or when not to use it compared to sibling tools.

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

get_gazette_agendaB
取得特定公報目錄的詳細資訊。

Args:
    gazette_agenda_id: 公報議程編號,必填,例:1137701_00001

Returns:
    str: JSON 格式,包含公報目錄詳細資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
gazette_agenda_idYes公報議程編號,必填,例:1137701_00001

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, and the description fails to disclose behavioral traits such as idempotency, authentication needs, or side effects. It only mentions return format and error handling, which are minimally informative.

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 concise and structured with sections (Args, Returns, Raises). However, some elements like the title line are redundant given the tool name, and the content is brief but clear.

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

Completeness3/5

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

The presence of an output schema is mentioned, but the description does not elaborate on the content of the JSON. For a simple single-parameter tool, it is minimally complete but lacks depth to fully inform complex usage.

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?

The schema provides full description coverage (100%), including an example. The description's 'Args' line adds no additional meaning beyond what the schema already conveys, so baseline score 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?

The description clearly states the tool retrieves detailed information of a specific gazette agenda, matching the tool name and distinguishing it from related siblings like 'get_gazette' or 'get_gazette_agendas'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description lacks contextual hints about prerequisites or conditions, leaving the agent to infer usage solely from the name.

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

get_gazette_agendasB
取得特定公報所含的公報目錄列表。

Args:
    gazette_id: 路徑中的公報編號,必填,例:1137701
    gazette_number: 查詢條件中的公報編號,例:1137701
    volume: 卷,例:113
    issue: 期,例:77
    booklet: 冊別,例:1
    term: 屆,例:11
    meeting_date: 會議日期,格式:YYYY-MM-DD,例:2024-10-04
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式,包含該公報的公報目錄資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
termNo屆,例:11
issueNo期,例:77
limitNo每頁筆數,預設20,建議不超過100
volumeNo卷,例:113
bookletNo冊別,例:1
gazette_idYes路徑中的公報編號,必填,例:1137701
meeting_dateNo會議日期,格式:YYYY-MM-DD,例:2024-10-04
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
gazette_numberNo查詢條件中的公報編號,例:1137701

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior1/5

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

No annotations are provided, and the description does not mention any side effects, rate limits, authentication, or safety considerations. It is a read operation but not explicitly stated.

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?

The description is concise and well-structured, including args, returns, and raises sections. It is not verbose and gets to the point.

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

Completeness3/5

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

Provides return type (string containing JSON) and error handling (Chinese error message), but lacks details on the structure of the returned agenda list. Given the simplicity, it is partially complete.

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?

All parameters are described with concrete examples (e.g., gazette_id: 1137701, meeting_date format). The descriptions add useful context beyond the schema, though they largely mirror the schema.

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 clearly states the tool retrieves the list of agendas for a specific gazette, using a specific verb and resource. It distinguishes from the generic list_gazette_agendas by specifying the gazette_id.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. It relies on the parameter requirement of gazette_id, but does not mention conditions or when to prefer this over similar tools.

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

get_interpellationA
取得特定質詢的詳細資訊。

Args:
    interpellation_id: 質詢編號,必填,例:11-1-1-1

Returns:
    str: JSON 格式,包含質詢詳細資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
interpellation_idYes質詢編號,必填,例:11-1-1-1

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

Without annotations, the description states the return format (JSON string) and error handling (Chinese error message). It implies a read-only operation but does not disclose any side effects, rate limits, or behavior when the interpellation is not found. Not exhaustive but adequate.

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 concise Python-style docstring with Args and Returns sections. It uses clear language and includes a representative example. Every sentence is useful; no unnecessary content.

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 single-parameter lookup tool with an output schema, the description covers the purpose, parameter, return format, and errors. It is complete enough for an agent to understand usage, though it could mention its role relative to list_interpellations.

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?

Input schema coverage is 100%. The description repeats the parameter description from the schema ('質詢編號,必填,例:11-1-1-1'), adding no new meaning. Baseline score 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 clearly states the verb '取得' (get) and the resource '特定質詢的詳細資訊' (detailed info of a specific interpellation). It specifies the required parameter interpellation_id with an example, and the tool is distinct from sibling tools like list_interpellations or get_meet_interpellations.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives such as list_interpellations (for listing) or get_meet_interpellations (for interpellations in a meeting). No prerequisites, when-not-to-use, or exclusions are mentioned.

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

get_ivodA
取得特定 IVOD(網路電視)影片的詳細資訊。

Args:
    ivod_id: IVOD 編號,必填,例:156045

Returns:
    str: JSON 格式,包含 IVOD 影片詳細資訊,包括播放頁面網址、影片網址、
         會議資料、影片長度、委員發言時間、逐字稿等。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
ivod_idYesIVOD 編號,必填,例:156045

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It mentions the return format (JSON string) and that errors return Chinese error messages. It does not disclose read-only nature, auth requirements, or behavior for missing IVOD. Adequate but not exhaustive.

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?

Description is concise, using a single sentence for purpose and structured Args/Returns/Raises sections. No fluff, but could be even shorter. Slightly more verbose than necessary.

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?

Given that an output schema exists (though not shown), the description adequately explains return content. It covers parameters and error behavior. However, it lacks details on edge cases or prerequisites for a simple get tool.

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 parameter 'ivod_id' is already described in the schema. The description repeats the same info in the Args section, adding no new meaning beyond the schema. Baseline score of 3.

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?

Description clearly states it retrieves detailed info for a specific IVOD video, using the verb '取得' and specifying the resource 'IVOD影片詳細資訊'. It distinguishes from sibling tools like list_ivods and get_meet_ivods by being the specific get-by-ID variant.

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?

Description does not explicitly guide when to use this tool vs alternatives. It only describes what it does; there is no mention of when to prefer this over list_ivods or get_meet_ivods. Usage is implied but not stated.

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

get_lawA
取得特定法律的詳細資訊。

Args:
    law_id: 法律編號,必填,例:09200015

Returns:
    str: JSON 格式,包含法律基本資料、法條內容、版本資訊等詳細資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
law_idYes法律編號,必填,例:09200015

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

Describes return format (JSON with detailed info) and error handling (returns Chinese error string). Annotations absent, so description carries burden; adequate for read operation.

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?

Short, front-loaded main sentence with structured Args/Returns sections; no unnecessary text.

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?

Single-parameter tool with simple output; description explains return format and error handling, sufficient given existing schema and complexity.

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 description repeats example from schema; no additional semantic details beyond parameter format.

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?

Description clearly states the verb '取得' (get) and resource '特定法律' (specific law), distinguishing from sibling tools like get_law_bills or get_law_content.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives; no exclusions or context provided despite many sibling tools.

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

get_law_billsA
取得特定法律相關的議案列表。

Args:
    law_id: 法律編號,必填,例:09200015
    term: 屆,例:11
    session: 會期,例:2
    bill_flow_status: 議案流程狀態,如:交付審查、三讀
    bill_type: 議案類別,如:法律案、預算案
    proposer: 提案人姓名
    cosigner: 連署人姓名
    law_number: 法律編號
    bill_status: 議案狀態,如:交付審查、三讀、排入院會
    meeting_code: 會議代碼
    proposal_source: 提案來源,如:委員提案、政府提案
    bill_number: 議案編號
    proposal_number: 提案編號
    reference_number: 字號
    article_number: 法條編號
    proposal_date: 提案日期,格式:YYYY-MM-DD
    proposal_unit_or_member: 提案單位或提案委員
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式,包含該法律相關的議案資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
termNo屆,例:11
limitNo每頁筆數,預設20,建議不超過100
law_idYes法律編號,必填,例:09200015
sessionNo會期,例:2
cosignerNo連署人姓名
proposerNo提案人姓名
bill_typeNo議案類別,如:法律案、預算案
law_numberNo法律編號
bill_numberNo議案編號
bill_statusNo議案狀態,如:交付審查、三讀、排入院會
meeting_codeNo會議代碼
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
proposal_dateNo提案日期,格式:YYYY-MM-DD
article_numberNo法條編號
proposal_numberNo提案編號
proposal_sourceNo提案來源,如:委員提案、政府提案
bill_flow_statusNo議案流程狀態,如:交付審查、三讀
reference_numberNo字號
proposal_unit_or_memberNo提案單位或提案委員

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly documents the return type ('str: JSON 格式'), the general content ('包含該法律相關的議案資訊'), and error behavior ('例外時回傳中文錯誤訊息字串'). The read-only nature is also clear from the wording '取得...列表', even though permissions and rate limits are not discussed.

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 opens with a one-sentence purpose summary, then uses a clear structured list of Args followed by Returns and Raises. It is long due to 20 parameters, but each parameter line is direct and the structure is easy to scan without unnecessary prose.

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 tool with 20 parameters and no annotations, the description covers all parameters, marks the required one, documents defaults for pagination, specifies the return type, and notes error behavior. It does not explain parameter interactions or provide an example call, but this is a reasonably complete reference for a read-only query tool, especially with an output schema available.

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?

The schema description coverage is 100%, so the baseline is 3. The Args section largely duplicates the schema descriptions rather than adding new semantic meaning, such as filter combination logic, value constraints beyond examples, or output_fields formatting rules.

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 opening phrase '取得特定法律相關的議案列表' clearly states a specific verb (取得/list), resource (議案/bills), and scope (特定法律/related to a specific law). It is immediately distinguishable from sibling tools such as list_bills or get_bill because it emphasizes law-specific filtering via the required law_id parameter.

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 implies the tool is for querying bills associated with a specific law, especially since law_id is required. However, it does not explicitly state when to prefer this tool over list_bills or get_bill, nor does it mention any exclusions or alternative tools for different query needs.

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

get_law_contentA
取得特定法條的詳細資訊。

Args:
    law_content_id: 法條編號,例:90481:90481:1944-02-29-制定:0

Returns:
    str: JSON 格式,包含該法條的詳細資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
law_content_idYes法條編號,例:90481:90481:1944-02-29-制定:0

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

Description states it returns a JSON string and raises exceptions with Chinese error messages, but lacks information on side effects, authorization, or performance. Since annotations are absent, more behavioral context would be beneficial but not critical for a simple getter.

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?

Description is extremely concise with two sentences plus structured Args/Returns/Raises. No superfluous information.

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 single-parameter retrieval tool with an output schema, the description adequately covers the function. The return format is specified as JSON, and error handling is noted. Could mention the output structure briefly, but output schema compensates.

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?

The sole parameter law_content_id is described in the input schema (100% coverage) and the description repeats this description without adding new meaning, so baseline score 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?

The description clearly states the tool retrieves detailed information of a specific law article using a law_content_id. It is distinct from sibling tools like get_law (likely law-level info) and get_law_version.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as get_law or list_law_contents. No context for prerequisites or when not to use.

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

get_law_progressB
取得特定法律的未議決進度列表。

Args:
    law_id: 法律編號,必填,例:09200015

Returns:
    str: JSON 格式,包含該法律相關的未議決進度資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
law_idYes法律編號,必填,例:09200015

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, and the description only states return format (JSON string) and error handling (Chinese error messages). It does not disclose read-only nature, rate limits, or other behavioral traits beyond the obvious.

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 concise docstring with Args, Returns, Raises sections. It is front-loaded with the main purpose. However, the Returns section may be redundant given an output schema exists, slightly reducing conciseness.

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

Completeness3/5

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

The tool is simple with one parameter and an output schema. The description adequately conveys the basic functionality but lacks additional context about '未議決進度' (pending progress) or how it fits relative to sibling tools.

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% for the single parameter law_id. The description repeats the schema's description without adding new meaning, so baseline score of 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 clearly states it retrieves unresolved progress for a specific law using the verb '取得' (get) and resource '未議決進度列表' (pending progress list). It distinguishes itself from sibling tools like get_law or get_law_bills by focusing on 'progress.'

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description only mentions the required parameter law_id with an example but does not provide context for when to choose this over related law tools.

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

get_law_versionB
取得特定法律版本資訊。

Args:
    law_version_id: 版本編號,必填,例:90481:1944-02-29-制定

Returns:
    str: JSON 格式,包含法律版本詳細資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
law_version_idYes版本編號,必填,例:90481:1944-02-29-制定

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description should disclose behavioral traits. It only mentions that it returns JSON and may raise exceptions, but does not indicate if it's read-only, requires permissions, or has side effects.

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 concise with a single sentence plus organized Args/Returns/Raises sections. It is well-structured but could include more details without becoming verbose.

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

Completeness3/5

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

Given the simple parameter set and existence of output schema, the description is adequate but minimal. It does not explain what '資訊' includes or differentiate from related tools like get_law_content.

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 parameter description in Args repeats the schema description. The description adds no new meaning beyond what the schema provides, earning a baseline score of 3.

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 clearly states it retrieves specific law version information using the verb '取得' and resource '特定法律版本資訊'. It effectively distinguishes from siblings like get_law_versions and get_law_content.

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?

No explicit guidance on when to use this tool versus alternatives. The description lacks context about when to choose get_law_version over other law-related tools.

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

get_law_version_contentsB
取得法律版本包含的法條列表。

Args:
    law_version_id: 版本編號,必填,例:90481:1944-02-29-制定
    law_number: 法律編號,例:90481
    version_id: 法條資料版本編號,例:90481:1944-02-29-制定
    order: 順序,例:1
    article_number: 條號,例:第一條
    current_version_status: 現行版,可選值:現行、非現行
    version_tracking: 版本追蹤,例:new
    page: 頁數,預設1
    limit: 每頁筆數,預設20
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式,包含特定法律版本的法條列表。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
limitNo每頁筆數,預設20
orderNo順序,例:1
law_numberNo法律編號,例:90481
version_idNo法條資料版本編號,例:90481:1944-02-29-制定
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
article_numberNo條號,例:第一條
law_version_idYes版本編號,必填,例:90481:1944-02-29-制定
version_trackingNo版本追蹤,例:new
current_version_statusNo現行版,可選值:現行、非現行

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It mentions return type (JSON string) and error handling (Chinese error message), which adds some transparency. However, it does not state whether the operation is read-only, describe pagination behavior despite page/limit parameters, or disclose any side effects. The added value beyond schema is moderate.

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 follows a clear docstring format (Args, Returns, Raises) and front-loads the purpose. While it is lengthy due to many parameters, each section is concise and relevant. No redundant sentences.

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

Completeness3/5

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

Given the complexity (10 parameters, 1 required) and presence of an output schema, the description is fairly complete. However, it omits discussion of parameter interactions (e.g., law_version_id vs law_number) and does not explain how pagination works beyond providing defaults. Annotations would have helped, but they are absent.

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 baseline is 3. The description's Args section essentially repeats the schema descriptions without adding new meaning. No examples, constraints, or relationships between parameters are clarified beyond what schema already provides.

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 states it retrieves a list of articles for a specific law version (取得法律版本包含的法條列表). The verb 'get' and resource 'law version contents' are specific. However, it does not differentiate from sibling tools like get_law_content or list_law_contents, which may cause confusion.

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 lists parameters but provides no explicit guidance on when to use this tool versus alternatives, nor when to apply optional filters. Usage is implied by the parameter descriptions, but no when-not-to-use or alternative references are given.

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

get_law_versionsB
取得特定法律過往的版本紀錄列表。

Args:
    law_id: 法律編號,必填,例:09200015
    law_number: 法律編號,例:90481
    version_number: 版本編號,例:90481:1944-02-29-制定
    date: 日期,格式:YYYY-MM-DD,例:1944-02-29
    action: 動作,例:制定
    main_proposer: 歷程主提案,例:張子揚
    progress: 歷程進度,例:一讀
    current_version: 現行版本,現行或非現行
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式,包含該法律的歷史版本紀錄資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo日期,格式:YYYY-MM-DD,例:1944-02-29
pageNo頁數,預設1
limitNo每頁筆數,預設20,建議不超過100
actionNo動作,例:制定
law_idYes法律編號,必填,例:09200015
progressNo歷程進度,例:一讀
law_numberNo法律編號,例:90481
main_proposerNo歷程主提案,例:張子揚
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
version_numberNo版本編號,例:90481:1944-02-29-制定
current_versionNo現行版本,現行或非現行

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, yet the description does not disclose whether the operation is read-only, destructive, or requires specific permissions. It mentions returning JSON and error messages, but lacks details on side effects, rate limits, or postconditions.

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

Conciseness3/5

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

The description is moderately sized but includes a verbose Args section that duplicates schema details. It could be streamlined by focusing on usage intent and omitting redundant parameter lists.

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

Completeness3/5

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

Given the tool has 11 parameters and an output schema, the description provides basic return format and error handling. However, it lacks details on sorting, default ordering, or pagination behavior beyond parameter defaults, leaving gaps for complete understanding.

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 baseline is 3. The description's Args section largely repeats parameter descriptions, adding minimal value beyond stating '必填' for law_id. It does not enhance understanding of parameter behavior.

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 clearly states it retrieves a list of historical version records for a specific law ('取得特定法律過往的版本紀錄列表'). Among sibling tools like 'get_law' (detail) and 'get_law_version' (single version), this tool's purpose is distinct.

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 implies usage for listing historical versions but does not explicitly state when to use this tool versus alternatives like 'list_law_versions' or 'get_law_version'. No when-not-to-use or contextual guidance is provided.

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

get_legislatorA
取得特定立法委員的詳細資訊。

Args:
    term: 屆,例:11
    name: 委員姓名,例:韓國瑜

Returns:
    str: JSON 格式,包含該立法委員的詳細資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes委員姓名,例:韓國瑜
termYes屆,例:11

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses return format (JSON string) and error handling (Chinese error messages), but lacks details on data freshness, authentication, or output structure beyond what the output schema provides.

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?

The description is extremely concise: a single-line purpose followed by structured Args, Returns, and Raises sections. Every sentence is necessary and front-loaded.

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 simple two-parameter tool with an output schema, the description covers purpose, parameters, return format, and error handling. It lacks only minor contextual details like prerequisites or limitations.

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 baseline is 3. The description repeats the same examples as the schema ('term: 11, name: 韓國瑜'), adding no new semantic meaning beyond what's already in the input schema.

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 clearly states '取得特定立法委員的詳細資訊' (get detailed info of a specific legislator), identifies the verb and resource, and includes parameter examples, distinguishing it from sibling tools like list_legislators.

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 implies usage by specifying required parameters (term and name) with examples, but does not explicitly state when to use this tool vs alternatives or any exclusions.

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

get_legislator_cosign_billsA
取得委員為連署人的法案列表。

Args:
    term: 屆,例:11
    name: 委員姓名,例:韓國瑜
    bill_term: 議案所屬屆期,例:11
    session: 議案所屬會期,例:2
    bill_flow_status: 議案流程狀態,如:交付審查、三讀
    bill_type: 議案類別,如:法律案、預算案
    proposer: 提案人姓名
    cosigner: 連署人姓名
    law_number: 法律編號
    bill_status: 議案狀態,如:交付審查、三讀、排入院會
    meeting_code: 會議代碼
    proposal_source: 提案來源,如:委員提案、政府提案
    bill_number: 議案編號
    proposal_number: 提案編號
    reference_number: 字號
    article_number: 法條編號
    proposal_date: 提案日期,格式:YYYY-MM-DD
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的委員為連署人的法案列表。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes委員姓名,例:韓國瑜
pageNo頁數,預設1
termYes屆,例:11
limitNo每頁筆數,預設20,建議不超過100
sessionNo議案所屬會期,例:2
cosignerNo連署人姓名
proposerNo提案人姓名
bill_termNo議案所屬屆期,例:11
bill_typeNo議案類別,如:法律案、預算案
law_numberNo法律編號
bill_numberNo議案編號
bill_statusNo議案狀態,如:交付審查、三讀、排入院會
meeting_codeNo會議代碼
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
proposal_dateNo提案日期,格式:YYYY-MM-DD
article_numberNo法條編號
proposal_numberNo提案編號
proposal_sourceNo提案來源,如:委員提案、政府提案
bill_flow_statusNo議案流程狀態,如:交付審查、三讀
reference_numberNo字號
proposal_unit_or_memberNo提案單位或提案委員

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

無 annotations 提供,描述必須承擔行為揭露。描述說明回傳 JSON 格式、錯誤時回傳中文錯誤訊息,但未說明是否為唯讀操作、是否需要特定權限、分頁行為等。由於該工具為查詢工具,且描述已說明基本回傳格式,尚可接受,但缺乏更多行為細節。

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?

描述簡潔,先說明目的,再列出參數與回傳說明。雖然參數列表長,但每個參數一行,結構清晰。無冗餘文字,每個句子都有功能。

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

Completeness3/5

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

此工具參數眾多(21個),但描述已列出所有參數與說明,schema 覆蓋率 100%,有輸出 schema。然而描述未說明分頁的預設值與限制(雖然 schema 有),且未說明輸出欄位可自訂之細節。整體尚可,但對複雜查詢工具來說,可補充使用範例或組合建議,但未達不足程度。

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 描述覆蓋率 100%,包含每個參數的類型、範例或說明。描述中列出所有參數但僅重複 schema 內容,未額外添加語意(如哪些參數可組合使用、優先順序等)。但由於 schema 已提供充足資訊,描述並未增加額外價值,符合基準 3 分。

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?

描述清楚說明此工具是取得委員為連署人的法案列表,且列出多個參數可過濾,與兄弟工具如 get_legislator_propose_bills 有明確區隔(連署 vs 提案)。功能目標明確,動詞+資源+範圍都具體。

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?

描述未明確說明何時使用此工具而非其他工具(如 get_legislator_propose_bills),但從名稱和描述可推測用途。未提供排除情境或替代工具說明,但因此工具功能特定,使用情境相對清楚。

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

get_legislator_interpellationsB
取得委員為質詢委員的質詢列表。

Args:
    term: 屆期,必填,例:11
    name: 委員姓名,必填,例:韓國瑜
    interpellation_member: 質詢委員姓名,例:羅智強
    term_query: 查詢條件中的屆,例:10
    session: 會期,例:2
    meeting_code: 會議代碼,例:院會-11-2-6
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式,包含委員為質詢委員的質詢資料。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes委員姓名,必填,例:韓國瑜
pageNo頁數,預設1
termYes屆,必填,例:11
limitNo每頁筆數,預設20,建議不超過100
sessionNo會期,例:2
term_queryNo查詢條件中的屆,例:10
meeting_codeNo會議代碼,例:院會-11-2-6
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
interpellation_memberNo質詢委員姓名,例:羅智強

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

無註解,描述必須承載行為揭露。描述提及傳回 JSON 格式及錯誤時傳回中文訊息,但未說明是否為唯讀、是否需要權限、分頁行為細節或其他副作用。相較於純粹的參數說明,僅增加少量行為資訊。

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?

描述簡潔,結構分明(Arg、Returns、Raises),資訊優先放置於開頭,無冗詞贅字,易於閱讀。

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

Completeness2/5

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

工具參數多達 9 個,描述未說明關鍵參數之間的關係(如 term 與 term_query 的差異、name 與 interpellation_member 的用途),也未提供使用情境或與其他工具的對比。輸出 schema 雖存在,但描述本身對複雜度而言仍顯不足。

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 對所有參數皆有描述,覆蓋率 100%,因此基準分為 3。描述中的 Args 段落重複了 schema 的說明,僅加上實例,未增加額外的語意或參數間關係。

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?

描述明確指出取得質詢列表,並限定委員為質詢委員,清楚區分於其他質詢相關工具。動詞 'get' 與資源 'interpellations' 具體,且與兄弟工具(如 list_interpellations、get_meet_interpellations)有別。

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

Usage Guidelines2/5

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

描述未提供任何使用時機或與替代工具的比較,亦未說明當與其他質詢查詢工具搭配時該如何選擇。僅有功能說明,缺乏實用的指引。

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

get_legislator_meetsB
取得委員出席的會議列表。

Args:
    term: 屆,例:11
    name: 委員姓名,例:韓國瑜
    meet_term: 會議所屬屆期,例:11
    meeting_code: 會議代碼,例:院會-11-2-6
    session: 會期,例:2
    meeting_type: 會議種類,例:院會
    member: 出席委員,例:陳秀寳
    date: 日期,例:2024-10-25
    committee_code: 委員會代號,例:23
    meet_id: 會議編號,例:2024102368
    bill_no_nested: 關係文書議案編號,例:202110071090000
    law_number_nested: 關係文書法律編號,例:01177
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的委員出席會議列表。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo日期,例:2024-10-25
nameYes委員姓名,例:韓國瑜
pageNo頁數,預設1
termYes屆,例:11
limitNo每頁筆數,預設20,建議不超過100
memberNo出席委員,例:陳秀寳
meet_idNo會議編號,例:2024102368
sessionNo會期,例:2
meet_termNo會議所屬屆期,例:11
meeting_codeNo會議代碼,例:院會-11-2-6
meeting_typeNo會議種類,例:院會
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
bill_no_nestedNo關係文書議案編號,例:202110071090000
committee_codeNo委員會代號,例:23
law_number_nestedNo關係文書法律編號,例:01177

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states the return type and error handling but omits safety (e.g., read-only), authentication needs, rate limits, or pagination behavior beyond parameter defaults. The 'Returns' section merely repeats the output format.

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

Conciseness3/5

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

The description is functional with clear 'Args', 'Returns', and 'Raises' sections. However, the parameter list is redundant with the schema and could be condensed. The initial sentence is concise, but the overall length is bloated by repetitive examples.

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

Completeness2/5

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

With 15 parameters, no annotations, and an output schema present, the description fails to explain parameter interactions or required combinations beyond the two mandatory ones. It does not clarify whether filters are additive or exclusive, leaving ambiguity for complex queries.

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 baseline is 3. The description repeats the same parameter examples and descriptions as the schema without adding new semantics (e.g., which parameters are filters vs. pagination, or how multi-parameter queries combine).

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 clearly states '取得委員出席的會議列表' (get list of meetings attended by legislators), specifying verb and resource. The tool name and description differentiate it from siblings like get_legislator (personal info) and get_meet (meeting details).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_committee_meets or get_meet. The description only lists parameters without any context about filtering precedence or typical use cases.

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

get_legislator_propose_billsC
取得委員為提案人的法案列表。

Args:
    term: 屆,例:11
    name: 委員姓名,例:韓國瑜
    bill_term: 議案所屬屆期,例:11
    session: 議案所屬會期,例:2
    bill_flow_status: 議案流程狀態,如:交付審查、三讀
    bill_type: 議案類別,如:法律案、預算案
    proposer: 提案人姓名
    cosigner: 連署人姓名
    law_number: 法律編號
    bill_status: 議案狀態,如:交付審查、三讀、排入院會
    meeting_code: 會議代碼
    proposal_source: 提案來源,如:委員提案、政府提案
    bill_number: 議案編號
    proposal_number: 提案編號
    reference_number: 字號
    article_number: 法條編號
    proposal_date: 提案日期,格式:YYYY-MM-DD
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的委員為提案人的法案列表。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes委員姓名,例:韓國瑜
pageNo頁數,預設1
termYes屆,例:11
limitNo每頁筆數,預設20,建議不超過100
sessionNo議案所屬會期,例:2
cosignerNo連署人姓名
proposerNo提案人姓名
bill_termNo議案所屬屆期,例:11
bill_typeNo議案類別,如:法律案、預算案
law_numberNo法律編號
bill_numberNo議案編號
bill_statusNo議案狀態,如:交付審查、三讀、排入院會
meeting_codeNo會議代碼
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
proposal_dateNo提案日期,格式:YYYY-MM-DD
article_numberNo法條編號
proposal_numberNo提案編號
proposal_sourceNo提案來源,如:委員提案、政府提案
bill_flow_statusNo議案流程狀態,如:交付審查、三讀
reference_numberNo字號
proposal_unit_or_memberNo提案單位或提案委員

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions 'Raises: 例外時回傳中文錯誤訊息字串' (returns Chinese error messages on exception), which is some transparency. However, it does not disclose behavioral aspects like pagination behavior, response structure, idempotency, or whether it is a read-only operation. The description is mostly a parameter listing with minimal behavioral context.

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

Conciseness3/5

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

The description is well-structured with Args, Returns, and Raises sections, which is positive. However, it is verbose, listing all 21 parameters explicitly with examples. This is not concise for an agent to parse quickly. It front-loads the purpose but then provides a long list that could be trimmed or summarized. The structure is good but the length reduces conciseness.

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

Completeness3/5

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

Given the tool's complexity (21 parameters, 2 required), the description enumerates all parameters and provides return/error info. An output schema exists, so return details are not required in the description. However, it lacks guidance on how the filter parameters are combined (e.g., are they all applied concurrently?) and does not explain when to use some parameters over others. It is complete in coverage but lacks operational semantics for effective usage.

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 baseline is 3. The description adds examples for several parameters (e.g., 'term: 屆,例:11'), which aids understanding. However, it largely duplicates the schema descriptions without adding new semantic depth, such as explaining how multiple filters interact (e.g., AND vs OR) or the relationship between 'term' and 'bill_term'. It does not clarify the meaning of 'bill_flow_status' vs 'bill_status' which could be confusing.

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 states the tool's purpose: '取得委員為提案人的法案列表' (Get list of bills where the member is the proposer). This is a specific verb+resource combination. It implicitly distinguishes from the cosign tool by mentioning 'propose' but does not explicitly name the sibling 'get_legislator_cosign_bills' as an alternative.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description solely lists parameters and the return type. It does not mention that for bills where the legislator is a cosigner, one should use 'get_legislator_cosign_bills'. No context is provided for typical use cases or prerequisites beyond the required 'term' and 'name'.

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

get_meetA
取得特定會議的詳細資訊。

Args:
    meet_id: 會議代碼,例:院會-11-2-3

Returns:
    str: JSON 格式的會議詳細資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
meet_idYes會議代碼,例:院會-11-2-3

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the return format (JSON string) and error behavior (Chinese error messages). This is a read operation with no side effects mentioned, which is sufficient.

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 short and structured with clear sections (Args, Returns, Raises). It front-loads the purpose. Minor inconsistency: starts in Chinese but uses English headings.

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?

Given one parameter, existence of an output schema, and no nested objects, the description is appropriately complete. It covers purpose, parameter, return format, and error handling. No obvious gaps for the tool's complexity.

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?

The schema already describes meet_id with an example. The description's Args section repeats the same example, adding no new meaning. With 100% schema coverage, the baseline is 3, and the description does not elevate it.

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 states it retrieves detailed information of a specific meeting (取得特定會議的詳細資訊). The verb and resource are specific. However, it does not explicitly differentiate from siblings like get_meet_bills or get_meet_ivods, though the name and context imply the distinction.

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 implies usage for getting meeting details but provides no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives or prerequisites, so usage context is only implied.

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

get_meet_billsC
取得會議內的議案列表。

Args:
    meet_id: 會議代碼,例:院會-11-2-3
    term: 屆,例:11
    session: 會期,例:2
    bill_flow_status: 議案流程狀態,如:交付審查、三讀
    bill_type: 議案類別,如:法律案、預算案
    proposer: 提案人姓名
    co_proposer: 連署人姓名
    law_number: 法律編號
    bill_status: 議案狀態,如:交付審查、三讀、排入院會
    meeting_code: 會議代碼
    proposal_source: 提案來源,如:委員提案、政府提案
    bill_number: 議案編號
    proposal_number: 提案編號
    reference_number: 字號
    article_number: 法條編號
    proposal_date: 提案日期,格式:YYYY-MM-DD
    proposal_unit_or_member: 提案單位或提案委員
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的會議內議案資料。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
termNo屆,例:11
limitNo每頁筆數,預設20,建議不超過100
meet_idYes會議代碼,例:院會-11-2-3
sessionNo會期,例:2
proposerNo提案人姓名
bill_typeNo議案類別,如:法律案、預算案
law_numberNo法律編號
bill_numberNo議案編號
bill_statusNo議案狀態,如:交付審查、三讀、排入院會
co_proposerNo連署人姓名
meeting_codeNo會議代碼
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
proposal_dateNo提案日期,格式:YYYY-MM-DD
article_numberNo法條編號
proposal_numberNo提案編號
proposal_sourceNo提案來源,如:委員提案、政府提案
bill_flow_statusNo議案流程狀態,如:交付審查、三讀
reference_numberNo字號
proposal_unit_or_memberNo提案單位或提案委員

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior1/5

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

沒有提供任何註解,描述未揭露行為特質,例如是否為唯讀操作、是否具有破壞性、回應格式細節或錯誤時的行為。僅有「例外時回傳中文錯誤訊息字串」此段,但不足以彌補缺乏的行為透明度。

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?

描述以簡短目的句開頭,後接參數列表,每個參數僅一行並附有中文說明,結構清晰且無冗言。雖然參數列表長,但必要信息已前置。

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

Completeness1/5

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

工具包含 20 個參數和輸出 schema,但描述未說明參數如何彼此組合、分頁行為、預設值背後的邏輯,或輸出結構的實際內容。僅依賴輸出 schema,但很多參數(如 bill_status、proposal_source)的意義和互斥性未說明,上下文情報不足。

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?

輸入架構(input schema)已提供所有 20 個參數的說明,描述中的參數說明與架構重複,但加入範例值(如「院會-11-2-3」),略有加分。因 schema_description_coverage 為 100%,基線為 3,描述未進一步提供超出架構的語意。

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?

描述明確指出「取得會議內的議案列表」,並以特定動詞「取得」加上資源「會議內議案」清楚定義目的,能區分於相同領域的其他工具(如 get_meet、list_bills)。

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

Usage Guidelines2/5

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

描述僅陳述工具功能,未說明何時應使用此工具而非其他替代方案,也未提及任何排除條件或使用情境。雖然名稱中的「meet」暗示與會議相關,但缺乏明確指引。

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

get_meet_interpellationsA
取得會議內的質詢列表。

Args:
    meet_id: 會議代碼,例:院會-11-2-3
    interpellation_member: 質詢委員,例:羅智強
    term: 屆,例:11
    session: 會期,例:2
    meeting_code: 會議代碼,例:院會-11-2-6
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的會議內質詢資料。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
termNo屆,例:11
limitNo每頁筆數,預設20,建議不超過100
meet_idYes會議代碼,例:院會-11-2-3
sessionNo會期,例:2
meeting_codeNo會議代碼,例:院會-11-2-6
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
interpellation_memberNo質詢委員,例:羅智強

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses return type (JSON string) and error handling (Chinese error messages), but does not mention any side effects, authorization needs, rate limits, or pagination behavior beyond parameter defaults. Adequate but not rich.

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 well-structured with Args, Returns, and Raises sections, making it easy to scan. It is concise without unnecessary text, though some parameter descriptions repeat the schema exactly. Overall efficient for the information provided.

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?

Given the tool's complexity (8 parameters, one required) and presence of an output schema, the description adequately covers all aspects: parameter details, return format, and error handling. It is self-contained for an agent to understand usage without needing to inspect the output schema.

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 baseline is 3. The description adds examples inline with parameter descriptions but largely mirrors the schema. It provides context for defaults (e.g., page=1, limit=20) but no additional semantic meaning beyond what's in the schema.

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 clearly states '取得會議內的質詢列表' (get list of interpellations within a meeting), specifying the action and resource. It distinguishes from sibling tools like get_interpellation (single interpellation) and list_interpellations (general list) by focusing on meeting context.

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 provides clear parameter details but does not explicitly state when to use this tool versus alternatives like get_interpellation or list_interpellations. Usage context is implied by the name and parameters, but no when-not-to-use or alternative guidance is given.

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

get_meet_ivodsC
取得特定會議相關的 IVOD(網路電視)影片列表。

Args:
    meet_id: 會議代碼,必填,例:院會-11-2-3
    term: 屆,例:11
    session: 會期,例:2
    meeting_code: 會議代碼,例:委員會-11-2-22-5
    member_name: 委員名稱,例:陳培瑜
    committee_code: 委員會代碼,例:22
    meeting_code_data: 會議資料.會議代碼,例:委員會-11-2-22-5
    date: 日期,格式:YYYY-MM-DD,例:2024-10-24
    video_type: 影片種類,Clip(片段)或 Full(完整)
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式,包含會議相關的 IVOD 影片列表資料。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo日期,格式:YYYY-MM-DD,例:2024-10-24
pageNo頁數,預設1
termNo屆,例:11
limitNo每頁筆數,預設20,建議不超過100
meet_idYes會議代碼,必填,例:院會-11-2-3
sessionNo會期,例:2
video_typeNo影片種類,Clip(片段)或 Full(完整)
member_nameNo委員名稱,例:陳培瑜
meeting_codeNo會議代碼,例:委員會-11-2-22-5
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
committee_codeNo委員會代碼,例:22
meeting_code_dataNo會議資料.會議代碼,例:委員會-11-2-22-5

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It only states that the return is a JSON string and raises errors with Chinese messages. There is no mention of read-only nature, idempotency, authentication requirements, rate limits, or any side effects.

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

Conciseness3/5

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

The description is well-structured with Args, Returns, and Raises sections. However, it redundantly lists all parameter descriptions that are already in the schema, making it longer than necessary. It is front-loaded with the purpose statement but could be more concise.

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

Completeness2/5

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

Given the tool has 12 parameters (1 required) and an output schema exists, the description should guide on how to use the many optional filters effectively. It lacks information on typical combinations, error handling beyond a generic statement, and does not clarify the relationship between similar parameters (e.g., meet_id vs meeting_code_data).

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

Parameters2/5

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

Schema coverage is 100% (every parameter has a description), so baseline is 3. However, the description repeats the schema descriptions verbatim without adding new meaning (e.g., the difference between 'meeting_code' and 'meeting_code_data'). It provides no extra syntactic or semantic value beyond the schema.

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 states that the tool retrieves the list of IVOD videos related to a specific meeting, distinguishing it from siblings like 'list_ivods' (likely general listing) and 'get_ivod' (single video). The verb '取得' (retrieve) and resource '特定會議相關的 IVOD 影片列表' are specific.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no explanation of which optional filter parameters are recommended. It simply lists parameters without context on their typical usage.

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

get_statA
取得立法院 API 的統計資訊。

Returns:
    str: JSON 格式的統計資訊。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It states the return format (JSON string) and error handling (Chinese error message), but does not disclose whether the operation is read-only, requires authentication, or other behavioral aspects.

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 concise with three sentences. It front-loads the Chinese purpose and includes return/error details. However, there is a minor redundancy in the English restatement.

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

Completeness2/5

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

Despite having no parameters and a likely output schema, the description fails to specify what kind of statistical information is returned. The agent lacks context about the content and structure of the statistics, making the tool usage ambiguous.

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?

The input schema has no parameters, so no parameter documentation is needed. The baseline for 0 parameters is 4, and the description does not add any irrelevant parameter info.

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 clearly states the verb 'get' and the resource 'statistics' from the Legislative Yuan API. It distinguishes from sibling tools like get_bill or get_committee, which focus on other entities.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as when to get statistics vs. getting individual bill or committee data. The description lacks any context for usage decisions.

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

get_voteC

取得特定表決紀錄。

ParametersJSON Schema
NameRequiredDescriptionDefault
vote_idYes表決代碼,例:1150101_00002_55

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

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

There are no annotations, so the description must disclose behavioral traits. It only says 'get', which implies a read operation, but doesn't mention output format, error handling, or access requirements. This is insufficient.

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

Conciseness3/5

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

The description is a single short sentence, which is concise but borderline under-specified. It conveys the core action but lacks useful context that could be added without becoming verbose.

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

Completeness2/5

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

While an output schema exists, so return values are covered, the description lacks information about usage context and behavioral nuances. Given the many sibling tools, this minimal description is not fully complete for an agent to correctly select and invoke the tool.

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?

The schema covers 100% of the single parameter (vote_id) with a description and example ('1150101_00002_55'). The tool description adds no additional semantic meaning beyond the schema, so the baseline of 3 applies.

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

Purpose2/5

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

The description '取得特定表決紀錄' (Get specific vote record) essentially restates the tool name 'get_vote' without elaborating on what distinguishes it from sibling tools like list_votes or get_vote_meets. It provides a verb and resource but no differentiation, making it a tautology.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as list_votes or get_vote_meets. The description lacks context about selecting this tool for individual vote retrieval.

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

get_vote_meetsB

取得特定表決所屬的會議列表。

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo日期,格式:YYYY-MM-DD
pageNo頁數,預設1
termNo屆,例:11
limitNo每頁筆數,預設20,建議不超過100
memberNo出席委員姓名
bill_noNo關係文書中的議案編號
meet_idNo會議資料中的會議編號
sessionNo會期,例:2
vote_idYes表決代碼,例:1150101_00002_55
law_numberNo關係文書中的法律編號
meeting_codeNo會議代碼,例:院會-11-2-6
meeting_typeNo會議種類,例:院會
output_fieldsNo自訂上游回傳欄位列表
committee_codeNo委員會代號,例:23

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral details. It only states the action without mentioning side effects, permissions, pagination behavior, or output format. The lack of any such information leaves the agent uncertain about the tool's runtime characteristics.

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?

The description is a single, concise sentence with no redundancy. It directly conveys the tool's purpose without unnecessary details, making it efficiently scannable.

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

Completeness3/5

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

The tool has an output schema (as indicated), so return value explanation is not required. However, the description lacks contextual information such as typical use cases or relationship to other tools, which would enhance completeness. Given the simplicity of the operation, this is adequate but not comprehensive.

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?

Although the description does not elaborate on parameters, the input schema provides detailed descriptions for all 14 parameters, achieving 100% coverage. Since schema coverage is high, a baseline score of 3 is appropriate; the description adds no extra semantic value.

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 clearly states the function: retrieving the list of meetings for a specific vote. It uses a specific verb ('取得' / get) and resource ('特定表決所屬的會議' / meetings belonging to a specific vote), distinguishing it from sibling tools like get_vote or list_meets.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as get_vote, list_votes, or get_meet. It does not mention use cases, filtering preferences, or scenarios where this tool is preferred.

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

list_billsC
列出立法院議案列表。

Args:
    term: 屆,例:11
    session: 會期,例:2
    bill_flow_status: 議案流程狀態,如:交付審查、三讀
    bill_type: 議案類別,如:法律案、預算案
    proposer: 提案人姓名
    cosigner: 連署人姓名
    law_number: 法律編號
    bill_status: 議案狀態,如:交付審查、三讀、排入院會
    meeting_code: 會議代碼
    proposal_source: 提案來源,如:委員提案、政府提案
    bill_number: 議案編號
    proposal_number: 提案編號
    reference_number: 字號
    article_number: 法條編號
    proposal_date: 提案日期,格式:YYYY-MM-DD
    proposal_unit_or_member: 提案單位或提案委員
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的議案查詢結果。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
termNo屆,例:11
limitNo每頁筆數,預設20,建議不超過100
sessionNo會期,例:2
cosignerNo連署人姓名
proposerNo提案人姓名
bill_typeNo議案類別,如:法律案、預算案
law_numberNo法律編號
bill_numberNo議案編號
bill_statusNo議案狀態,如:交付審查、三讀、排入院會
meeting_codeNo會議代碼
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
proposal_dateNo提案日期,格式:YYYY-MM-DD
article_numberNo法條編號
proposal_numberNo提案編號
proposal_sourceNo提案來源,如:委員提案、政府提案
bill_flow_statusNo議案流程狀態,如:交付審查、三讀
reference_numberNo字號
proposal_unit_or_memberNo提案單位或提案委員

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior3/5

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

The description discloses the return format (JSON string) and error handling (Chinese error messages). It also mentions pagination parameters (page, limit). However, it does not explicitly state that the tool is read-only, nor does it address potential side effects, rate limits, or authentication requirements. Given no annotations, the description provides basic but incomplete behavioral insight.

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

Conciseness2/5

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

The description is verbose, listing all 19 parameters in a bullet format that mirrors the schema. While structured, it could be significantly shortened by omitting the parameter list since the schema already provides that information. The first sentence is concise, but the rest adds bulk without value.

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

Completeness3/5

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

Given the complexity (19 optional parameters) and the presence of an output schema, the description covers pagination, error handling, and return format. However, it does not explain which parameters are typically used together or how to construct a meaningful query, leaving the agent to guess at common use cases. It is minimally complete.

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 baseline is 3. The description largely repeats the parameter descriptions from the schema, adding only minor additional context (e.g., date format). It does not significantly enhance understanding beyond what the schema already provides.

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 states the verb+resource: '列出立法院議案列表' (list bills of the Legislative Yuan). It explicitly lists all parameters, making the purpose evident. However, it does not differentiate from sibling tools like list_laws or list_gazettes, reducing clarity in the broader toolset.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor are there any conditions or exclusions mentioned. The description simply states what the tool does, leaving the agent to infer usage context without explicit direction.

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

list_committeesB
列出委員會列表。

Args:
    committee_type: 委員會類別代碼,例:1(常設委員會)
    comt_cd: 委員會代號,例:15
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的委員會查詢結果。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
limitNo每頁筆數,預設20,建議不超過100
comt_cdNo委員會代號,例:15
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
committee_typeNo委員會類別代碼,例:1(常設委員會)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does state that the return value is a JSON-formatted string and that exceptions yield Chinese error messages, but it omits details about pagination behavior, empty results, sorting, or how filters interact.

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?

The description is compact and well-structured: a one-line purpose statement followed by concise Args, Returns, and Raises sections. No redundant filler is present, and the key information is front-loaded.

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 simple list endpoint with all-optional parameters, the description covers every parameter, the return format, and the error behavior. It would be more complete if it mentioned pagination semantics or distinctions from sibling tools, but the existing structure is adequate.

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% and the Args section largely mirrors the schema descriptions verbatim, including the '建議不超過100' note for limit. The description adds almost no meaning beyond the schema, so the baseline score of 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 uses the specific verb '列出' (list) and clearly names the resource '委員會列表', so the tool's basic purpose is unambiguous. It is implicit but not explicitly stated that this is the plural listing counterpart to get_committee, which prevents full differentiation from siblings.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives such as get_committee or get_committee_meets. The Args section only documents parameters; it does not explain selection context, filtering combinations, or when not to use this endpoint.

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

list_gazette_agendasC
列出公報目錄列表。

Args:
    gazette_id: 公報編號,例:1137701
    volume: 卷,例:113
    issue: 期,例:77
    booklet: 冊別,例:1
    term: 屆,例:11
    meeting_date: 會議日期,格式:YYYY-MM-DD,例:2024-10-04
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的公報目錄查詢結果。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
termNo屆,例:11
issueNo期,例:77
limitNo每頁筆數,預設20,建議不超過100
volumeNo卷,例:113
bookletNo冊別,例:1
gazette_idNo公報編號,例:1137701
meeting_dateNo會議日期,格式:YYYY-MM-DD,例:2024-10-04
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the return type (JSON string) and error behavior (Chinese error message string), but does not mention key behavioral aspects such as how filters combine, pagination defaults (page=1, limit=20, max 100) are already in schema, or that output_fields customizes the result set. The Raises section adds minimal transparency about error handling, but the overall behavior remains opaque.

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 concise and follows a standard docstring structure (Args, Returns, Raises), front-loading the action in the first line. However, the Args list is redundant with the input schema, which slightly detracts from efficiency, but it's not bloated and each section is brief.

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

Completeness2/5

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

For a 9-parameter filterable list tool, the description lacks context on how filters combine, what happens when no filters are provided, and what fields are available for output_fields. It also doesn't clarify the relationship with sibling tools like get_gazette_agenda. Even though an output schema is said to exist, the description itself doesn't explain the return structure beyond 'JSON format', making it incomplete for effective use.

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 baseline is 3. The description's Args section repeats the exact schema parameter descriptions (e.g., gazette_id: 公報編號,例:1137701), adding no new meaning. Since the schema already documents all parameters with examples, the description doesn't compensate with additional semantics like parameter interdependencies or value constraints.

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 begins with '列出公報目錄列表' (List gazette agenda list), clearly stating the verb (list) and resource (gazette agendas). The Args section further implies a filterable list interface, but the core purpose is not explicitly differentiated from sibling tools like get_gazette_agenda, so it stays slightly below a 5.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. It doesn't mention that get_gazette_agenda should be used for a single agenda, or how this list function relates to list_gazettes. The usage context is only implied by the tool name and parameter list.

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

list_gazettesA
列出立法院公報列表。

Args:
    gazette_id: 公報編號,例:1137701
    volume: 卷,例:113
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的公報查詢結果。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
limitNo每頁筆數,預設20,建議不超過100
volumeNo卷,例:113
gazette_idNo公報編號,例:1137701
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so the description carries the full burden. It discloses return type (JSON string) and error handling (Chinese error messages) but does not mention read-only nature, data sources, or rate limits. Lacks detail beyond basic behavior.

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?

The description is well-structured with Args, Returns, Raises sections. It is concise, contains no redundancy, and every sentence adds value. The Chinese text is appropriate for the tool's locale.

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?

Given 5 parameters (0 required) and an output schema, the description covers all parameters, return format, and error handling. It could mention pagination behavior or ordering, but overall it is sufficiently complete for a listing tool.

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%, and the description largely repeats schema info with added examples (e.g., '1137701' for gazette_id). This adds modest value beyond the schema, earning the baseline score.

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 states it lists gazettes, matching the name. Among siblings, 'get_gazette' likely retrieves a single gazette, but the description does not explicitly differentiate; however, the verb 'list' and parameters imply bulk listing with filters.

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 docstring provides parameter example values and constraints (e.g., limit ≤100), implying usage context. However, there is no explicit guidance on when to use this tool versus sibling alternatives like 'get_gazette' or 'list_gazette_agendas'.

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

list_interpellationsB
列出立法院質詢列表。

Args:
    interpellation_member: 質詢委員姓名,例:羅智強
    term: 屆期,例:11
    session: 會期,例:2
    meeting_code: 會議代碼,例:院會-11-2-6
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的質詢查詢結果。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
termNo屆,例:11
limitNo每頁筆數,預設20,建議不超過100
sessionNo會期,例:2
meeting_codeNo會議代碼,例:院會-11-2-6
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
interpellation_memberNo質詢委員姓名,例:羅智強

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It mentions return type (JSON string) and error handling (Chinese error messages), but does not disclose if this is read-only, any authentication needs, rate limits, or side effects. Given that it's a listing operation, it is likely safe, but the description does not make this explicit.

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 concise and follows a clear docstring structure with Args and Returns sections. The main purpose is front-loaded. Every sentence adds value, though the parameter descriptions slightly overlap with the schema. No redundancy, but could be more compact.

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?

Given the tool has 7 parameters and an output schema (implied), the description adequately covers the return format and error handling. It includes pagination details (page, limit) but does not elaborate on pagination behavior like total count. Overall, it is fairly complete for a list tool.

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 the schema already documents all parameters. The description adds value by providing examples (e.g., '例:羅智強') and a recommendation for limit ('建議不超過100'). However, these are minor improvements over the schema descriptions, so a baseline of 3 is appropriate.

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 states '列出立法院質詢列表' which means 'List the legislative interpellation list'. It identifies the tool as a listing operation with various filters. However, it does not explicitly differentiate from sibling tools like get_interpellation or get_legislator_interpellations, so it loses some points.

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

Usage Guidelines2/5

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

The description provides parameter details but offers no guidance on when to use this tool versus alternatives (e.g., get_interpellation for a single item or get_legislator_interpellations for a specific legislator). There is no context about prerequisites or when not to use it.

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

list_ivodsB
列出 IVOD(網路電視)影片列表。

Args:
    term: 屆,例:11
    session: 會期,例:2
    meeting_code: 會議代碼,例:委員會-11-2-22-5
    member_name: 委員名稱,例:陳培瑜
    committee_code: 委員會代碼,例:22
    meeting_code_data: 會議資料.會議代碼,例:委員會-11-2-22-5
    date: 日期,格式:YYYY-MM-DD,例:2024-10-24
    video_type: 影片種類,Clip(片段)或 Full(完整)
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式,包含 IVOD 影片列表資料。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo日期,格式:YYYY-MM-DD,例:2024-10-24
pageNo頁數,預設1
termNo屆,例:11
limitNo每頁筆數,預設20,建議不超過100
sessionNo會期,例:2
video_typeNo影片種類,Clip(片段)或 Full(完整)
member_nameNo委員名稱,例:陳培瑜
meeting_codeNo會議代碼,例:委員會-11-2-22-5
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
committee_codeNo委員會代碼,例:22
meeting_code_dataNo會議資料.會議代碼,例:委員會-11-2-22-5

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only states the return format (JSON) and error handling (Chinese error messages). It omits important traits like pagination limits, default ordering, read-only nature, or rate limits, which are critical for safe invocation.

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

Conciseness3/5

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

The description is moderately concise with a clear initial sentence, but the parameter list duplicates the schema information and could be condensed. It is front-loaded with purpose but not optimized for quick scanning.

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

Completeness3/5

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

The tool has 11 filter parameters and an output schema. The description explains what the tool does and provides examples, but misses contextual details like how filters combine (AND/OR) or the default output structure. However, the existence of an output schema partly compensates for missing return information.

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?

The input schema has 100% description coverage, providing examples for all 11 parameters. The tool description repeats these examples but adds no significant additional meaning beyond the schema. Thus, the value added is minimal, warranting the baseline score of 3.

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 clearly states '列出 IVOD 影片列表' (list IVOD video list), specifying the verb (list) and resource (IVOD videos). It distinguishes from sibling tools like get_ivod (single item) and other list tools by focusing on IVOD videos.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as get_ivod or other list tools. It does not mention scenarios, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.

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

list_law_contentsC
列出法條資料。

Args:
    law_number: 法律編號,例:90481
    version_id: 版本編號,例:90481:90481:1944-02-29-制定:1
    order: 順序,例:1
    article_number: 條號,例:第一條
    current_version_status: 現行版,可選值:現行、非現行
    version_tracking: 版本追蹤,例:new
    page: 頁數,預設1
    limit: 每頁筆數,預設20
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的法條列表。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
limitNo每頁筆數,預設20
orderNo順序,例:1
law_numberNo法律編號,例:90481
version_idNo版本編號,例:90481:90481:1944-02-29-制定:1
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
article_numberNo條號,例:第一條
version_trackingNo版本追蹤,例:new
current_version_statusNo現行版,可選值:現行、非現行

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. The description mentions return type (JSON string) and error handling (Chinese error messages), but does not disclose read-only nature, idempotency, or potential side effects. For a listing tool with no annotations, more behavioral context is expected.

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 structured with a clear purpose line followed by parameter definitions. It is reasonably concise but could be more compact by removing verbatim repeats of schema descriptions.

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

Completeness3/5

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

The description covers return type and error handling, and an output schema exists. However, it lacks explanation of parameter dependencies (e.g., whether law_number or version_id is needed) and constraints.

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 baseline is 3. The description's parameter list essentially duplicates the schema's descriptions without adding new meaning or relationships.

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 states '列出法條資料' (list law article data), which clearly indicates a listing operation. The name 'list_law_contents' and the parameter list (filters, pagination) reinforce this. However, it does not explicitly differentiate from sibling tools like get_law_content, though inference is possible.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description simply lists parameters without explaining scenarios or prerequisites.

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

list_lawsC
列出立法院法律列表。

Args:
    law_number: 法律編號,例:09200015
    category: 類別,母法或子法
    parent_law_number: 母法編號,例:09200
    law_status: 法律狀態,例:現行
    authority: 主管機關,例:總統府
    latest_version_date: 最新版本日期,格式:YYYY-MM-DD,例:2024-10-25
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的法律查詢結果。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
limitNo每頁筆數,預設20,建議不超過100
categoryNo類別,母法或子法
authorityNo主管機關,例:總統府
law_numberNo法律編號,例:09200015
law_statusNo法律狀態,例:現行
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
parent_law_numberNo母法編號,例:09200
latest_version_dateNo最新版本日期,格式:YYYY-MM-DD,例:2024-10-25

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions returning a JSON string and Chinese error messages but does not disclose whether the tool is read-only, any authentication needs, rate limits, or side effects. For a listing tool, read-only behavior is implied but not explicit.

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

Conciseness3/5

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

The description is structured with Args, Returns, and Raises sections but is verbose due to repeating parameter descriptions. It could be more concise by summarizing or referencing the schema. The front-loading is adequate but not efficient.

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

Completeness3/5

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

Given 9 parameters, 100% schema coverage, and an output schema, the description covers the basics: return type, error handling. However, it lacks usage context, pagination details, and relationship to sibling tools, leaving some gaps for an AI agent.

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?

All 9 parameters have descriptions in the schema (100% coverage). The description repeats these descriptions with examples, adding minimal value. It does not explain how parameters interact or provide further semantic guidance beyond what the schema already offers.

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 states it lists laws from the Legislative Yuan. The verb '列出' (list) and resource '法律列表' (law list) define the action and output. However, it does not distinguish from siblings like list_law_versions or list_law_contents, which also list law-related data.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as get_law (for a single law) or list_law_versions (for versions). The description provides parameters but no context or prerequisites.

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

list_law_versionsB
列出法律版本資料。

Args:
    law_number: 法律編號,例:90481
    version_number: 版本編號,例:90481:1944-02-29-制定
    date: 日期,格式:YYYY-MM-DD,例:1944-02-29
    action: 動作,例:制定
    main_proposer: 歷程主提案,例:張子揚
    progress: 歷程進度,例:一讀
    current_version: 現行版本,現行或非現行
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式,包含法律版本列表。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo日期,格式:YYYY-MM-DD,例:1944-02-29
pageNo頁數,預設1
limitNo每頁筆數,預設20,建議不超過100
actionNo動作,例:制定
progressNo歷程進度,例:一讀
law_numberNo法律編號,例:90481
main_proposerNo歷程主提案,例:張子揚
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
version_numberNo版本編號,例:90481:1944-02-29-制定
current_versionNo現行版本,現行或非現行

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It specifies the return type (JSON string) and error handling (Chinese error messages). Pagination behavior is implied via 'page' and 'limit' parameters. However, it does not explicitly state that the operation is read-only, nor does it disclose any rate limits or performance characteristics.

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 well-structured with clear sections for Args, Returns, and Raises. It is appropriately detailed without unnecessary verbosity. Each parameter gets a line with an example, keeping it organized.

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?

Given the tool has 10 parameters, all optional, and an output schema is present, the description adequately covers input details, return type, and error handling. It is complete for an agent to understand how to invoke the tool, though it could list possible values for 'action' or 'progress'.

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 coverage is 100%, so baseline is 3. The description adds value by providing concrete examples for each parameter (e.g., law_number: 90481, date: 1944-02-29), which clarifies format and usage beyond the schema descriptions.

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 states '列出法律版本資料' (list legal version data), indicating a list operation. It enumerates filtering parameters, which distinguishes it from siblings like 'get_law_versions' that might retrieve a single version. However, it does not explicitly contrast with the similarly named sibling 'get_law_versions'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., 'get_law_versions', 'get_law_version'). There is no mention of prerequisites, typical use cases, or scenarios where other tools would be more appropriate.

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

list_legislatorsA
取得立法委員列表。

Args:
    term: 屆,例:11
    party: 黨籍,例:民主進步黨
    district_name: 選區名稱,例:臺南市第6選舉區
    legislator_id: 歷屆立法委員編號,例:1160
    legislator_name: 委員姓名,例:韓國瑜
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的立法委員列表。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
termNo屆,例:11
limitNo每頁筆數,預設20,建議不超過100
partyNo黨籍,例:民主進步黨
district_nameNo選區名稱,例:臺南市第6選舉區
legislator_idNo歷屆立法委員編號,例:1160
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
legislator_nameNo委員姓名,例:韓國瑜

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations exist, so the description must convey behavioral traits. It mentions returning a JSON string and raising exceptions, but lacks details on pagination behavior, data freshness, or side effects. Basic transparency is present.

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 structured with an intro, parameter list, returns, and raises. It is front-loaded with the purpose. Some parameter details could be streamlined, but overall clear.

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?

Given 8 optional parameters and an output schema (true but not shown), the description covers returns and error messages. It lacks details on filtering logic (AND/OR) or output field names, but is adequate for use.

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?

All 8 parameters are described in the schema (100% coverage). The description adds value by providing concrete examples for each parameter and recommending a limit (not exceed 100), which is not in the schema.

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 clearly states '取得立法委員列表' (get list of legislators), specifying the action and resource. It distinguishes from siblings like 'get_legislator' which retrieves a single entity.

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 lists parameters with examples but does not explicitly state when to use this tool versus alternatives like 'get_legislator'. No when-not-to-use or context cues are provided.

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

list_meetsC
列出立法院會議列表。

Args:
    term: 屆,例:11
    meeting_code: 會議代碼,例:院會-11-2-6
    session: 會期,例:2
    meeting_type: 會議種類,例:院會
    meeting_attendee: 出席委員,例:陳秀寳
    date: 日期,格式:YYYY-MM-DD,例:2024-10-25
    committee_code: 委員會代號,例:23
    meeting_id: 會議編號,例:2024102368
    meeting_bills_bill_no: 關係文書議案編號,例:202110071090000
    meeting_bills_law_no: 關係文書法律編號,例:01177
    page: 頁數,預設1
    limit: 每頁筆數,預設20,建議不超過100
    output_fields: 自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)

Returns:
    str: JSON 格式的會議列表。

Raises:
    例外時回傳中文錯誤訊息字串。
ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo日期,格式:YYYY-MM-DD,例:2024-10-25
pageNo頁數,預設1
termNo屆,例:11
limitNo每頁筆數,預設20,建議不超過100
sessionNo會期,例:2
meeting_idNo會議編號,例:2024102368
meeting_codeNo會議代碼,例:院會-11-2-6
meeting_typeNo會議種類,例:院會
output_fieldsNo自訂回傳欄位(如需指定欄位,請填寫欄位名稱列表)
committee_codeNo委員會代號,例:23
meeting_attendeeNo出席委員,例:陳秀寳
meeting_bills_law_noNo關係文書法律編號,例:01177
meeting_bills_bill_noNo關係文書議案編號,例:202110071090000

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behaviors. It minimally states return type (JSON string) and error handling, but lacks details on pagination, rate limits, or what happens with invalid filters.

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

Conciseness3/5

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

The description is a lengthy parameter list with examples; it is verbose but structurally clear. It could be more concise by grouping related parameters.

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

Completeness3/5

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

Given the 13 parameters and presence of an output schema, the description adequately lists inputs and return type but lacks usage advice or complete behavioral context.

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 explains each parameter. The description repeats the same examples, adding no new semantic value beyond the schema.

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 states the tool lists meetings of the Legislative Yuan, with many filtering parameters. However, it does not explicitly differentiate itself from sibling tools like get_meet, which retrieves a single meeting.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description only lists parameters without any usage context or prerequisites.

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

list_votesC

列出立法院表決紀錄。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo頁數,預設1
termNo屆,例:11
limitNo每頁筆數,預設20,建議不超過100
vote_timeNo上游表決時間字串
vote_typeNo表決型態,例:記名表決
meeting_codeNo會議代碼,例:院會-11-4-14
output_fieldsNo自訂上游回傳欄位列表
voting_memberNo參與投票的委員姓名
agreeing_memberNo投贊成票的委員姓名
opposing_memberNo投反對票的委員姓名
abstaining_memberNo投棄權票的委員姓名
gazette_document_idNo公報文件代碼,例:1150101_00002

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden. It only states the purpose and does not disclose any behavioral traits such as read-only nature, pagination behavior, required permissions, or return format. The schema hints at pagination via page and limit, but the description adds no context beyond the name.

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

Conciseness3/5

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

The description is a single sentence with no waste, but it is extremely sparse for a tool with 12 parameters. It is concise but lacks structure (e.g., bullets or separation of concerns). It does not front-load key information about capabilities or usage.

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

Completeness2/5

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

Given the tool's complexity (12 parameters, multiple filters, and an output schema), the description is severely incomplete. It provides only the basic purpose and leaves the agent to infer filtering, pagination, and output details from the schema. No guidance on common use cases or integration with other tools is given.

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%, as all 12 parameters have descriptions. The tool's description does not add any additional meaning beyond the schema, so the baseline score of 3 applies. It does not explain how parameters interact or provide examples.

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 '列出立法院表決紀錄。' means 'List legislative voting records,' which clearly states the verb (list) and resource (voting records). It distinguishes from siblings like get_vote and get_vote_meets by indicating a list operation, though it does not elaborate on scope or specific type of votes.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention when to use it, when not to, or any alternatives. Since sibling tools like get_vote and get_vote_meets exist, explicit guidance would be valuable but is absent.

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

TDQS

B3.3/5.0
Disambiguation4/5

多数工具按实体清晰区分,如法律、议案、委员会等,但list_gazette_agendas与get_gazette_agendas、list_law_versions与get_law_versions存在相似功能,可能造成轻微混淆。总体边界明确,仅少数重叠。

Naming Consistency5/5

所有工具均采用snake_case,并严格遵循list_<entity>和get_<entity>模式,关联查询如get_bill_meets也保持一致的动词+名词结构,命名统一且可预测。

Tool Count2/5

42个工具远超典型范围(3-15个),虽涵盖多类数据,但数量过多可能增加选择成本。根据校准,25个以上已属偏多,42个更接近极限,因此给2分。

Completeness5/5

工具集全面覆盖立法院核心数据域:法律、议案、委员会、公報、质询、IVOD、会议、表决、立法委员,且包括列表、详情、关联查询等关键操作,无明显缺失或死角。

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables access to comprehensive U.S. legislative and governmental data from GovInfo.gov and Congress.gov APIs, including bills, Congressional records, Federal Register documents, member information, and committee activities.
    1
  • A
    license
    A
    quality
    B
    maintenance
    Provides access to legislative data from all 50 US states through the LegiScan API, enabling comprehensive search and retrieval of bills, votes, legislators, and legislative session information.
    10
    21
    10
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides comprehensive access to Hong Kong Legislative Council data including voting results, bills, parliamentary questions, and Hansard records. It supports real-time multi-word search capabilities and various transport protocols like SSE and WebSocket for easy integration.
    2
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to access real-time legislative data from the Korean National Assembly including members, bills, votes, and schedules through 276 Open APIs. Supports dual transport modes (stdio/HTTP), configurable Lite/Full tool profiles, and in-memory caching for efficient querying.
    17
    89
    MIT

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/narumiruna/ly-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server