Skip to main content
Glama

login

Authenticate to the data.go.kr portal using a user-read CAPTCHA. Call without arguments, show the image, submit the answer with its challenge_id within 5 minutes to save a session.

Instructions

대화에서 보안문자를 입력해 포털에 로그인합니다. Log in locally with a user-read CAPTCHA. 먼저 인자 없이 호출하고 이미지를 사용자에게 보여주세요. 사용자가 직접 읽은 글자만 captcha_answer에 넣고 같은 challenge_id로 다시 호출하세요. Show the image to the user; submit their answer with its challenge_id within 5 minutes. Retry/refresh without arguments. 아이디·비밀번호는 확장 설정의 로컬 환경변수에만 둡니다. Never pass credentials as arguments. 성공 시 세션 저장; 활용신청은 별도입니다. Saves a session; does not apply for access.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
challenge_idNo
captcha_answerNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.4

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only supply readOnlyHint=false and destructiveHint=false; the description goes well beyond that, disclosing the two-call challenge flow, the 5-minute answer window, that credentials must never be passed as arguments, and that success persists a session. These are exactly the behavioral traits an agent needs and annotations cannot convey.

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?

Front-loaded with the core purpose and the step order is clear. The bilingual Korean/English pairing restates each point twice, which is defensible for reach but costs some economy; no sentence is otherwise wasted.

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?

For a two-parameter stateful auth tool with no output schema, the description covers invocation order, argument rules, credential handling, timeout, retry behavior, and the resulting session — everything needed to call it correctly. Nothing material is missing.

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

Parameters5/5

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

Schema description coverage is 0%, so the description carries the full burden, and it does: it explains that the first call takes no arguments, that challenge_id is echoed back on the second call, and that captcha_answer must contain only the characters the user read. Both parameters' roles and constraints are fully specified despite the empty schema.

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+resource ('log in to the portal' / 'Log in locally with a user-read CAPTCHA') and the outcome ('Saves a session'). It also explicitly distinguishes itself from the sibling 'apply' by declaring '활용신청은 별도입니다 / does not apply for access,' so an agent can tell it apart without opening schemas.

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

Usage Guidelines5/5

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

Gives an explicit procedure: call first without arguments to obtain the image, show it to the user, then resubmit their transcribed characters with the same challenge_id, and retry/refresh without arguments. It also states the when-not condition ('Never pass credentials as arguments') and a time bound ('within 5 minutes').

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