Skip to main content
Glama

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

명부 올리기

upload_roster
DestructiveIdempotent

선거인 명부(해시)를 모든 안건에 올린다. 이미 있는 명부는 통째로 바뀐다. 원문은 보내지 않는다 — create_draft_meeting 의 hash 규칙과 같다. 첫 표가 들어온 뒤에는 바꿀 수 없다. manageToken 필요.

Input Schema

NameRequiredDescriptionDefault
entriesYes명부 전체(한 사람에 하나). 예: [{"hash":"3fa9…(64자)","weight":84.97}]
meetingIdYes집회 번호. create_draft_meeting 응답의 meetingId 또는 대시보드 주소의 m= 값. 예: "m_8f3kq2"
manageTokenYes주최자가 넘겨준 관리 토큰(영숫자). 대시보드 주소의 # 뒤 값. 주최자가 확인·결제한 뒤에만 생긴다

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / entries / description
      Added value: +"명부 전체(한 사람에 하나). 예: [{\"hash\":\"3fa9…(64자)\",\"weight\":84.97}]"
    • addedInput schema / properties / entries / items / properties / hash / description
      Added value: +"sha256(\"voter:\" + 이름 + \"|\" + 생년월일 YYYYMMDD + \"|\" + 휴대폰 숫자만) 의 16진수 64자. 원문은 보내지 않는다"
    • addedInput schema / properties / entries / items / properties / weight / description
      Added value: +"의결권(면적 ㎡). 집합건물처럼 면적 의결권이 있을 때만. 예: 84.97"
    • addedInput schema / properties / manageToken / description
      Added value: +"주최자가 넘겨준 관리 토큰(영숫자). 대시보드 주소의 # 뒤 값. 주최자가 확인·결제한 뒤에만 생긴다"
    • addedInput schema / properties / meetingId / description
      Added value: +"집회 번호. create_draft_meeting 응답의 meetingId 또는 대시보드 주소의 m= 값. 예: \"m_8f3kq2\""
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already flag destructive=true and idempotent=true, but the description adds material behavior the agent could not infer: the existing roster is replaced wholesale ('이미 있는 명부는 통째로 바뀐다'), the change locks after the first ballot, raw voter data is never transmitted, and manageToken is mandatory. That is a strong complement to the annotations rather than a restatement.

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

Conciseness5/5

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

Four short sentences, front-loaded with what the tool does, then the replacement behavior, the privacy rule, the timing lock, and the auth need. No sentence is filler.

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

Completeness4/5

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

For a three-parameter mutation with no output schema, the description covers destruction, auth, privacy and the immutability window well. It stops short of describing the result (e.g. how many entries were accepted) or what happens to duplicate or invalid hashes, which an agent would need if the call fails.

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

Parameters3/5

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

Schema description coverage is 100%, so hash, weight, meetingId and manageToken are already fully documented in the schema; baseline 3 applies. The description adds only a cross-reference that the hash rule matches create_draft_meeting, which is a useful consistency hint but no new detail on weight or entries semantics.

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

Purpose5/5

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

States a specific verb and resource ('선거인 명부(해시)를 ... 올린다') plus the scope '모든 안건에', which no sibling covers. An agent immediately knows this writes a voter roster of hashes across all agenda items rather than a single ballot or notice.

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?

Gives the hard precondition '첫 표가 들어온 뒤에는 바꿀 수 없다' and the auth requirement 'manageToken 필요', which tells the agent when the call must happen. It does not name an alternative tool or explain what to do instead once voting has begun, so routing is left implicit.

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