{"id":1052418,"recorded_at":"2026-10-29T21:25:14.212827Z","observed_at":"2026-10-29T21:25:14.212673Z","subject_kind":"endpoint","subject":"5e29bfe3-044e-4dca-a2c4-2b92028a50c7","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":18,"tools":[{"description":"모든 안건을 지금 마감하고 결과를 확정한다. 공고한 마감보다 일찍 닫으면 결의가 다투어질 수 있다 — 주최자가 지시한 경우에만. manageToken 필요.","inputSchema":{"additionalProperties":false,"properties":{"confirm":{"const":true,"type":"boolean"},"manageToken":{"type":"string"},"meetingId":{"type":"string"}},"required":["meetingId","manageToken","confirm"],"type":"object"},"name":"close_meeting"},{"description":"집회 초안을 만든다. 초안은 \"확인 대기\" 상태라 아무것도 열리지 않는다 — 돌려받은 confirmUrl 을 주최자(관리인)에게 전달하면 주최자가 내용을 검토하고 체크한 뒤 휴대폰 본인인증·결제를 해야 투표가 열린다. 관리 토큰은 주최자가 받으며, 운영을 맡길지는 주최자가 정한다. 집합건물(bldg)은 agendas[].preset 에 bldg_general / bldg_bylaw / bldg_common_change 등 법정 유형을 넣고, closesAt(전자투표 마감)은 paperClosesAt(집회일) 전날까지여야 한다. roster 는 선택이며 넣을 때는 서버에 원문을 보내지 않는다: 각 사람의 hash = sha256(\"voter:\" + 이름 + \"|\" + 생년월일(YYYYMMDD) + \"|\" + 휴대폰(숫자만)) 의 16진수, 면적 의결권이면 weight(㎡). 없으면 주최자가 대시보드에서 엑셀로 올린다.","inputSchema":{"additionalProperties":false,"properties":{"agendas":{"items":{"properties":{"description":{"maxLength":2000,"type":"string"},"kind":{"enum":["yesno","choice"],"type":"string"},"options":{"description":"choice 일 때 선택지(후보)","items":{"type":"string"},"type":"array"},"preset":{"description":"법정 안건 유형 키 (etc 는 생략 가능)","type":"string"},"title":{"type":"string"}},"required":["title"],"type":"object"},"maxItems":30,"minItems":1,"type":"array"},"agent":{"description":"에이전트 이름 (기록용)","type":"string"},"closesAt":{"description":"전자투표 마감 ISO 8601","type":"string"},"declaredCount":{"description":"투표할 수 있는 사람 수(구분소유자 수 등)","minimum":1,"type":"integer"},"isAnonymous":{"default":true,"type":"boolean"},"orgType":{"enum":["bldg","apt","redev","union","assoc","coop","housing","school","student","etc"],"type":"string"},"paperClosesAt":{"description":"현장·서면 접수 마감(집회일) ISO 8601. 집합건물은 closesAt 다음 날 이후","type":"string"},"roster":{"items":{"properties":{"hash":{"type":"string"},"weight":{"type":"number"}},"required":["hash"],"type":"object"},"type":"array"},"title":{"maxLength":200,"type":"string"},"useWeighted":{"description":"etc 만 고른다. 법정 안건은 법이 정한다","type":"boolean"}},"required":["orgType","title","declaredCount","agendas","closesAt"],"type":"object"},"name":"create_draft_meeting"},{"description":"이 안건을 전자투표로 할 수 있는가 — 법이 직접 허용 / 규약·정관 근거 필요 / 불가(전자서명 요구 등) — 와 그 근거 조문.","inputSchema":{"additionalProperties":false,"properties":{"key":{"type":"string"}},"required":["key"],"type":"object"},"name":"electronic_voting_basis"},{"description":"서면결의서(현장 표)를 입력한다. 한 사람 = 명부 해시 + 안건별 선택지 id. 증빙 사진(data:image/… URL)이 반드시 필요하다. 전자투표한 사람이 섞이면 묶음 전체가 거절된다. manageToken 필요.","inputSchema":{"additionalProperties":false,"properties":{"evidenceImageDataUrl":{"type":"string"},"manageToken":{"type":"string"},"meetingId":{"type":"string"},"note":{"type":"string"},"voters":{"items":{"properties":{"choices":{"additionalProperties":{"type":"string"},"type":"object"},"hash":{"type":"string"}},"required":["hash","choices"],"type":"object"},"type":"array"}},"required":["meetingId","manageToken","voters","evidenceImageDataUrl"],"type":"object"},"name":"enter_paper_ballots"},{"description":"집회의 결제 상태·안건별 집계·명부 현황. manageToken 필요.","inputSchema":{"additionalProperties":false,"properties":{"manageToken":{"type":"string"},"meetingId":{"type":"string"}},"required":["meetingId","manageToken"],"type":"object"},"name":"get_dashboard"},{"description":"초안이 확인됐는지, 결제됐는지, 투표가 열렸는지 본다. 확인 전에는 confirmToken, 확인 뒤에는 주최자가 넘겨준 manageToken 을 token 에 넣는다.","inputSchema":{"additionalProperties":false,"properties":{"draftId":{"type":"string"},"token":{"type":"string"}},"required":["draftId","token"],"type":"object"},"name":"get_draft_status"},{"description":"투표 인원으로 세 갈래(AI 투표함·직접 투표함·맞춤 투표함) 요금을 계산한다. 부가세 포함 금액.","inputSchema":{"additionalProperties":false,"properties":{"people":{"minimum":1,"type":"integer"}},"required":["people"],"type":"object"},"name":"get_quote"},{"description":"집회 전체 결과보고서(안건별 표수·의결권·판정·근거·검증값). 마감 전에는 봉인(sealed). manageToken 필요.","inputSchema":{"additionalProperties":false,"properties":{"manageToken":{"type":"string"},"meetingId":{"type":"string"}},"required":["meetingId","manageToken"],"type":"object"},"name":"get_report"},{"description":"안건 유형 하나의 의결정족수(인원·의결권), 근거 조문, 전자투표 가능 여부와 근거, 소집통지 요건, 본인확인 등급, 명부 필요 여부, 주의사항.","inputSchema":{"additionalProperties":false,"properties":{"key":{"description":"예: bldg_general, bldg_bylaw, redev_general, apt_rep_multi","type":"string"}},"required":["key"],"type":"object"},"name":"get_resolution_requirement"},{"description":"법령 하나의 조문 원문(조·항·호)과 개정 꼬리표, 투표함이 그 조문을 어떻게 지키는지(적용 내용), 관련 안건 유형. law 에는 법령 이름(예: 집합건물의 소유 및 관리에 관한 법률) 또는 slug(condominium), article 에는 \"제38조\" 처럼. article 을 비우면 추적 조문 전부.","inputSchema":{"additionalProperties":false,"properties":{"article":{"type":"string"},"law":{"type":"string"}},"required":["law"],"type":"object"},"name":"get_statute"},{"description":"표 수와 의결권을 넣어 가결·부결을 판정한다. 투표함이 개표에 쓰는 함수 그대로. 집합건물은 구분소유자 수와 의결권(면적)을 모두 넣어야 두 요건이 판정된다.","inputSchema":{"additionalProperties":false,"properties":{"approveCount":{"description":"찬성 인원","type":"number"},"approveWeight":{"type":"number"},"attendeeCount":{"description":"출석(투표) 인원","type":"number"},"castWeight":{"type":"number"},"directAttendanceCount":{"description":"직접 출석 인원(정비사업)","type":"number"},"eligibleCount":{"description":"재적 인원","type":"number"},"eligibleWeight":{"description":"재적 의결권 합","type":"number"},"preset":{"type":"string"}},"required":["preset"],"type":"object"},"name":"judge_resolution"},{"description":"추적 법령의 시행일·공포일·조문별 개정 꼬리표·투표함 반영 내용과 시행 예정 개정.","inputSchema":{"additionalProperties":false,"properties":{},"type":"object"},"name":"law_changelog"},{"description":"투표함이 추적하는 한국 법령 목록 — 시행일·공포일·대조일·추적 조문·시행 예정 개정. 출처 국가법령정보센터.","inputSchema":{"additionalProperties":false,"properties":{},"type":"object"},"name":"list_laws"},{"description":"단체 유형(집합건물 관리단·아파트·정비사업조합·노동조합·사단법인·협동조합·주택조합·학교법인·학생자치·그 밖)별 안건 유형과 정족수 요약.","inputSchema":{"additionalProperties":false,"properties":{"group":{"description":"단체 유형 키 (bldg, apt, redev, union, assoc, coop, housing, school, student, etc). 비우면 전부","type":"string"}},"type":"object"},"name":"list_resolution_types"},{"description":"소집통지를 한 날짜·방법·대상 수를 기록한다(모든 안건). manageToken 필요.","inputSchema":{"additionalProperties":false,"properties":{"manageToken":{"type":"string"},"meetingId":{"type":"string"},"method":{"type":"string"},"note":{"type":"string"},"notifiedOn":{"description":"YYYY-MM-DD","type":"string"},"recipients":{"type":"integer"}},"required":["meetingId","manageToken","notifiedOn","method"],"type":"object"},"name":"record_notice"},{"description":"운영자가 대신 개설·집계하는 맞춤 투표함(1인당 300원)을 신청한다. 담당자가 연락한다. 담당자 이름·연락처가 필요하다.","inputSchema":{"additionalProperties":false,"properties":{"contactEmail":{"type":"string"},"contactName":{"type":"string"},"contactPhone":{"type":"string"},"headCount":{"type":"integer"},"message":{"maxLength":2000,"type":"string"},"orgName":{"type":"string"},"orgType":{"type":"string"}},"required":["orgName","contactName","contactPhone"],"type":"object"},"name":"request_consult"},{"description":"질문·안건 이름·법령 이름으로 안건 유형과 법령을 찾는다. 예: \"관리규약 개정\", \"재건축 총회 정족수\", \"집합건물법\".","inputSchema":{"additionalProperties":false,"properties":{"query":{"type":"string"}},"required":["query"],"type":"object"},"name":"search"},{"description":"선거인 명부(해시)를 모든 안건에 올린다. 원문은 보내지 않는다 — create_draft_meeting 의 hash 규칙과 같다. manageToken 필요.","inputSchema":{"additionalProperties":false,"properties":{"entries":{"items":{"properties":{"hash":{"type":"string"},"weight":{"type":"number"}},"required":["hash"],"type":"object"},"type":"array"},"manageToken":{"type":"string"},"meetingId":{"type":"string"}},"required":["meetingId","manageToken","entries"],"type":"object"},"name":"upload_roster"}]},"body_sha256":"45f0b1c9f8b89dcc6ed48125dc23a87261cd1ac433d4882fbcb8196137d568e3","prev_id":null,"leaf":"0x0f48337e4e7c6c655c1b14f212ee1cab2d84dda1137ec2a519e18556bb16c7b1","leaf_text":"{\"body\":\"45f0b1c9f8b89dcc6ed48125dc23a87261cd1ac433d4882fbcb8196137d568e3\",\"id\":1052418,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793309114212673,\"prev\":null,\"subject\":\"5e29bfe3-044e-4dca-a2c4-2b92028a50c7\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-29","leaves":242798,"root":"0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c","chained":"0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6","anchor_chain":"eip155:5042002","anchor_tx":"0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1","anchor_block":69753317},"proof":["0x0f48002c51770df020f0f6fd8fed0c9b9267c9b5e8993b646e514f956828f220","0x979274b34139576edcf5aaf36f27f38755bc867eb2c7b4298f938ea801f571aa","0x16c5dbc824d5bb1c0c5cfd52617319d4b82e6e46741f4c084a5ba99e21050f62","0xd1cbdac447fb4211821440cab8b30ee79bbcde6046456b751e37260a9bb34648","0x0131731239f5f0ac4c3eab3816b149155e05604d1c316d95d657628c6bc4c9d4","0x2a9cf890b15136158fede9bec12c4306a095af9d7a1f73990ef02644a00f2e82","0x6974015ad6579c13552f07f27fd156d85a1f4aa075995572dc4b8928012631da","0x336a8c847bc0434fc3d2ebf272f0e119dc898e9336c1d04205fe304096cb27d8","0xb5915feac76e6526e3bf1e9c2e7ab199f530132382816053aeb63a14b4de19db","0xf662a975fff66001a2bc54dbc978845e62dc0b428b2c27fb76c4f0467dbea526","0x3ba95e19020356daffeafc4ac0c057901bc402ca224f6a1f4ce846c8c6595a63","0x167cb457e5618956c84193ebb90fd080faba4ab44e43972c970cde45c0c57c49","0x7815c9a292a2f1e0dbdff174b5918aa320852c7e816e376aca0e3ef90e1a01e4","0x7b3add153244183458b4331b4f226a6729ff68c345cedfa75b49586e803bf98a","0x0507b989510de89f78184f7a10d971f7670a579c54df7d291a2d72f034ae74d3","0xa0a7723889a4c15b3e0bec353fa8dbcaec6c71cf35bb6c346415ad3e664df6a6","0xd76435ead496863d8b0bfab3434f54cd11da3c49d104fc4064b9cb3381567bbd","0xd56e61af23709ed9f460471e3c08400c0142ee83e1fd9057e46350d12edf9c07"]}