Skip to main content
Glama

투표함 — 전자투표 법령 자료 · AI 투표함 (Korean e-voting statutes, quorum & ballot drafting)

AI 투표함 초안 만들기

create_draft_meeting

집회 초안을 만든다. 초안은 "확인 대기" 상태라 아무것도 열리지 않고 돈도 들지 않는다 — 돌려받은 confirmUrl 을 주최자(관리인)에게 전달하면 주최자가 내용을 검토하고 체크한 뒤 휴대폰 본인인증·결제를 해야 투표가 열린다. 관리 토큰은 주최자가 받으며, 운영을 맡길지는 주최자가 정한다. 집합건물(bldg)은 agendas[].preset 에 bldg_general / bldg_bylaw / bldg_common_change 등 법정 유형을 넣고, closesAt(전자투표 마감)은 paperClosesAt(집회일) 전날까지여야 한다. roster 는 선택이며 넣을 때는 서버에 원문을 보내지 않는다: 각 사람의 hash = sha256("voter:" + 이름 + "|" + 생년월일(YYYYMMDD) + "|" + 휴대폰(숫자만)) 의 16진수, 면적 의결권이면 weight(㎡). 없으면 주최자가 대시보드에서 엑셀로 올린다.

Input Schema

NameRequiredDescriptionDefault
agentNo에이전트 이름(기록용). 예: "claude-desktop"
titleYes집회 이름. 예: "트레젠웰가 2026년 정기 관리단집회"
rosterNo선거인 명부(선택). 해시만 보낸다. 없으면 주최자가 대시보드에서 엑셀로 올린다
agendasYes안건 목록(1~30개). 안건마다 투표가 하나씩 열린다
orgTypeYes단체 유형 키. 예: "bldg"(집합건물 관리단), "redev"(정비사업조합), "apt"(입주자대표회의)
closesAtYes전자투표 마감 시각, ISO 8601(한국 시간 오프셋 포함). 예: "2026-11-20T18:00:00+09:00". 집합건물은 paperClosesAt 전날까지
isAnonymousNo익명(비밀) 투표 여부. 기본 true. 법이 비밀투표를 요구하는 안건은 true 로 고정된다
useWeightedNo면적 의결권 사용 여부. etc 단체만 고른다 — 법정 안건은 법이 정한다
declaredCountYes투표할 수 있는 사람 수(구분소유자·조합원 수). 요금과 정족수의 기준. 예: 366
paperClosesAtNo현장·서면 접수 마감(집회일) ISO 8601. 예: "2026-11-21T14:00:00+09:00". 집합건물은 closesAt 다음 날 이후

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed17 schema fields changed
    • addedInput schema / properties / agendas / description
      Added value: +"안건 목록(1~30개). 안건마다 투표가 하나씩 열린다"
    • addedInput schema / properties / agendas / items / properties / description / description
      Added value: +"안건 설명(2,000자까지). 투표 화면에 그대로 보인다"
    • addedInput schema / properties / agendas / items / properties / kind / description
      Added value: +"\"yesno\"(찬반, 기본) 또는 \"choice\"(선택지·후보 중 고름)"
    • changedInput schema / properties / agendas / items / properties / options / description
      Previous value: -"choice 일 때 선택지(후보)"New value: +"kind 가 choice 일 때 선택지(후보) 이름 목록. 예: [\"홍길동\", \"김영희\"]"
    • changedInput schema / properties / agendas / items / properties / preset / description
      Previous value: -"법정 안건 유형 키 (etc 는 생략 가능)"New value: +"법정 안건 유형 키(get_resolution_requirement 의 key). 예: \"bldg_general\". etc 단체는 생략 가능"
    • addedInput schema / properties / agendas / items / properties / title / description
      Added value: +"안건 이름. 예: \"제1호 2026년 관리비 예산안 승인\""
    • changedInput schema / properties / agent / description
      Previous value: -"에이전트 이름 (기록용)"New value: +"에이전트 이름(기록용). 예: \"claude-desktop\""
    • changedInput schema / properties / closesAt / description
      Previous value: -"전자투표 마감 ISO 8601"New value: +"전자투표 마감 시각, ISO 8601(한국 시간 오프셋 포함). 예: \"2026-11-20T18:00:00+09:00\". 집합건물은 paperClosesAt 전날까지"
    • changedInput schema / properties / declaredCount / description
      Previous value: -"투표할 수 있는 사람 수(구분소유자 수 등)"New value: +"투표할 수 있는 사람 수(구분소유자·조합원 수). 요금과 정족수의 기준. 예: 366"
    • addedInput schema / properties / isAnonymous / description
      Added value: +"익명(비밀) 투표 여부. 기본 true. 법이 비밀투표를 요구하는 안건은 true 로 고정된다"
    • addedInput schema / properties / orgType / description
      Added value: +"단체 유형 키. 예: \"bldg\"(집합건물 관리단), \"redev\"(정비사업조합), \"apt\"(입주자대표회의)"
    • changedInput schema / properties / paperClosesAt / description
      Previous value: -"현장·서면 접수 마감(집회일) ISO 8601. 집합건물은 closesAt 다음 날 이후"New value: +"현장·서면 접수 마감(집회일) ISO 8601. 예: \"2026-11-21T14:00:00+09:00\". 집합건물은 closesAt 다음 날 이후"
    • addedInput schema / properties / roster / description
      Added value: +"선거인 명부(선택). 해시만 보낸다. 없으면 주최자가 대시보드에서 엑셀로 올린다"
    • addedInput schema / properties / roster / items / properties / hash / description
      Added value: +"sha256(\"voter:\" + 이름 + \"|\" + 생년월일 YYYYMMDD + \"|\" + 휴대폰 숫자만) 의 16진수 64자. 원문은 보내지 않는다"
    • addedInput schema / properties / roster / items / properties / weight / description
      Added value: +"의결권(면적 ㎡). 집합건물처럼 면적 의결권이 있을 때만. 예: 84.97"
    • addedInput schema / properties / title / description
      Added value: +"집회 이름. 예: \"트레젠웰가 2026년 정기 관리단집회\""
    • changedInput schema / properties / useWeighted / description
      Previous value: -"etc 만 고른다. 법정 안건은 법이 정한다"New value: +"면적 의결권 사용 여부. etc 단체만 고른다 — 법정 안건은 법이 정한다"
  2. First observed

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavior beyond the annotations: draft state is "확인 대기", nothing opens, no charge, confirmUrl must be relayed, admin token goes to the host, and the deadline ordering rule (closesAt before paperClosesAt for bldg). These are exactly the operational facts an agent needs for a non-idempotent, non-destructive write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and every sentence carries operational information. It is a dense run-on paragraph with some restatement of the schema (hash formula, closesAt rule), which costs a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 10 parameters and no output schema, the description supplies the missing return-value cue (confirmUrl), the state semantics, and the host-side follow-up steps. An agent could invoke this correctly from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds cross-field constraints (bldg preset keys via get_resolution_requirement, closesAt must be the day before paperClosesAt, roster hash formula and weight semantics). It partly repeats schema text, limiting it to 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("집회 초안을 만든다") and contrasts a draft with a live vote, so the agent knows this does not open anything. It doesn't name a specific sibling, but the roster alternative (host uploads Excel via dashboard) implicitly points to upload_roster.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the workflow clearly: create draft → relay confirmUrl to host → host verifies with phone auth/payment → voting opens. It also gives the when-to-skip path for roster (host uploads it). Lacks explicit exclusion against other creation/close siblings, but context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources