Skip to main content
Glama
mhwan

Korean Assembly MCP

by mhwan

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ASSEMBLY_INDEXNoSet to 'off' to disable storing data into the local index when tools are used.
ASSEMBLY_CHROMENoPath to the Google Chrome executable. Defaults to the OS-specific standard Chrome installation location.OS-specific default Chrome install location
ASSEMBLY_API_KEYNoOpen 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_DBNoPath to the local SQLite FTS5 search index database.~/.cache/assembly-mcp/index.db
ASSEMBLY_PDFTOTEXTNoPath 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_DIRNoDirectory for downloaded PDFs and extracted text cache.~/.cache/assembly-mcp/reports
ASSEMBLY_CAPTION_DIRNoDirectory 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

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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와 요청 변수(*는 필수)를 쓴다.

  • nwvrqwxyaytdsfvhu 국회의원 인적사항: HG_NM, POLY_NM, ORIG_NM, CMITS, SEX_GBN_NM, MONA_CD

  • ALLNAMEMBER 국회의원 정보 통합 API: NAAS_CD, NAAS_NM, PLPT_NM, BLNG_CMIT_NM

  • nktulghcadyhmiqxi 위원회 위원 명단: DEPT_CD, DEPT_NM, JOB_RES_NM, HG_NM, ORIG_NM, POLY_NM, ASSEM_TEL, ASSEM_EMAIL, MONA_CD

  • nxrvzonlafugpqjuh 위원회 현황 정보: CMT_DIV_NM, HR_DEPT_CD, COMMITTEE_NAME, HG_NM, HG_NM_LIST

  • nuvypcdgahexhvrjt 국회의원 상임위 활동: DAE_NUM*, SES_NUM, DEGREE_NUM, COMM_NAME, CONF_DATE, CLASS_NAME

  • nzmimeepazxkubdpn 국회의원 발의법률안: BILL_ID, BILL_NO, BILL_NAME, COMMITTEE, PROC_RESULT, AGE*, PROPOSER, COMMITTEE_ID

  • ALLBILLV2 의안정보 통합 API: ERACO*, BILL_ID, BILL_NO, BILL_KND, BILL_NM, PPSR_KND, PPSL_DT, JRCMIT_NM, RGS_CONF_RSLT

  • BILLINFODETAIL 의안 상세정보: BILL_ID*

  • BILLINFOPPSR 의안 제안자정보: BILL_ID*

  • BILLRCPV2 의안 접수목록: ERACO, BILL_ID*

  • BPMBILLSUMMARY 법률안 제안이유 및 주요내용: BILL_NO*

  • TVBPMBILL11 법률안 심사 및 처리(의안검색): BILL_ID, BILL_NO, AGE*, BILL_NAME, PROPOSER, PROPOSER_KIND, CURR_COMMITTEE_ID, CURR_COMMITTEE, PROC_DT, PROC_RESULT_CD, BILL_ID_REF

  • BILLJUDGECONF 의안 위원회심사 회의정보 조회: BILL_ID*

  • BILLJUDGE 의안 심사정보(예ㆍ결산 제외): ERACO

  • TVBPMCONFINFO 소위 심사정보(법률안): AGE*, BILL_NO, BILL_ID, ENROLL_TYPE

  • nojepdqqaweusdfbi 국회의원 본회의 표결정보: HG_NM, POLY_NM, MEMBER_NO, VOTE_DATE, BILL_NO, BILL_NAME, BILL_ID*, CURR_COMMITTEE, RESULT_VOTE_MOD, CURR_COMMITTEE_ID, MONA_CD, AGE*

  • ncocpgfiaoituanbr 의안별 표결현황: BILL_ID, BILL_NO, BILL_NAME, CURR_COMMITTEE, CURR_COMMITTEE_ID, PROC_RESULT_CD, BILL_KIND_CD, AGE*

  • ncwgseseafwbuheph 위원회 회의록: TITLE, CLASS_NAME, DAE_NUM*, COMM_NAME, CONF_DATE*, SUB_NAME, DEPT_CD

  • VCONFDETAIL 회의록별 상세정보: CONF_ID*

  • VCONFBLLLIST 회의별 안건목록: CONF_ID*

  • WEBCASTVCONF 영상회의록 목록: ERACO, CONF_DT

  • npeslxqbanwkimebr 국회의원 영상회의록(발언영상): CT1*, TAKING_DATE*, TITLE, ESSENTIAL_PERSON

  • ALLSCHEDULE 국회일정 통합 API: SCH_KIND, SCH_DT

  • nrsldhjpaemrmolla 위원회별 일정: MEETING_DATE, MEETING_TIME, SESS, DEGREE, TITLE, COMMITTEE_NAME, UNIT_CD*, HR_DEPT_CD

  • nttmdfdcaakvibdar 위원회별 전체회의 일정: MEETING_DATE, MEETING_TIME, SESS, DEGREE, TITLE, COMMITTEE_NAME, UNIT_CD*, HR_DEPT_CD

  • nrkqqbvfanfybishu 위원회별 소위원회 일정: MEETING_DATE, MEETING_TIME, SESS, DEGREE, TITLE, COMMITTEE_NAME, UNIT_CD*, HR_DEPT_CD

  • napvpafracrdkxmoq 위원회별 공청회 일정: MEETING_DATE, MEETING_TIME, SESS, DEGREE, TITLE, COMMITTEE_NAME, UNIT_CD*, HR_DEPT_CD

  • nekcaiymatialqlxr 본회의 일정: MEETINGSESSION, CHA, TITLE, MEETTING_DATE, UNIT_CD*

  • NAMEMBEREVENT 의원실 행사 정보:

  • nfcoioopazrwmjrgs 국회의원 세미나 일정: TITLE, DESCRIPTION, SDATE, NAME, LOCATION

  • nbqbmccpamsvwebkn 국회의원 정책 세미나 개최 현황: TITLE, HOST_DT*, HOST_INS_NAME, ATTENDANCE_NAME1, ATTENDANCE_NAME2

  • npbzvuwvasdqldskm 국회의원 기자회견: TAKING_DATE*, TITLE, PERSON

  • ALLNASPBLM 국회발간물 통합 API: MTR_DIV, MTR_TTL

  • ALLNARSPBLM 국회입법조사처 제공 자료 통합 API: MTR_DIV, MTR_TTL

  • ALLNABOPBLM 국회예산정책처 제공 자료 통합 API: MTR_DIV, MTR_TTL

  • ALLNAFIPBLM 국회미래연구원 제공 자료 통합 API: MTR_DIV, MTR_TTL

  • ALLNANETPBLM 국회도서관 제공 자료 통합 API: MTR_DIV, MTR_TTL

Prompts

Interactive templates invoked by user choice

NameDescription
summarize_committee_speeches상임위 회의 하나를 의원별 질의 요지로 정리한다(공개된 회의록 기준).
summarize_meeting상임위 회의 하나를 회의 단위로 요약한다(개요·핵심 논의사항·안건 처리·주제 태그·참석자·분량).
summarize_live_captions녹화된 당일 중계 AI 자막을 질의 의원별 요지로 정리한다(회의록 공개 전용).

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 17 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues