Korean Assembly MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ASSEMBLY_INDEX | No | Set to 'off' to disable storing data into the local index when tools are used. | |
| ASSEMBLY_CHROME | No | Path to the Google Chrome executable. Defaults to the OS-specific standard Chrome installation location. | OS-specific default Chrome install location |
| ASSEMBLY_API_KEY | No | Open Assembly Information API key. If not set as an environment variable, the server reads it from ~/.config/assembly-data/credentials. The key can also be omitted, though rate/row limits may apply. | |
| ASSEMBLY_INDEX_DB | No | Path to the local SQLite FTS5 search index database. | ~/.cache/assembly-mcp/index.db |
| ASSEMBLY_PDFTOTEXT | No | Path to the pdftotext executable used for extracting PDF text. Defaults to /opt/homebrew/bin, /usr/local/bin, or pdftotext on PATH. | /opt/homebrew/bin/pdftotext, /usr/local/bin/pdftotext, or pdftotext in PATH |
| ASSEMBLY_REPORT_DIR | No | Directory for downloaded PDFs and extracted text cache. | ~/.cache/assembly-mcp/reports |
| ASSEMBLY_CAPTION_DIR | No | Directory for caption recording files and recorder logs. | ~/.cache/assembly-mcp/captions |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| assembly_committee_meetingsA | 위원회 회의록 목록(열린국회정보 위원회 회의록 + 국정감사 회의록). 날짜 범위의 회의를 회의번호(confer_num)별로 안건과 함께 돌려준다. 국감 회의록은 class 가 "국정감사 회의록"이고 안건이 비어 있다. 회의록은 회의 후 약 1주 뒤 공개되므로(국감은 목록만 먼저 뜨고 전문은 늦게 열린다) 최근 회의는 assembly_speech_clips 를 쓴다. |
| assembly_meeting_speechesA | 회의록 전문(record.assembly.go.kr)을 의원별로 묶어 발언 원문을 돌려준다. 의원마다 정당·지역구와 transcript(차례별 "[안건N] 발언" 단락, 답변은 "↳ 답변자: …")가 붙는다. 분량이 크면 의원별 max_chars_per_member 로 잘린다(truncated=true). 특정 의원을 members 로 고르면 장관·증인 답변(replies)도 함께 준다. |
| assembly_speech_clipsA | 국회의원 발언영상 목록(회의 당일 저녁~다음 날 공개). 회의별로 누가 몇 번, 몇 분 질의했는지 준다. 발언 원문은 없다. member 를 주면 그 의원의 영상 구간(답변자·길이·영상 링크)까지 준다. 국감 회의 제목엔 위원회명이 없고 피감기관만 있다. |
| assembly_membersB | 제22대 국회의원 인적사항 검색(정당·지역구·소속위원회·당선횟수·연락처). 조건 없이 부르면 전원. |
| assembly_billsA | 제22대 법률안 검색. 제안일 최신순. 기본은 의원 발의안만 찾는다. 위원장안(대안)·정부안은 proposer_kind 로 찾는다(proposer 가 "…위원장"이면 자동). total 은 기간(from·to)을 빼고 센 전체 건수다. |
| assembly_bill_detailA | 의안 상세: 단계별 일자·결과, 제안이유 및 주요내용, 제안자 목록(대표발의 먼저), 위원회 심사 회의. 위원장안(대안)이면 반영된 원안 목록(original_bills), 대안반영폐기된 의안이면 그 대안(alternative)을 붙인다. 표결은 대안의 bill_id 로 assembly_votes 를 부른다. 대안은 같은 위원회 위원장안 중 처리일이 같은 것에서 찾으므로 못 찾으면 alternative 가 안내 문장이다(그때는 assembly_bills proposer_kind=위원장 으로 찾는다). |
| assembly_bill_reportsA | 의안 첨부 문서 목록(의안원문·검토보고서·심사보고서·체계자구검토보고서 등, PDF/HWP 링크)과 doc 으로 고른 문서의 본문 텍스트(PDF 추출). 검토보고서는 위원회 전문위원이 쓴 쟁점·찬반 분석이다. 본문이 길면 next_offset 으로 이어 읽는다. 대안(위원회안)은 검토·심사보고서가 원안들에 붙으므로 original_bills 의 의안번호로 다시 부른다. |
| assembly_audit_reportsA | 국정감사 문서. kind=result 는 위원회별 국정감사 결과보고서(2000~, 감사 개요·기관별 질의 요지·시정 및 처리요구사항·증인 목록), kind=correction 은 시정 및 처리요구사항에 대한 정부 처리결과보고서(2001~2015년도 국감분만 있음). doc_id 없이 부르면 목록(최신순), doc_id 를 주면 PDF 본문 텍스트. section=corrections 는 결과보고서의 시정·처리요구 절부터 준다. find 는 띄어쓰기를 무시하고 본문에서 찾아 offset 과 앞뒤 문맥을 준다(의원 이름 찾기 등). 본문이 길면 next_offset 으로 이어 읽는다. |
| assembly_publicationsA | 국회 소속기관 발간물 검색(법제실·입법조사처·예산정책처·미래연구원·국회도서관). 제목·구분은 부분일치, 결과는 작성일 최신순. 입법조사처 "이슈와 논점"·예산정책처 "NABO Focus"·도서관 "최신외국입법정보" 같은 구분명은 div 로 거른다. |
| assembly_votesC | 본회의 표결: 의안별 찬반 집계와 정당별·의원별 표결. |
| assembly_scheduleC | 국회 일정 통합(본회의·위원회·국회행사·세미나). |
| assembly_liveB | 국회 의사중계 현재 중계 목록. |
| assembly_live_captions_recordA | 의사중계 AI 자막 녹화 시작/상태. 자막 서버는 접속 이후 문장만 보내므로 회의 전체를 보려면 중계 중에 미리 녹화해야 한다. 녹화기는 이 서버와 별도 프로세스로 돌고, 중계가 끝나면 스스로 멈춘다. xcode 는 assembly_live 의 xcode, all=true 면 모든 자막 중계를 녹화한다. 인자 없이 부르면 상태만 본다. |
| assembly_live_captionsA | 녹화된 의사중계 AI 자막(STT)을 질의 의원 블록으로 묶어 준다. 블록마다 의원·정당·지역구와 transcript("[시각] (역할?) 문장")가 붙는다. 회의록이 나오기 전 당일 발언 원문용. 화자는 위원장 지명·자기소개 문장으로 추정한 값이고 자막에는 인식 오류가 있다. 위원장이 부른 이름이 의원 명단에 없으면(STT 오인식) member 는 null, heard 는 자막에 들린 이름이다. |
| assembly_searchA | 통합 전문 검색. (1) 로컬 색인: 이 MCP 로 한 번이라도 가져온 회의록 발언·자막 녹화·검토보고서·국감 결과보고서 본문을 날짜와 상관없이 찾는다. 띄어쓰기는 무시하고(전세사기=전세 사기), 낱말은 모두 들어 있어야 한다. "따옴표"로 묶으면 한 낱말. (2) remote: 국회도서관 회의록 전문 검색으로 가져온 적 없는 회의까지 찾는다(형태소 검색이라 낱말이 나뉘어 일치할 수 있음). 기본 auto 는 로컬이 0건일 때만 원격을 본다. 근거를 인용할 때는 hit 의 url·offset 으로 원문을 열어 확인한다. |
| assembly_indexA | 로컬 검색 색인 관리. status: 출처별 문서·조각 수와 최근 색인 문서. meetings: 기간(최대 62일)·위원회의 공개된 회의록을 한꺼번에 색인(이미 있으면 건너뜀, force 면 다시). captions: 그날 자막 녹화를 색인. 회의록·자막·보고서 도구를 쓰면 자동으로도 색인된다. |
| assembly_openapiC | 열린국회정보 OpenAPI 범용 호출. 아래 서비스ID와 요청 변수(*는 필수)를 쓴다.
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| summarize_committee_speeches | 상임위 회의 하나를 의원별 질의 요지로 정리한다(공개된 회의록 기준). |
| summarize_meeting | 상임위 회의 하나를 회의 단위로 요약한다(개요·핵심 논의사항·안건 처리·주제 태그·참석자·분량). |
| summarize_live_captions | 녹화된 당일 중계 AI 자막을 질의 의원별 요지로 정리한다(회의록 공개 전용). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Tools are mostly distinct: bills, bill detail, reports, votes, meetings, speeches, clips, and captions each target a different resource or stage of the legislative workflow. The main ambiguity comes from assembly_openapi, a generic catch-all that overlaps with many specialized tools, and from the dense clustering of assembly_committee_meetings / assembly_meeting_speeches / assembly_speech_clips / assembly_live_captions, where the boundaries require careful reading.
All tool names use a consistent assembly_ snake_case prefix with noun/action phrasing (assembly_bills, assembly_bill_detail, assembly_votes, assembly_schedule). Minor ordering differences like assembly_live_captions_record are still readable and fit the overall convention.
At 17 tools the set is slightly above the ideal 3-15 range, but the breadth of the Assembly domain (members, bills, meetings, votes, reports, schedule, publications, live captions, search) justifies most tools. Each appears to earn its place rather than duplicating another.
Coverage is strong: members, bill lifecycle, bill detail, attachments, votes, meeting minutes, speeches, live captions, audit reports, publications, schedule, and search/index are all represented. Remaining gaps (e.g., committee rosters or member-level activity outside the generic OpenAPI passthrough) are minor and mostly workable via assembly_openapi.