Skip to main content
Glama
Korean Bill & Debate MCP

Korean Bill & Debate MCP

by epoko77-ai

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KBD_DATA_DIRNoOverride default cache directory (default: ~/.local/share/korean-bill-debate-mcp)~/.local/share/korean-bill-debate-mcp
ASSEMBLY_OPEN_API_KEYYesYour Open Assembly API key from https://open.assembly.go.kr/

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_speechesB

Search official speeches in Korean or English.

    Source records are Korean. For an English request, optionally provide concise Korean search
    terms in korean_query; otherwise the built-in legislative glossary supplies common terms.
    Preserve official citations and answer the user in the language they requested. ``limit``
    is a ranked quick-selection size, never proof that the requested source scope is complete;
    use the durable research workflow for a complete candidate map and explicit traversal.
    
get_speechD–
get_speech_contextD–
list_committeesD–
list_meetingsC

Query official meeting metadata for the requested scope and list cached candidates.

search_billsA

Search live bills from a Korean or English request.

    Use korean_query for Korean bill-title or policy keywords when the English subject contains
    a proper noun not covered by the built-in glossary. The fast default returns bill candidates
    and status. Set include_documents=true only for a small targeted search, or call
    get_bill_status for each relevant bill to retrieve its expert review report without making
    one broad request time out. ``limit`` is only the ranked quick-selection size; this tool
    does not claim that every bill in a broad issue scope has been enumerated.
    
get_bill_statusA

Refresh one bill's status and attach its official expert review report when available.

explore_issueA

Return one detailed, answer-ready review across every requested legislative stage.

    필수: 이 도구는 한 번만 호출하고 ``answer_brief.mandatory_coverage``를 최종 답변의
    체크리스트로 사용하세요. 소위·상임위·본회의를 각각 독립 절로 쓰고 모든
    ``direct_claim_evidence``를 발언자별 주장·이유·답변까지 반영해야 합니다. 본회의
    찬반토론과 같은 발언의 ``supplemental_excerpts``를 생략하거나 짧은 발언자 목록으로
    대체하면 미완성 답변입니다. 답변 직전 단계별 반환 건수와 후반 논거 수를 대조하세요.

    상위 N건, ``5개 정도``, 중요 법안 요약처럼 범위가 제한된 일반 질문의 기본
    도구입니다. ``limit``는 사용자가 요구한 결과 수를 그대로 반영하세요. 전건·전수·
    빠짐없이·역대 조사는 ``exhaustive=true``로 호출하거나 ``start_research``를
    사용하세요.

    Use this as the primary tool for bounded Korean or English questions asking what happened,
    who argued what, or how a policy and bill evolved. A single law nickname plus requested
    subcommittee, standing-committee, and plenary stages belongs here. Call this tool once;
    do not precede or follow it with redundant bill/meeting/speech discovery unless next_action
    explicitly requests a continuation. Results include evidence-ranked speeches,
    ordered multi-turn discussion threads, bill and review-report links, official provenance,
    and live-check metadata. Long research is deliberately paged so no evidence is silently
    truncated and no single connector request times out. Call this tool again only when
    ``research_pagination.next_minutes_offset`` is present, using that offset and the same
    query/date scope. If it is absent, synthesize the bounded result and disclose any deadline,
    source, or stage gap instead of repeating discovery. Call get_bill_status only for the one
    exact primary bill identified by the result
    when the user needs its expert review report; never call it for every candidate.
    It queries official Open Assembly APIs before searching the private local cache and reports
    bounded-refresh diagnostics. When ``answer_brief`` is present it is the mandatory
    synthesis contract. Cover every requested stage and every returned
    ``direct_claim_evidence`` turn and every ``supplemental_excerpts`` continuation, grouping
    only genuinely redundant arguments. Preserve enumerated reasons (first, second, final,
    and so on) as separate subpoints instead of summarizing only the beginning of a long turn.
    Explain the measure identity, timeline, issue map, claim/reason/response/outcome flow,
    actor types, disposition, coverage ledger, and sources; a short speaker bullet list is not
    complete.
    Synthesize the answer from actual turns; do not infer a stance that is not supported by a
    quoted speech. Put each quote's citation.official_url next
    to the claim so the user can open and verify the original minutes immediately. Source
    records are Korean; answer English users in English and identify translated quotations.
    For unfamiliar English subjects, supply concise Korean keywords in korean_query.

    With a durable backend, only ``exhaustive=true``, an explicit exhaustive phrase, or an
    explicit multi-Assembly scope is routed to ``start_research``. Ordinary
    requests use the live Open Assembly APIs and honor ``limit``. Bounded results must not be
    described as an exhaustive inventory; expose their pagination and source coverage as-is.
    

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.5/5.0

Scored across 8 tools

Disambiguation3/5

The get/search/list verbs give some separation, but four of eight tools (get_speech, get_speech_context, list_committees, list_meetings) ship with empty descriptions, forcing the agent to guess their boundary from the name alone. Worse, explore_issue explicitly performs bill, meeting, and speech discovery and warns against calling the discovery tools first, so its boundary with search_bills/search_speeches/list_meetings is defined only by prose the agent must parse mid-task.

Naming Consistency5/5

Every name is snake_case verb_noun (get_speech, search_speeches, list_committees, get_bill_status, explore_issue), with no camelCase or bare nouns mixed in. The verb vocabulary (get/search/list/explore) is applied predictably: get for single retrieval, search for queries, list for enumerations.

Tool Count4/5

Eight tools is a sensible size for a legislative research domain, and each named tool maps to a recognizable resource. However, explore_issue is a mega-tool that subsumes much of search_speeches, search_bills, list_meetings, and get_bill_status, so a few tools earn only a marginal claim on their own existence.

Completeness3/5

Speeches, context, committees, meetings, bills, and status are covered, but there is no way to fetch a specific meeting's detail/minutes or a committee's page directly, so list_enumeration tools dead-end. The descriptions repeatedly route the agent to a durable research workflow via start_research, yet no such tool exists in this set, leaving an advertised but unreachable path.

Maintenance

ActivityStale
ResponsivenessResponsive