Open API · MCP — 법령 검토 자료를 그대로 가져가세요
AI 에이전트가 투표함의 법령 검토 자료를 가져다 쓸 수 있나요?
예. 투표함이 실제 개표 판정에 쓰는 자료를 JSON(/open/), OpenAPI(/openapi.json), MCP 서버(/api/mcp)로 엽니다. 법령 24개·조문 68개의 원문과 시행일, 안건 유형 55개의 정족수와 전자투표 근거, 조문 전수 검토 416문장, 법령 갱신 이력을 담고 있으며 출처만 밝히면 인용·재배포할 수 있습니다(CC BY 4.0).
투표함, 「법령별 전자투표 요건 검토 자료」, https://vote.easykmarket.com/open/ (국가법령정보센터 원문 대조, 수집일 기준)
왜 믿어도 되나
- 법령 원문을 두 출처(bigcase.ai 캐시, 국가법령정보센터 DRF 시행 중 판본)에서 받아 조·항·호 단위로 대조합니다. 한 조각이라도 다르면 배포가 멈춥니다.
- 조문의 모든 문장(전수 대장)에 투표함의 대응(코드·주최자 안내·무관)을 기록하고, 등록되지 않은 문장이 생기면 검사가 실패합니다.
- 배포마다 4,700여 항목 검증과 실부하 시험을 통과해야 올라갑니다.
- 조문마다 "투표함이 코드로 지키는 것"과 "주최자가 해야 할 것"을 갈라 적습니다. 다 된다고 말하지 않습니다.
- 못 하는 것도 적습니다 — 주주총회(전자서명 필요), 공직선거, 본인인증 없는 투표.
정적 JSON (인증 없음, 캐시 가능)
| 주소 | 내용 |
|---|---|
| /open/index.json | 자료 목록·건수·라이선스·인용 형식·검증 방법 |
| /open/laws.json | 추적 법령 24개 — 시행일·공포일·공포번호·대조일·추적 조문·시행 예정 개정 |
| /open/laws/{slug}.json | 법령 하나의 조문 원문(조·항·호)·개정 꼬리표·투표함 적용 내용·관련 안건 유형 |
| /open/resolution-types.json | 안건 유형 55개 — 의결정족수(인원·의결권), 근거 조문과 인용문, 전자투표 가능 여부와 근거, 소집통지 요건, 본인확인 등급, 명부 필요 여부 |
| /open/obligations.json | 조문 전수 대장 416문장 — 문장(quote)·요지·상태(done/organizer/context/gap)·지키는 방법 |
| /open/changelog.json | 법령 갱신 이력 — 법령·조문별 시행일과 개정 꼬리표, 시행 예정 개정 |
| /openapi.json | OpenAPI 3.1 명세 (위 전부 + 아래 동적 API) |
| /llms.txt · /llms-full.txt | 답변 엔진용 색인과 전문 |
| /mcp/server.json | MCP 레지스트리용 서버 설명(공식 스키마) — 등록 화면에 이 주소를 넣습니다 |
동적 API
GET /api/open/resolution-types·GET /api/open/resolution-types/{key}— 서버 엔진의 안건 유형 (정적 JSON 과 같은 출처)POST /api/open/judge— 정족수 판정. 투표함이 개표에 쓰는 함수 그대로. 사람 수와 의결권(면적)을 함께 넣으면 두 요건을 따로 판정합니다.GET /api/open/quote?people=366— 세 갈래 요금 견적.POST /api/web/drafts·GET /api/web/drafts/{id}— AI 투표함 초안 생성·상태(MCP 도구와 같은 경로). 확인은 사람의 본인인증 세션으로만.
curl -s https://vote.easykmarket.com/api/open/judge -H 'content-type: application/json' \
-d '{"preset":"bldg_general","eligibleCount":400,"attendeeCount":380,"approveCount":323,"eligibleWeight":32431.2,"castWeight":30800.5,"approveWeight":24279.3}'
제한: 주소당 초당 20회(버스트 40). 더 필요하면 연락 주세요. 응답은 JSON 이며 개인정보는 없습니다.
MCP 서버 — AI 에이전트가 도구로 씁니다
Model Context Protocol 의 Streamable HTTP 방식입니다. 인증 없이 읽기 전용 도구만 제공합니다.
{
"mcpServers": {
"votebox": {
"type": "streamable-http",
"url": "https://vote.easykmarket.com/api/mcp"
}
}
}
| 도구 | 하는 일 |
|---|---|
| list_laws | 추적 법령 목록과 시행일·예정 개정 |
| get_statute | 법령·조문 하나의 원문(조·항·호)과 투표함 적용 내용 |
| list_resolution_types | 안건 유형 목록 (단체 유형별) |
| get_resolution_requirement | 안건 유형 하나의 정족수·근거·전자투표 근거·소집통지·본인확인 |
| judge_resolution | 표 수와 의결권을 넣어 가결·부결 판정 |
| electronic_voting_basis | 이 안건을 전자투표로 할 수 있는가 — 법이 직접 허용 / 규약 근거 필요 / 불가 |
| law_changelog | 법령 갱신 이력과 시행 예정 개정 |
| search | 질문·안건·법령 이름으로 자료 찾기 |
| AI 투표함 — 행동 도구 (안내) | |
| get_quote | 투표 인원으로 세 갈래 요금(AI·직접·맞춤) 견적 |
| create_draft_meeting | 집회 초안 생성 → 확인 링크(confirmUrl). 주최자가 검토·체크·본인인증·결제해야 열림. 에이전트는 관리 토큰을 받지 못함 |
| get_draft_status | 초안이 확인·결제·개설됐는지 |
| request_consult | 맞춤 투표함 상담 신청(담당자 연락처 필요) |
| get_dashboard · upload_roster · record_notice · enter_paper_ballots · close_meeting · get_report | 운영 도구 — 주최자가 넘겨준 관리 토큰으로만 동작. 서면 입력은 증빙 사진 필수, 전자투표자가 섞이면 묶음 거절 |
명부 해시 규칙(원문을 서버에 보내지 않기 위해 에이전트가 직접 계산): sha256("voter:" + 이름 + "|" + 생년월일 YYYYMMDD + "|" + 휴대폰 숫자만) 의 16진수. 면적 의결권은 weight(㎡).
인용 형식
투표함, 「법령별 전자투표 요건 검토 자료」, https://vote.easykmarket.com/open/ (국가법령정보센터 원문 대조, 수집일 기준)
페이지를 인용할 때는 그 페이지 주소와 조문 시행일을 함께 적어 주세요. 날짜가 있는 인용은 판본이 바뀌어도 추적됩니다. 라이선스: 투표함의 검토 자료는 CC BY 4.0, 법령 원문은 저작권법 제7조의 공공저작물입니다.
관리단·조합이 AI 로 직접 투표 시스템을 만들 수는 없나요?
투표 화면은 만들 수 있지만 법이 요구하는 본인확인은 만들 수 없습니다. 집합건물법 시행령 제13조제1항제1호의2 가 말하는 "본인확인기관의 본인확인" 은 정보통신망법 제23조의3 에 따라 지정된 기관(통신사)만 할 수 있고, 그 서비스는 사업자 심사·계약을 거친 가맹점에만 열립니다. 그래서 관리단은 계약을 가진 업체의 투표함을 써야 하고, 투표함은 그 자리에 법령 검토와 본인인증을 갖춘 채 서 있습니다.
자료를 쓰시다 틀린 곳을 찾으면 알려 주세요. 원문 대조 검사에 바로 반영합니다.