Skip to main content
Glama
kyusik-yang

open-assembly-mcp

by kyusik-yang

search_bills

Search for member-sponsored bills in the Korean National Assembly by assembly, keyword, proposer, committee, or result. Returns bill IDs and details for further actions.

Instructions

국회의원 발의법률안을 검색합니다 (의원발의안 전용; 정부제출안은 별도).

Search for member-sponsored bills in the National Assembly. This is the PRIMARY entry point for most bill-related queries.

IMPORTANT -- two bill identifiers are returned:

  • BILL_NO: 7-digit public number (e.g., "2216983") -- use with get_bill_detail, get_bill_review

  • BILL_ID: internal ID starting with "PRC_..." -- use with get_bill_proposers, get_member_votes, get_bill_committee_review

Typical workflow:

  1. search_bills -> get list of bills with both BILL_NO and BILL_ID

  2. get_bill_proposers(bill_id=BILL_ID) -> co-sponsors

  3. get_member_votes(bill_id=BILL_ID, assembly=assembly) -> per-member vote records

  4. get_bill_review(assembly=assembly, bill_no=BILL_NO) -> committee/plenary timeline

Note: covers member-initiated bills only. Does not include government-submitted bills. Date filtering (propose_dt_from/propose_dt_to) is applied client-side because the underlying API does not support it natively. When date filters are used with other filters (bill_name, committee, etc.), performance is good. Date-only queries on a full assembly may be slow (scans up to 2,000 results).

For bill propose-reason texts (제안이유), use the korean-assembly-bills package (pip install korean-assembly-bills). 60,925 texts with 99.4% coverage (20th-22nd).

Args: assembly: 대수 -- 필수 (예: "22" = 22대 국회, "16"-"22" 지원) bill_name: 법률안명 키워드 (선택, 예: "인공지능", "주거") proposer: 대표발의자명 (선택, 예: "홍길동") proc_result: 처리결과 필터 (선택) -- "원안가결" | "수정가결" | "부결" | "폐기" committee: 소관위원회명 (선택, 예: "법제사법위원회") propose_dt_from: 발의일 시작 (선택, 예: "2025-01-01") -- 클라이언트 사이드 필터링 propose_dt_to: 발의일 종료 (선택, 예: "2025-12-31") -- 클라이언트 사이드 필터링 page: 페이지 번호 (기본값: 1) page_size: 페이지당 결과수 (기본값: 10, 최대: 100)

Returns: bills: 법률안 목록 -- 각 항목에 BILL_ID, BILL_NO, BILL_NAME, RST_PROPOSER, PROPOSE_DT, PROC_RESULT, COMMITTEE, DETAIL_LINK 포함 count: 이번 페이지 반환 건수 total_count: 검색 조건 전체 건수 has_more: True이면 page+1로 재호출하여 추가 결과 조회 가능

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
assemblyYes
proposerNo
bill_nameNo
committeeNo
page_sizeNo
proc_resultNo
propose_dt_toNo
propose_dt_fromNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

With no annotations, the description carries full burden. It discloses key behaviors: two identifiers returned (BILL_NO, BILL_ID) with specific downstream usage, client-side date filtering with performance implications, coverage of bill propose-reason texts via external package, and the return format in 'Returns' section. This fully compensates for missing annotations.

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 and front-loaded with critical info (purpose, identifiers, workflow). However, it contains some redundancy with bilingual content and a slightly lengthy note about the external package. Still, every sentence adds value, and the structure aids scanning.

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 9 parameters, no annotations, and an output schema, the description fully covers all aspects: purpose, scope, parameters, behavioral quirks, return fields, and integration with sibling tools. It leaves no obvious gaps for an agent to make mistakes.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must explain all parameters. It does so comprehensively in the 'Args' section: each parameter has description, optionality, expected format (if applicable), examples for bill_name/proposer/committee, enum values for proc_result, client-side note for propose_dt_from/to, and defaults/limits for page/page_size. This is ideal.

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 searches for member-sponsored bills (의원발의안), distinguishes from government-submitted bills (정부제출안은 별도), and explicitly calls itself the 'PRIMARY entry point for most bill-related queries.' The verb+resource+scope is specific and unambiguous.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: it's the primary entry point, covers only member-initiated bills (not government-submitted), and includes a typical workflow referencing sibling tools (get_bill_detail, get_bill_proposers, etc.). It also notes limitations (date filtering applied client-side) and performance trade-offs.

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

Install Server

Other Tools

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/kyusik-yang/open-assembly-mcp'

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