Skip to main content
Glama

Server Details

숭실대학교의 모든 정보 제공과 자동화 에이전트 기능을 MCP 표준 도구로 제공하는 공개 서버

지속적으로 업데이트 및 기능 추가 중입니다

공개 도구 •학식 - 학생식당·도담식당·기숙사(레지던스홀)등 모든 식당 메뉴 및 식당정보 •시설 - 캠퍼스 내 카페·편의점·복사 등 검색 •도서관 - 좌석 실시간 조회 / 도서 검색 •공지사항 - 최신 공지 목록·키워드검색·학과별공지 등

개인 도구 요청시 로그인 URL을 받아 한 번 로그인하면 이후 모든 개인 도구를 사용 가능

•u-SAINT - 시간표, 성적, 채플 정보, 졸업요건, 장학금 내역 등 •LMS - 현재 학기 미제출 과제·퀴즈목록 등 •도서관 - 대출 현황 및 반납 기한(예약 현황 및 예약 자동화 에이전트 도입 예정)

Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 45 of 45 tools scored. Lowest: 3.5/5.

Server CoherenceA
Disambiguation4/5

Most tools have clear distinct purposes, but there is mild overlap among meal tools (get_meal_by_date, get_meal_weekly, get_today_meal, get_dorm_weekly_meal) and library seat tools (get_library_available_seats, get_room_available_seats, get_library_seat_catalog, get_library_seat_status). The descriptions help differentiate, but the sheer number of tools can cause confusion.

Naming Consistency3/5

Naming follows snake_case with verb_noun pattern, but uses a wide variety of verbs (get, search, list, check, find, evaluate, simulate, confirm, prepare, cancel, reserve, swap, wait, logout, start). Some inconsistencies exist, e.g., cancel_library_wait vs wait_for_library_seat, and prepare_cancel vs prepare_reserve. Overall readable but not highly consistent.

Tool Count2/5

With 45 tools, the server is over-scoped. While the domain is broad (academics, library, meals, notices, etc.), many similar tools could be consolidated (e.g., multiple meal retrieval tools). The high count makes the tool set feel bloated and harder to navigate.

Completeness5/5

The tool set covers a comprehensive range of university-related tasks: academic records, grades, schedule, chapel, scholarships, graduation requirements, library seat reservation, library book search, meal menus, notices, campus facilities, academic calendar, and policy sources. There are no obvious dead ends, and the surface is complete for a student assistant server.

Available Tools

52 tools
cancel_library_waitA
Destructive
Inspect

아직 예약이 시작되지 않은 활성 도서관 좌석 대기 intent를 취소합니다. mcp_session_id 필요(LIBRARY 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID.
Behavior3/5

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

Annotations already indicate destructiveHint=true, so the description's mention of 'cancel' aligns. The description adds that it cancels an 'active' wait that hasn't started, but doesn't provide further behavioral details (e.g., irreversible effects). Given the annotation coverage, a score of 3 is appropriate.

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?

The description is a single sentence that efficiently communicates the tool's purpose and a key requirement. No superfluous words or redundancy.

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 simple cancellation tool with one parameter and no output schema, the description provides the essential context: what it cancels and the required session. It could mention error conditions (e.g., if no active wait exists) but is largely sufficient.

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?

The input schema provides 100% coverage for the single required parameter, including a description of mcp_session_id. The description only repeats the need for this parameter without adding new meaning. Baseline of 3 is correct.

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?

The description clearly states the action ('cancel') and the specific resource ('active library seat waiting intent that hasn't started reservation'). It distinguishes this tool from siblings like wait_for_library_seat or get_library_wait_status by specifying it's for cancellation.

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?

The description mentions the required mcp_session_id from LIBRARY login, implying the agent must have authenticated first. It does not explicitly list when to use or not use this tool versus alternatives, but the purpose is clear enough that an agent can infer the usage context.

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

check_graduation_requirementsA
Read-only
Inspect

인증된 학생의 u-SAINT 졸업 가능 여부와 졸업요건 충족 현황을 조회합니다. mcp_session_id 필요(SAINT 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
mcp_session_idYesstart_auth(SAINT)로 발급받은 MCP session ID. 없거나 SAINT 미연동이면 loginUrl과 함께 AUTH_REQUIRED를 반환.
Behavior4/5

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

The description adds operational context beyond annotations: it requires prior authentication and targets the u-SAINT system. This augments the readOnlyHint=true annotation without contradiction.

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?

The description is concise (one sentence) and front-loads the core purpose. It efficiently communicates the action and prerequisite.

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 simple tool with one parameter and no output schema, the description adequately covers what the tool does and the requirement for authentication. It could mention error cases but is largely sufficient.

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 coverage is 100%. The description reiterates the need for mcp_session_id, adding no new semantic meaning beyond what the schema already provides.

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?

The description clearly states the tool checks graduation eligibility and requirement fulfillment for authenticated students. It uses a specific verb ('check') and resource, but does not explicitly distinguish from the sibling 'evaluate_graduation_with_policy'.

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

Usage Guidelines3/5

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

The description specifies the prerequisite of an mcp_session_id from SAINT login, but provides no guidance on when to use this tool vs. alternatives like evaluate_graduation_with_policy.

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

check_scholarship_policyA
Read-only
Inspect

장학금 질문과 선택 입력 조건(GPA, 취득학점, 입학연도, TOPIK 등)을 공식 장학 규정·안내 근거와 대조하고 decision/matchedRequirements/evidence를 반환합니다. 개인 장학 수혜 내역은 get_my_scholarships를 함께 사용하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpaNo직전학기 또는 누적 GPA. 장학별 산식이 다를 수 있어 evidence 확인 필요.
liveNotrue면 공식 원문을 live fetch. false/생략이면 빠른 seed corpus 검색.
limitNo반환할 근거 수. 기본 5, 최대 10.
queryNo장학금 질문. 예: 백마성적우수장학금 기준 알려줘.
topikLevelNoTOPIK 급수. 외국인 유학생 장학금 기준 확인에 사용.
admissionYearNo입학연도. 외국인 유학생 장학금 등 연도별 기준 확인에 사용.
earnedCreditsNo직전학기 취득학점.
internationalStudentNo외국인 유학생 장학금 여부.
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds context about the return structure (decision/matchedRequirements/evidence) and the live vs seed corpus option via the 'live' parameter, which aids behavioral understanding.

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?

Two sentences: first explains the tool's function and output, second provides usage guidance with an alternative tool. No wasted words, front-loaded with key information.

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?

With 8 optional parameters and no output schema, the description covers the core functionality and output structure. It mentions live/seed modes but could elaborate on the official regulations source. Still, it is fairly complete for the complexity level.

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 coverage is 100%, so parameters are already well-described. The description groups some parameters (GPA, earned credits, etc.) but does not add significant meaning beyond the schema. Baseline 3 is appropriate.

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?

The description clearly states it checks scholarship policies by comparing queries and optional conditions against official regulations and returns decision/matchedRequirements/evidence. It distinguishes from the sibling tool get_my_scholarships, which handles individual scholarship history.

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?

The description explicitly mentions using get_my_scholarships for individual history, providing when-not-to-use guidance. However, it could be more explicit about when to use this tool versus other siblings like check_graduation_requirements.

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

classify_academic_questionA
Read-only
Inspect

학사 질문을 졸업/장학/학사일정/일반 규정 의도로 분류하고, 이어서 호출할 ssuMCP 도구를 추천합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes분류할 학사 질문. 예: 복수전공 졸업 학점 조건 알려줘.
Behavior3/5

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

Annotations already declare readOnlyHint=true, so safety is clear. The description adds that the tool classifies and recommends, but does not describe how classification works or any dependencies. With annotations covering safety, a 3 is appropriate.

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?

A single, well-structured sentence that conveys the tool's purpose and output clearly without any wasted words.

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?

Despite no output schema, the description sufficiently explains the output (classification and tool recommendation) and the single input. For a classification tool with clear intent, this is largely complete.

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 coverage is 100% for the single parameter 'query', which has a description and example. The description adds no further parameter meaning beyond the schema. Baseline 3 applies.

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?

The description clearly states the tool classifies academic questions into specific intents (graduation/scholarship/schedule/general regulations) and recommends a next ssuMCP tool. This distinguishes it from sibling tools that perform specific queries rather than classification.

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

Usage Guidelines3/5

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

The description implies usage for routing academic questions but does not explicitly state when to use this tool versus alternatives, nor when not to use it. No exclusions or context provided.

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

confirm_actionAInspect

준비된 사용자 승인 대기 액션을 최종 확인하고 실행합니다. 대기 중인 액션이 하나뿐이면 action_id 없이 그 액션을 실행합니다. 같은 좌석/예약을 다시 prepare하면 이전 대기 액션이 자동 무효화(superseded)되지만, 서로 다른 좌석 등 별개의 액션을 여러 개 prepare하면 각각 별도로 대기하며 이 경우 confirm_action은 실행하지 않고 대기 중인 action_id 목록을 안내합니다. 특정 액션을 지정하려면 prepare 응답의 actionId를 action_id로 전달하세요. prepare_reserve_library_seat(좌석 예약)는 예약 intent 큐를 통해 비동기로 접수만 하고 즉시 반환하며, 최종 결과는 get_library_wait_status로 확인합니다. prepare_cancel_library_seat(좌석 반납)와 prepare_swap_library_seat(자리 변경)는 직접 실행합니다. mcp_session_id 필요(LIBRARY 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
action_idNo확정할 액션 ID (prepare 응답의 actionId). 생략하면 현재 대기 중인 단일 액션을 확정합니다.
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID.
Behavior4/5

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

Annotations already indicate not read-only, not destructive. Description adds context: supersedes previous pending actions, different handling for multiple pending, async/sync behavior. No contradiction.

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

Conciseness3/5

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

Description is detailed but somewhat lengthy as a single paragraph. Front-loaded with main purpose, but could be more concise by separating behavioral details.

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?

Covers prerequisites, behavior for single vs multiple pending, superseding, async/sync differences. No output schema, but mentions guidance for multiple pending. Missing explicit return format, but overall complete.

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 has 100% coverage, baseline 3. Description adds value: explains action_id can be omitted for single pending action, and comes from prepare response; mcp_session_id from start_auth.

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?

The description clearly states it confirms and executes prepared pending actions. It distinguishes itself from sibling prepare tools, and explains behavior for different action types (reserve async, others sync).

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?

Provides explicit when to use: after preparing an action. Explains when not to use (multiple pending) and mentions alternative to check async results (get_library_wait_status). Specifies needed mcp_session_id.

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

confirm_lms_material_exportAInspect

대기 상태인 LMS 자료 내보내기 액션을 실행 승인합니다. 승인 성공 시 비동기 ZIP 압축 빌드 작업이 큐에 쌓이고, 20분간 유효한 capability URL 다운로드 링크가 반환됩니다. mcp_session_id 필요(LMS 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
mcp_session_idYesLMS가 연동된 MCP session ID.
Behavior4/5

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

Annotations set readOnlyHint=false and destructiveHint=false. The description adds behavioral context: async ZIP build, 20-minute download link validity, and prerequisite. No contradictions.

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?

Two sentences front-load purpose and include all key details without waste. Highly concise.

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 tool with one required parameter, no output schema, and clear annotations, the description fully explains the process, timing, and requirements. Complete enough for an agent.

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 coverage is 100% with description for mcp_session_id. The tool description adds only the context that it's needed for LMS login, which is already in schema. Minimal extra meaning.

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?

The description clearly states the tool approves a pending LMS material export, triggers async ZIP build, and returns a download link. It does not explicitly differentiate from sibling tools like 'prepare_lms_material_export' but the specificity is high.

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

Usage Guidelines3/5

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

The description implies usage after preparing an export and requires mcp_session_id, but it does not mention when not to use or provide explicit alternatives among siblings.

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

evaluate_graduation_with_policyB
Read-only
Inspect

인증된 학생의 u-SAINT 졸업요건 상태와 공식 학칙/졸업 안내 근거를 함께 반환합니다. mcp_session_id 필요(SAINT 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
liveNotrue면 공식 원문을 live fetch. false/생략이면 빠른 seed corpus 검색.
questionNo추가로 확인할 졸업 질문. 생략하면 졸업요건, 이수학점, 전공/교양 기준을 검색합니다.
mcp_session_idYesstart_auth(SAINT)로 발급받은 MCP session ID. 없거나 SAINT 미연동이면 loginUrl과 함께 AUTH_REQUIRED를 반환.
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool's safety is clear. The description adds that it returns combined status and policy, but does not disclose additional behavioral traits beyond what annotations provide. No contradictions.

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?

The description is a single, front-loaded sentence with no redundant information. Every word adds value.

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

Completeness3/5

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

Given the moderate complexity (returns status and policy basis) and no output schema, the description is somewhat thin. It lacks details on return format, pagination, or error cases beyond what the parameter schema implies. Adequate but not complete.

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 coverage is 100%, so the parameters are fully described in the schema. The description does not add additional meaning or examples beyond what the schema provides. Baseline 3 is appropriate.

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?

The description clearly states that the tool returns graduation requirement status with policy basis. It is specific and actionable, but does not explicitly differentiate from the sibling tool 'check_graduation_requirements'.

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

Usage Guidelines2/5

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

The description mentions that mcp_session_id is required (SAINT login) but provides no guidance on when to use this tool versus alternatives like check_graduation_requirements. No when-not-to-use or explicit context.

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

export_all_lms_materialsAInspect

사용자가 '모든 자료', '전체 과목', '다 다운로드' 등 전 과목 일괄 다운로드를 명시적으로 요청했을 때만 사용하세요. 특정 과목만 받으려는 일반 요청에는 사용하지 말고 get_my_lms_courses → prepare_lms_material_export 흐름을 따르세요. 현재 학기 전체 과목의 LMS 학습 자료(PDF, PPT, HWP, DOC 등)를 한 번에 수집하여 내보내기 미리보기를 반환합니다. 결과에는 과목별 파일 목록, 파일 수, 용량, 제외 항목이 포함됩니다. 확인 후 confirm_lms_material_export를 호출하면 ZIP 다운로드 링크가 발급됩니다. 비디오·오디오 파일은 용량 제한으로 자동 제외됩니다. mcp_session_id 필요(LMS 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
term_idNo조회할 학기 ID. 생략 시 현재 활성 학기가 자동 선택됩니다.
mcp_session_idYesstart_auth(LMS)로 LMS를 연동한 MCP session ID.
Behavior4/5

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

Discloses that the tool returns a preview (file list, counts, sizes, exclusions) and that confirmation via confirm_lms_material_export is needed for the ZIP download. Mentions auto-exclusion of video/audio files and requirement of mcp_session_id. Adds significant context beyond annotations (readOnlyHint=false, destructiveHint=false).

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

Conciseness3/5

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

The description is detailed but slightly verbose. It covers usage, flow, output, and exclusions in multiple sentences. While informative, it could be more concise.

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 tool without an output schema, the description adequately covers the return content (preview with per-course details), next steps, and exclusions. It provides a complete picture of the tool's behavior and expected flow.

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%. The description adds that term_id defaults to the current active semester, which is useful but not extensive. No additional semantics for mcp_session_id beyond the 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?

The description clearly states the tool is for bulk downloading all LMS materials when the user explicitly requests 'all materials' or 'all subjects'. It distinguishes from siblings by specifying the condition and providing an alternative flow for single-subject requests.

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?

Explicitly states when to use (only on explicit bulk download request) and when not to use (for single-subject requests, instead use get_my_lms_courses → prepare_lms_material_export). Provides a clear alternative.

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

find_academic_calendar_eventsA
Read-only
Inspect

숭실대학교 학사일정을 연도, 월, 키워드로 필터링해 반환합니다. 수강신청·개강·종강·시험 같은 일정 검색에 사용합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo조회할 연도(예: 2026). 생략 시 현재 연도.
limitNo반환할 최대 일정 수. 기본 20, 최대 50.
monthNo조회할 월(1-12). 생략 시 전체 월.
keywordNo일정명 또는 카테고리 키워드. 예: 수강신청, 기말고사.
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds filtering behavior but no additional behavioral traits like response format or pagination, which would be expected beyond schema.

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?

The description is only two sentences, front-loaded with the main function, and every word adds value. No wasted information.

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?

Given the tool's simplicity (4 optional params, no output schema, no nested objects) and the presence of annotations and schema, the description is mostly complete. It could mention default behavior for year, but the schema covers that.

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 the baseline is 3. The description only restates the filter parameters without adding new meaning or usage details beyond the 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?

The description clearly states the tool returns academic calendar events with filtering by year, month, and keyword, and provides specific examples like course registration and exams, distinguishing it from siblings such as get_academic_calendar.

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

Usage Guidelines3/5

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

The description gives context by mentioning use cases (e.g., searching for registration, semester start/end), but does not explicitly state when not to use it or mention alternatives among the many sibling tools.

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

get_academic_calendarA
Read-only
Inspect

숭실대학교 학사일정을 조회합니다. 수강신청·중간/기말고사·방학 등의 주요 일정을 [{date, endDate, event, category}] 형태로 반환합니다. date는 시작일(ISO), endDate는 기간 일정의 종료일(ISO, 포함)이며 하루짜리 일정은 endDate가 null입니다. year를 생략하면 현재 연도를 사용합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo조회할 연도(예: 2026). 생략 시 현재 연도.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds behavioral details: date formats (ISO), null endDate for single-day events, and default year behavior. This provides context beyond annotations.

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?

The description is concise: one sentence for purpose, one for return format details, one for default behavior. It is front-loaded and every sentence adds value.

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?

Despite no output schema, the description explains the return structure and field meanings. For a simple read-only query with one optional parameter, the description covers essential context completely.

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 coverage is 100% with one parameter described (year). The description reiterates the year default behavior, adding little new meaning. Baseline 3 applies as the schema already provides sufficient information.

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?

The description clearly states the tool retrieves academic calendar from Soongsil University, specifies the return format (list of objects with date, endDate, event, category), and explains edge cases (endDate null for single-day events). It distinguishes itself from sibling tools like find_academic_calendar_events by being the direct calendar query.

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

Usage Guidelines3/5

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

The description implies usage for viewing academic schedules but does not explicitly state when to use this tool over siblings like find_academic_calendar_events. No when-not-to-use or alternative guidance is provided.

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

get_academic_policy_briefA
Read-only
Inspect

학사 질문에 대한 공식 출처 기반 근거 요약을 반환합니다. 답변 자체가 아니라 출처 URL, 개정 이력, live/fallback 상태가 붙은 evidence를 제공합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
liveNotrue면 공식 원문을 live fetch. false/생략이면 빠른 seed corpus 검색.
limitNo반환할 근거 수. 기본 5, 최대 10.
queryYes요약할 학사 질문.
categoryNo검색 범위: graduation, scholarship, academic 중 하나. 생략하면 전체.
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. Description adds that it returns evidence with source URL, revision history, and live/fallback status, which provides useful behavioral context beyond annotations.

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?

Two concise sentences. First states purpose, second clarifies output format. No unnecessary information.

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

Completeness3/5

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

Given the tool's complexity (4 parameters, no output schema), the description explains return format partially (source URL, revision history, status) but lacks detail on parameter usage (e.g., when to set live or category) and does not differentiate from siblings.

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 parameters are already documented. Description does not add significant extra meaning beyond mentioning live/fallback status, but it is not misleading.

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?

Description clearly states it returns source-based evidence summaries for academic questions, distinguishing from direct answers. However, it does not explicitly differentiate from sibling tools like check_graduation_requirements or check_scholarship_policy, which may also provide evidence but are more specific.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Does not specify when to prefer this over siblings, nor conditions for using parameters like live or category.

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

get_active_noticesA
Read-only
Inspect

진행중(마감 전) 공지만 반환합니다. 마감 임박 공지나 현재 신청 가능한 공지를 확인할 때 유용합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo카테고리 필터 (선택).
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds the key behavioral trait of filtering for active notices, which is useful context beyond annotations.

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?

The description consists of two concise sentences that are front-loaded with the core purpose. Every sentence adds value with no extraneous content.

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 simple read tool with one optional parameter and no output schema, the description explains the return filter and use case adequately. It could mention ordering or pagination, but is mostly complete.

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?

The input schema has 100% coverage with a description for the optional 'category' parameter. The tool description does not add any additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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?

The description clearly states the tool returns only active (pre-deadline) notices and explains its utility for checking imminent or currently applicable notices. This verb+resource combination distinguishes it from sibling tools like get_recent_notices.

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?

The description provides clear context for when to use the tool (checking active notices). However, it does not explicitly state when not to use it or mention alternatives, which would strengthen guidance.

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

get_auth_statusA
Read-only
Inspect

현재 MCP 인증 세션 상태를 반환합니다. 'status' 필드는 다음 중 하나입니다: OK (세션 유효 — 각 provider의 'linked' 값을 확인하세요); INVALID_SESSION (mcp_session_id가 전달됐지만 잘못됐거나 만료됨 — start_auth로 새로 발급받으세요. 로그인 실패로 처리하지 마세요); NO_SESSION (아직 mcp_session_id가 전달되지 않음). 인증 도구 호출 전에 이 도구를 먼저 호출하면 불필요한 AUTH_REQUIRED 재시도를 줄일 수 있습니다. 세션은 데이터베이스에 저장되어 서버 재시작 후에도 유지됩니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
mcp_session_idNostart_auth로 발급받은 MCP session ID. 없거나 유효하지 않으면 모든 provider가 미연동으로 표시됨.
Behavior4/5

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

Beyond annotations (readOnlyHint, destructiveHint), description explains that sessions persist after server restart and that missing/invalid ID marks providers as unlinked. Adds behavioral context.

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?

Description is a single clear paragraph with enumerated statuses and practical advice. No redundancy, but a bit dense for non-Korean readers? Still concise.

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?

All relevant info is present: status meanings, persistence, pre-auth advice. No output schema needed; the return format is well-explained in the description.

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 already covers the single optional parameter fully. Description adds context on how the parameter affects the status outcome but no new syntax or format details. Baseline 3.

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?

Description clearly states it returns MCP auth session status, enumerates possible status values with meanings, and distinguishes from auth-creation tools by advising to call this before to avoid retries.

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?

Explicitly recommends calling before other auth tools to reduce AUTH_REQUIRED retries, and explains how to handle each status (e.g., use start_auth for INVALID_SESSION). Could be more explicit about when not to use.

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

get_department_noticesA
Read-only
Inspect

특정 학과/부서 공지만 반환합니다. 예: '컴퓨터학부', '장학팀', '국제팀', '소프트웨어학부'.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo페이지 번호 (기본 1).
departmentYes학과/부서 이름. 예: 컴퓨터학부, 장학팀, 소프트웨어학부.
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description does not need to reiterate safety. It adds no additional behavioral context beyond the basic function, which is acceptable for a read-only tool.

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?

Single sentence with essential information, no wasted words. The department example list is concise and helpful.

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 simple list tool with complete schema coverage and clear annotations, the description is adequate. It lacks details about return format but no output schema exists, so the burden is low.

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 coverage is 100%, so the description's mention of department examples does not add significant meaning beyond the schema. The page parameter is not elaborated, but the schema already describes it.

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?

Description clearly states the tool returns notices for a specific department, using the Korean verb '반환합니다'. It distinguishes from siblings like 'get_recent_notices' and 'search_notices' by specifying department filtering.

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

Usage Guidelines3/5

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

Description provides examples of department names but does not explicitly state when to use this tool versus alternatives. Usage is implied through the department filter, but no when-not or alternative guidance is given.

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

get_dorm_weekly_mealA
Read-only
Inspect

숭실대학교 레지던스홀(기숙사) 식당의 이번 주 주간 메뉴를 조회합니다. 7일치 조식/중식/석식과 휴무 정보를 함께 반환합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds value by specifying the return includes 7 days of meals and holiday info. No contradictions, and the description adequately discloses the tool's behavior beyond annotations.

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?

The description is a single, well-structured sentence in Korean that conveys all necessary information without waste.

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?

Given no parameters and no output schema, the description fully explains what the tool does and what it returns. It is complete for a simple read-only query tool.

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?

No parameters exist, so schema coverage is 100%. The description adds context about what is returned (7 days, meals, holiday info), which is useful beyond 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?

The description clearly states it queries the weekly menu of the residence hall cafeteria, returning 7 days of breakfast/lunch/dinner and closed days. The verb '조회합니다' is specific, and it distinguishes from sibling tools like get_meal_by_date and get_today_meal.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool vs alternatives. While the purpose implies it for weekly overview, no direct guidance is provided for choosing between this and similar tools like get_meal_by_date or get_today_meal.

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

get_library_available_seatsA
Read-only
Inspect

숭실대학교 도서관 전체 열람실(7개)의 예약 가능 좌석을 실시간으로 조회합니다. 열람실별로 이용 가능한 좌석 수, externalSeatId 목록, 좌석 번호 목록을 반환합니다. 이석(away) 상태인 좌석(자리 비움, 곧 반납될 수 있음)도 함께 표시됩니다. externalSeatId는 prepare_reserve_library_seat 호출 시 사용합니다. 전체 현황 파악 후 특정 열람실 세부 현황은 get_room_available_seats로 조회하세요. mcp_session_id 필요(LIBRARY 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID.
Behavior4/5

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

Annotations already mark readOnlyHint=true and destructiveHint=false. The description adds value by explaining that away-status seats are included and that the tool performs a real-time query. This expands on the basic safety annotation with operational behavior.

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?

The description is concise (6 sentences) and well-structured: purpose, return values, special status, linkage to other tools, alternative tool suggestion, and login requirement. Every sentence serves a clear role without redundancy.

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?

The tool has a simple interface (one required param) and no output schema. The description fully compensates by listing return elements (available seats count, externalSeatId list, seat numbers) and noting away status. Sibling differentiation and login requirement complete the context.

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% with one parameter (mcp_session_id) already described. The description reinforces its purpose and source (LIBRARY login), adding no ambiguity. Baseline 3 is elevated to 4 due to confirmation and clarity.

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?

The description clearly states the tool's purpose: real-time inquiry of reservable seats in all 7 reading rooms. It uses specific verbs ('조회합니다', '반환합니다') and explicitly differentiates from the sibling tool 'get_room_available_seats' by noting it for overall status vs. room-specific detail.

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?

The description explicitly guides when to use this tool (overall status) and when to use 'get_room_available_seats' (specific room detail). It also states the prerequisite of an mcp_session_id from LIBRARY login and notes that externalSeatId is used with 'prepare_reserve_library_seat', providing clear usage context.

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

get_library_seat_catalogA
Read-only
Inspect

스크린샷으로 구축한 숭실대학교 도서관 열람실·좌석 배치도 정적 카탈로그를 반환합니다. 실시간 좌석 현황은 포함하지 않으며 인증도 필요하지 않습니다. LLM이 간단한 텍스트 기반 층별 배치도가 필요할 때는 include_layout=true를 사용하세요. 인증 불필요.

ParametersJSON Schema
NameRequiredDescriptionDefault
room_codeNoroomCode 필터(선택), 예: open-reading-2f.
floor_codeNo층 필터(선택): B1, 2F, 5F, 6F 또는 숫자 2/5/6.
include_layoutNocompact textLayout 라인 포함 여부. 기본 false.
Behavior5/5

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

Description adds beyond annotations: states no real-time data, no authentication, built from screenshots. Annotations already indicate read-only and non-destructive; description complements with specifics.

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?

Concise with front-loaded primary purpose. Minor redundancy (인증 불필요 mentioned twice) but overall efficient.

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?

Complete for a simple, read-only tool: covers purpose, behavior, usage hint, and parameter context. No output schema needed.

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 coverage is 100% with descriptions for each parameter. Description briefly mentions include_layout but adds little beyond schema. Adequate but no extra depth.

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?

Description clearly states the tool returns a static catalog of library seat layouts, distinguishes from real-time seat tools, and specifies no authentication needed. Verb 'returns' with specific resource.

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?

Describes when to use (static layout, not real-time) and mentions the include_layout parameter for text-based layout. Does not explicitly name alternative sibling tools for real-time data, but context is clear.

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

get_library_seat_statusA
Read-only
Inspect

숭실대학교 중앙도서관의 현재 좌석 현황을 층별로 조회합니다. 응답에는 해당 층의 전체/이용 가능/예약/사용 불가 좌석 수와 구역별 분포가 포함됩니다. compact=true 지원. mcp_session_id 필요(LIBRARY 로그인). 미인증 시 loginUrl이 포함된 AUTH_REQUIRED를 반환합니다. 이 도구는 읽기 전용이며, 좌석 예약은 별도의 동작 도구로 분리되어 있습니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
floorYes조회할 도서관 층 코드. 가능한 값: 2 (2층), 5 (5층), 6 (6층).
compactNocompact=true: 전체/가용/예약 수치만 반환 (층 요약). compact=false(기본): 구역별 상세 포함.
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID. 없거나 LIBRARY 미연동이면 loginUrl과 함께 AUTH_REQUIRED를 반환.
Behavior4/5

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

The description adds behavioral context beyond annotations: it confirms the tool is read-only, explains auth requirements, and specifies that unauthenticated requests return AUTH_REQUIRED with a loginUrl. This aligns with readOnlyHint=true and destructiveHint=false, adding value.

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?

The description is concise and front-loaded with the main purpose. It covers necessary details in a few sentences without redundancy. Minor improvement could be made by structuring bullet points, but it is already efficient.

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?

Given the tool's simplicity (3 parameters, no output schema), the description is complete: it explains purpose, auth requirement, compact option, and differentiation from reservation tools. No critical gaps remain for a read-only query tool.

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 the baseline is 3. The description clarifies the compact parameter's effect and mentions floor values, but does not add significant new meaning beyond the schema's descriptions. Thus, a score of 3 is appropriate.

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?

The description clearly states the tool retrieves current seat status by floor, including totals and area distribution. It mentions compact support and auth requirement. However, it does not explicitly differentiate from sibling tools like get_library_available_seats or recommend_library_seats, though the context implies this is a floor-level overview.

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?

The description provides context for when to use the tool: it is read-only and seat reservation is a separate tool. It also explains the need for mcp_session_id and the behavior when unauthenticated. It does not explicitly list alternatives or when not to use, but the context is clear enough.

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

get_library_wait_statusA
Read-only
Inspect

도서관 좌석 대기/예약 intent 상태를 조회합니다. intent_id를 생략하면 가장 최근 intent를 반환합니다(대기 intent가 하나뿐인 일반적인 경우에 사용). confirm_action으로 접수된 좌석 예약처럼 여러 intent가 동시에 진행 중일 수 있는 경우, confirm_action 응답에 포함된 intentId를 intent_id로 지정해 특정 intent의 결과를 확인하세요. mcp_session_id 필요(LIBRARY 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
intent_idNo조회할 특정 intent ID (confirm_action/wait_for_library_seat 응답의 intentId). 생략하면 가장 최근 intent를 반환합니다.
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID.
Behavior3/5

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

The description aligns with annotations (readOnlyHint=true, destructiveHint=false) by stating it queries status. It adds the behavioral detail of omitting intent_id returning the most recent intent. Since annotations already indicate a safe read operation, the description provides minimal additional context beyond that.

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?

The description is concise—only two sentences in Korean—and front-loads the purpose. Every sentence is necessary, with no redundancy or wasted words.

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?

The description covers all parameters and usage scenarios. However, it does not describe the return format or possible status values, which could be useful for an agent without an output schema. Still, for a read-only query, it is mostly complete.

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%, but the description adds meaning by explaining the two use cases for intent_id (single vs. multiple intents) and that mcp_session_id is obtained from LIBRARY login. This adds value beyond the schema descriptions.

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?

The description clearly states the tool queries the status of library seat wait/reservation intents. It distinguishes between omitting intent_id (most recent) and specifying it (specific intent), which differentiates it from sibling tools like wait_for_library_seat and cancel_library_wait.

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?

The description provides clear guidance on when to omit or specify intent_id, mentioning typical single-intent cases and multi-intent scenarios like confirm_action. It also notes the dependency on mcp_session_id from LIBRARY login, but does not explicitly exclude alternative tools.

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

get_lms_dashboardA
Read-only
Inspect

LMS 대시보드: 인증된 사용자의 미제출 과제·퀴즈 마감, 학사일정(시험·수강신청 등), 진행 중인 공지사항을 한 번에 요약합니다. term_id를 생략하면 현재 학기가 자동 선택됩니다. 인증이 필요합니다(start_auth provider=LMS 후 mcp_session_id 전달).

ParametersJSON Schema
NameRequiredDescriptionDefault
term_idNo학기 ID (선택). 생략 시 현재 학기 자동 선택.
mcp_session_idYesMCP 세션 ID (start_auth로 발급받은 값)
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds useful behavioral context: authentication is required (start_auth), and term_id is optional with auto-selection of the current term. No contradictions with annotations.

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?

Three sentences, each earning its place: purpose, parameter behavior, authentication instruction. No filler or redundancy. Front-loads the main function.

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?

The description lists the data categories summarized (assignments, quizzes, calendar, notices) which gives a clear idea of the output content. No output schema exists, but the description is sufficient for most agents to understand what the tool returns. Could optionally mention output format.

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?

With 100% schema coverage, baseline is 3. The description adds meaning beyond schema by clarifying that omitting term_id auto-selects the current term and explaining the authentication flow for mcp_session_id. This is valuable for correct invocation.

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?

The description clearly states the tool summarizes overdue assignments, quizzes, academic calendar events, and ongoing notices for authenticated users. The verb 'summarizes' and the resource 'LMS dashboard' are specific, and the tool is distinct from siblings like get_my_assignments or get_academic_calendar which fetch individual data.

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?

The description explains how to use the tool: authentication via start_auth and MCP session ID, and optional term_id with auto-selection. It does not explicitly state when to use this aggregated dashboard versus individual tools, but the implied context (one-stop summary) provides some guidance.

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

get_meal_by_dateA
Read-only
Inspect

지정한 날짜(yyyy-MM-dd)의 숭실대학교 학생식당 메뉴를 조회합니다. restaurant 인자를 비워두면 캠퍼스 내 모든 식당의 코너별 메뉴와 휴무 정보를 함께 반환합니다. restaurant 인자를 지정하면 해당 식당만 조회합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes조회할 날짜. 반드시 ISO 형식 yyyy-MM-dd 의 문자열 (예: 2026-05-07). 빈 값/다른 형식이면 에러.
restaurantNo선택사항. 특정 식당만 조회하고 싶을 때 식당 이름을 한국어로 전달합니다. 가능한 값: 학생식당, 숭실도담식당, 스낵코너, 푸드코트, THE KITCHEN, FACULTY LOUNGE. 비워두면 전체 식당의 메뉴를 함께 반환합니다.
Behavior4/5

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

Annotations already declare readOnly and non-destructive. Description adds behavioral context: returning all corner menus and holiday info when restaurant is empty. No contradictions.

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?

Two sentences, front-loaded with main purpose, no unnecessary words. Each sentence adds distinct value.

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 simple query tool with well-described parameters, the description fully covers usage scenarios. No output schema needed for menu listing; description suffices.

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 covers 100% of parameters but description adds meaning: exact ISO date format for 'date' and enumerates possible Korean values for 'restaurant'. Also explains empty behavior, which schema doesn't cover.

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?

Description clearly states the action (조회) and resource (숭실대학교 학생식당 메뉴) with specific date format. It distinguishes from sibling 'get_today_meal' by supporting arbitrary dates, and explains behavior based on restaurant parameter.

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?

Description explicitly explains two usage modes: leaving restaurant empty for all restaurants vs. specifying one. It provides clear context on when to use each, but does not mention when not to use this tool or alternatives beyond siblings.

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

get_meal_weeklyA
Read-only
Inspect

숭실대학교 학생식당의 주간(7일) 메뉴를 조회합니다. weekOffset=0(기본)이면 이번 주 월요일부터 7일치, weekOffset=1이면 다음 주를 반환합니다. 기숙사 주간 메뉴는 get_dorm_weekly_meal을 사용하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
weekOffsetNo주 오프셋. 0=이번 주(기본), 1=다음 주, -1=지난 주. 정수.
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds context about the weekly nature and weekOffset behavior but does not disclose additional traits like data freshness, caching, or response format. The added value is moderate.

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?

The description is concise and front-loaded, with two sentences covering purpose, parameter behavior, and sibling differentiation. No unnecessary words.

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 simple read-only tool with one optional parameter and no output schema, the description is complete. It clearly states the tool's function, parameter semantics, and distinguishes it from the dormitory menu tool.

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?

The input schema fully describes the weekOffset parameter (100% coverage). The description adds significant value by explaining the offset's meaning (0=this week, 1=next week) and the default behavior (Monday to Sunday), which goes beyond the schema's brief description.

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?

The description clearly states the tool retrieves weekly menus for the Soongsil University student cafeteria, specifying the date range (7 days). It distinguishes itself from the sibling tool get_dorm_weekly_meal, which is explicitly mentioned for dormitory menus.

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?

The description explains when to use the tool (weekly menu) and explicitly directs users to get_dorm_weekly_meal for dormitory menus. It also explains the weekOffset parameter's effect (0=this week, 1=next week). However, it does not mention when to avoid it or compare with other meal-related siblings like get_today_meal.

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

get_my_assignmentsA
Read-only
Inspect

인증된 학생의 미제출 LMS 과제와 퀴즈를 조회합니다. mcp_session_id 필요(LMS 로그인). compact=true 지원. term_id를 지정하지 않으면 LMS 기본 학기를 사용합니다. 다른 학기 과제를 조회하려면 get_my_lms_terms로 학기 목록을 먼저 확인하세요. 미인증 시 loginUrl이 포함된 AUTH_REQUIRED를 반환하므로, loginUrl을 사용자에게 보여주고 브라우저에서 로그인하도록 안내한 뒤 발급된 mcp_session_id로 다시 호출하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
compactNocompact=true: 과제명·마감일만 반환. compact=false(기본): 상세 정보 포함.
term_idNo조회할 학기 ID (get_my_lms_terms에서 반환된 id). null이면 LMS 기본 학기 사용.
mcp_session_idYesstart_auth(LMS)로 발급받은 MCP session ID. 없거나 LMS 미연동이면 loginUrl과 함께 AUTH_REQUIRED를 반환.
Behavior5/5

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

Discloses non-auth behavior (returns AUTH_REQUIRED with loginUrl) and instructions for re-calling after login. Beyond annotations (readOnlyHint, destructiveHint), it adds critical context about session requirements and auth flow.

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?

Single paragraph with front-loaded purpose, no fluff. All sentences are necessary and informative. Length is appropriate for the complexity.

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?

No output schema, but description implies return of unsubmitted assignments/quizzes and mentions auth error format. Could be more explicit about the structure (e.g., list of assignments), but overall sufficient for a read-only tool with simple parameters.

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 covers 100% of parameters with descriptions. Description adds value by clarifying compact behavior (name/deadline only vs details) and that term_id defaults to LMS default. This extra context justifies above baseline 3.

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?

The description clearly states it retrieves unsubmitted LMS assignments and quizzes for authenticated students, with a specific verb and resource. It distinguishes from sibling tools focused on course lists or dashboards.

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?

Provides explicit guidance: requires mcp_session_id, compact parameter support, default term behavior, and references sibling tool get_my_lms_terms for other terms. Also explains authentication failure handling with loginUrl.

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

get_my_chapel_infoA
Read-only
Inspect

인증된 학생의 u-SAINT 채플 출석 정보를 조회합니다. year와 semester는 선택이며, 생략하면 현재 u-SAINT 학기를 사용합니다. mcp_session_id 필요(SAINT 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo조회할 학년도(예: 2026).
semesterNo학기: 1학기, 여름학기, 2학기, 겨울학기 중 하나.
mcp_session_idYesstart_auth(SAINT)로 발급받은 MCP session ID. 없거나 SAINT 미연동이면 loginUrl과 함께 AUTH_REQUIRED를 반환.
Behavior5/5

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

Annotations declare readOnlyHint=true and destructiveHint=false, and the description adds behavioral context: authentication requirement (mcp_session_id from SAINT login), default behavior for omitted parameters, and reference to AUTH_REQUIRED error with loginUrl (implied by schema description of mcp_session_id). No contradictions.

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?

Two sentences with clear structure: purpose in first, parameter details in second. No unnecessary information.

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?

The description covers purpose, parameters, and auth requirement. However, it does not describe the output format (e.g., list of attendance records) despite no output schema. Acceptable for a simple retrieval tool but could be more complete.

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. The description adds that year and semester are optional and if omitted, the current semester is used, which provides meaning beyond the schema's individual parameter descriptions.

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?

The description uses a specific verb ('조회', retrieve) and identifies the resource ('u-SAINT 채플 출석 정보', chapel attendance info) clearly. It distinguishes itself from sibling tools (e.g., get_my_grades, get_my_schedule) by specifying chapel attendance.

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?

The description states that year and semester are optional and default to the current semester, and explicitly mentions the need for mcp_session_id from SAINT login. It does not explicitly exclude alternative tools, but the purpose is distinct enough to guide selection.

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

get_my_gradesA
Read-only
Inspect

인증된 학생의 u-SAINT 누적 성적을 학기별 GPA 이력과 함께 조회합니다. mcp_session_id 필요(SAINT 로그인). 미인증 시 loginUrl이 포함된 AUTH_REQUIRED를 반환하므로, loginUrl을 사용자에게 보여주고 브라우저에서 로그인하도록 안내한 뒤 발급된 mcp_session_id로 다시 호출하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
mcp_session_idYesstart_auth(SAINT)로 발급받은 MCP session ID. 없거나 SAINT 미연동이면 loginUrl과 함께 AUTH_REQUIRED를 반환.
Behavior4/5

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

Annotations indicate readOnlyHint=true and destructiveHint=false. The description adds that the tool returns AUTH_REQUIRED if unauthenticated, explains the response includes loginUrl, and specifies the need for re-call after authentication. This provides behavioral context beyond annotations.

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?

The description is a single, well-structured sentence that front-loads the purpose and then provides usage guidance. Every clause earns its place with no redundancy.

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 simple read-only tool with one parameter, the description covers authentication requirements, error handling, and the general nature of the response (grades and GPA history). While it does not detail the full response format, the lack of an output schema makes this acceptable.

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. The description adds value by explaining the dynamic behavior of the mcp_session_id parameter (must be from start_auth, consequences of missing/invalid), which is not in the 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?

The description clearly identifies the tool as retrieving cumulative grades with semester GPA history for an authenticated student, using a specific verb and resource. It is distinct from sibling tools like get_my_assignments or check_graduation_requirements.

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?

The description explicitly states the prerequisite (mcp_session_id required) and provides instructions for handling authentication failure (show loginUrl and guide user). It implies when to use but does not contrast with alternatives.

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

get_my_library_loansA
Read-only
Inspect

인증된 사용자의 현재 도서관 대출 현황을 반납 예정일과 함께 조회합니다. mcp_session_id 필요(LIBRARY 로그인). 미인증 시 loginUrl이 포함된 AUTH_REQUIRED를 반환하므로, loginUrl을 사용자에게 보여주고 브라우저에서 로그인하도록 안내한 뒤 발급된 mcp_session_id로 다시 호출하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID. 없거나 LIBRARY 미연동이면 loginUrl과 함께 AUTH_REQUIRED를 반환.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, confirming safe read-only operation. The description adds value by detailing the authorization requirement, the specific AUTH_REQUIRED response on failure, and the recovery flow, which goes beyond what annotations provide.

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?

Two sentences. The first states the core purpose, the second explains the essential usage context and error handling. No extraneous information; front-loaded and efficient.

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?

Given the tool's simplicity (one required param, read-only, no output schema), the description covers purpose, authentication requirement, and error handling. It mentions the output will include due dates, providing some expectation. Lacking only a full list of returned fields, but acceptable for this scope.

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 coverage for the single parameter mcp_session_id is 100%, with a description already covering its source and error behavior. The tool description reiterates this but does not add new parameter-specific semantics beyond what the schema already conveys. Baseline 3 is appropriate.

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?

Description clearly states the tool retrieves current library loans with due dates for authenticated users. The verb '조회' (retrieve) and resource '도서관 대출 현황' (library loan status) are specific. Among sibling tools, it is distinct from other library services like seat or catalog queries.

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?

Explicitly notes that mcp_session_id from LIBRARY login is required and describes the authentication failure behavior (AUTH_REQUIRED with loginUrl), including instructions to guide the user to login and retry. While it doesn't specify when not to use or list alternatives, the guidance is clear and actionable.

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

get_my_library_seatA
Read-only
Inspect

현재 도서관에서 예약 중인 좌석 정보를 조회합니다. 예약 중인 좌석이 없으면 없다고 알려줍니다. 반납하려면 prepare_cancel_library_seat를, 자리를 바꾸려면 prepare_swap_library_seat를 사용하세요. mcp_session_id 필요(LIBRARY 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID.
Behavior4/5

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

Annotations already indicate read-only and non-destructive. Description adds context about no-seat case and auth requirement, enhancing transparency.

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?

Three concise sentences, each earning its place: main action, edge case, and sibling references. No redundancy.

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 simple read-only tool without output schema, description adequately covers functionality and outcomes (seat info or none). Lacks explicit return structure but sufficient for agent.

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%; description only reiterates the parameter's purpose, adding no extra meaning beyond 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?

Description clearly states the tool retrieves current reserved library seat info, distinguishes from siblings by naming cancel and swap alternatives.

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?

Explicitly tells when to use (check reservation), provides alternatives for cancel and swap, and notes authentication requirement.

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

get_my_lms_coursesA
Read-only
Inspect

인증된 사용자의 LMS 수강 과목을 각 과목의 다운로드 가능한 자료(파일)와 함께 한 번에 조회합니다. 로그인 직후 이 도구 하나만 호출하면 과목별로 파일 수·총 용량·확장자별 그룹·각 파일의 content_id가 모두 반환됩니다. 사용자에게는 '과목 | 파일 수 | 용량' 표(파일이 있는 과목만)와 합계를 보여주고 어떤 과목을 받을지 물어보세요. 사용자가 과목을 고르면 이 응답에 들어있는 content_id로 바로 prepare_lms_material_export를 호출하면 됩니다(get_my_lms_materials를 다시 부를 필요 없음). term_id를 지정하지 않으면 현재 날짜 기준 활성 학기가 자동 선택됩니다. mcp_session_id 필요(LMS 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
term_idNo조회할 학기 ID. 생략 시 현재 활성 학기가 선택됩니다.
mcp_session_idYesstart_auth(LMS)로 LMS를 연동한 MCP session ID.
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds context beyond: it returns aggregated data, automatically selects active term if term_id omitted, and requires mcp_session_id from LMS login. It also describes the output structure. However, it does not mention rate limits or performance characteristics.

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?

The description is a single paragraph of four sentences, front-loading the main purpose and then adding critical usage steps. It is concise and earns its place, though it could benefit from slightly more structured formatting (e.g., bullet points).

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?

Without an output schema, the description fully explains what is returned (file count, total size, extension groups, content_id per course) and how to present it to the user. It also clarifies the relationship to sibling tools (prepare_lms_material_export) and the automatic term selection behavior.

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 coverage is 100% and the schema already describes both parameters (term_id: default to active term; mcp_session_id: from start_auth). The description reiterates these points but adds no substantial new meaning beyond what the schema provides.

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?

The description clearly states it retrieves the authenticated user's LMS courses along with downloadable materials (files). It specifies the returned data per course (file count, total size, extension groups, content_id) and distinguishes from sibling tools by noting it replaces the need for get_my_lms_materials.

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?

Explicitly says to call this right after login, that it is the only tool needed for initial overview, and that if a user selects a course, use content_id to call prepare_lms_material_export directly. It also tells the agent not to call get_my_lms_materials again.

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

get_my_lms_materialsA
Read-only
Inspect

지정된 LMS 과목들의 주차학습 비디오 외 주차별 학습 자료(PDF, PPT, DOC, HWP, TXT 등) 목록을 조회합니다. 결과는 파일 확장자별 그룹(개수 및 상세 목록)으로 분류되어 제공되며, 비디오 및 오디오 파일은 보안 및 용량 제한으로 포함되지 않습니다. term_id를 지정하지 않으면 현재 활성 학기가 자동 선택됩니다. mcp_session_id 필요(LMS 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
term_idNo조회할 학기 ID (선택).
course_idsYes조회할 LMS 과목 ID 목록 (get_my_lms_courses에서 획득).
mcp_session_idYesstart_auth(LMS)로 LMS를 연동한 MCP session ID.
Behavior4/5

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

Annotations indicate readOnlyHint=true and destructiveHint=false. The description adds that video/audio files are excluded due to security/size limits and that results are grouped by file extension with counts and details. This adds valuable behavioral context beyond the annotations.

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?

The description is concise but includes all necessary details (purpose, exclusions, defaults, prerequisites). It is front-loaded with the main purpose and then provides additional context. Could be slightly shorter, but efficient overall.

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?

Given the tool's complexity (3 parameters, no output schema), the description covers the purpose, return format (grouped by extension with counts), exclusions, default behavior for term_id, and prerequisite (mcp_session_id). This is sufficient for an agent to use the tool correctly.

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 coverage is 100%, and the description adds meaning: term_id is optional and defaults to active term, course_ids are obtained from get_my_lms_courses, and mcp_session_id is for LMS login. This enriches the parameter understanding beyond the schema's basic descriptions.

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?

The description specifies the action (조회, 'retrieve'), the resource (주차별 학습 자료, 'weekly learning materials excluding video'), and the grouping feature (파일 확장자별, 'by file extension'). It clearly distinguishes from sibling tools like export_all_lms_materials (export) and get_my_lms_courses (courses list).

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?

The description mentions that term_id defaults to the current active term if not provided, and states the need for mcp_session_id (LMS login). It implicitly differentiates from export tools, but does not explicitly state when to use this tool versus alternatives or when not to use it.

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

get_my_lms_termsA
Read-only
Inspect

사용자의 LMS 등록 학기 목록을 반환합니다. 각 학기의 id, name, 시작/종료 날짜, 현재 기본 학기 여부(defaultTerm)를 포함합니다. defaultTerm=true는 현재 활성 학기 하나에만 표시됩니다(term_id 생략 시 이 학기가 사용됨). 반환된 id를 get_my_lecture_list 또는 get_my_assignments의 term_id 파라미터에 사용하세요. mcp_session_id 필요(LMS 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
mcp_session_idYesstart_auth(LMS)로 LMS를 연동한 MCP session ID.
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds behavioral context about the defaultTerm field, explaining that only one semester has defaultTerm=true and it is used when term_id is omitted. This goes beyond the annotations.

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?

The description is concise with four sentences, each adding essential information: return fields, defaultTerm explanation, usage guidance, and authentication requirement. No unnecessary repetition or filler.

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 simple list tool with one parameter, the description covers all necessary aspects: return fields, meanings, usage in other tools, and authentication. Since there is no output schema, the description fully explains the response structure.

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?

The input schema has 100% coverage with a description for mcp_session_id. The tool description mentions the requirement but adds no new semantic detail beyond what the schema already provides. Baseline score of 3 is appropriate.

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?

The description clearly states the tool returns the user's LMS registered semester list with specific fields (id, name, dates, defaultTerm). It distinguishes from siblings by explaining how to use the returned id in other tools like get_my_lecture_list and get_my_assignments.

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?

The description provides clear context for when to use this tool (to obtain semester list) and how to use the output with other tools. It does not explicitly state when not to use it, but no alternative tool exists for this purpose, so the guidance is sufficient.

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

get_my_scheduleA
Read-only
Inspect

인증된 학생의 u-SAINT 시간표를 과목별로 묶어 조회합니다. year와 term을 생략하면 현재 u-SAINT에서 선택된 학기를 반환하며, 특정 학기를 조회하려면 year와 term을 모두 전달하세요. term 값: 1=봄학기, 2=여름학기, 3=가을학기, 4=겨울학기. mcp_session_id 필요(SAINT 로그인). 미인증 시 loginUrl이 포함된 AUTH_REQUIRED를 반환하므로, loginUrl을 사용자에게 보여주고 브라우저에서 로그인하도록 안내한 뒤 발급된 mcp_session_id로 다시 호출하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
termNo학기: 1=봄, 2=여름, 3=가을, 4=겨울. year와 함께 지정해야 함.
yearNo조회할 학년도(예: 2026). term과 함께 지정해야 함.
mcp_session_idYesstart_auth(SAINT)로 발급받은 MCP session ID. 없거나 SAINT 미연동이면 loginUrl과 함께 AUTH_REQUIRED를 반환.
Behavior5/5

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

Beyond annotations (readOnlyHint=true), the description discloses key behaviors: authentication dependency, return of loginUrl on failure, grouping by subject, and default semester behavior. No contradictions with annotations.

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?

The description is compact (4 sentences) and front-loaded: the main action is stated first. Every sentence provides necessary information without redundancy or fluff.

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?

The description covers authentication and parameter usage well, but lacks explicit mention of the output format beyond 'grouped by subject.' Since there is no output schema, describing the response structure would improve completeness. However, the existing detail is sufficient for an agent to invoke the tool correctly.

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 100%, and the description adds substantial value by explaining the interaction between year and term, providing term value mappings (1=spring, etc.), and detailing the mcp_session_id's role in authentication. This clarifies usage beyond the schema alone.

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?

The description starts with '인증된 학생의 u-SAINT 시간표를 과목별로 묶어 조회합니다' which clearly states the purpose: retrieving the schedule for an authenticated student, grouped by subject. This differentiates it from sibling tools like get_my_grades or get_my_assignments.

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?

The description provides explicit guidance: omitting year/term returns current semester, while specifying both retrieves a specific term. It also explains the authentication flow, including how to handle the AUTH_REQUIRED response. This covers when and how to use the tool effectively.

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

get_my_scholarshipsA
Read-only
Inspect

인증된 학생의 u-SAINT 장학금 수혜 내역을 조회합니다. year는 선택이며, 생략하면 조회 가능한 전체 내역을 반환합니다. mcp_session_id 필요(SAINT 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo조회할 학년도(예: 2026).
mcp_session_idYesstart_auth(SAINT)로 발급받은 MCP session ID. 없거나 SAINT 미연동이면 loginUrl과 함께 AUTH_REQUIRED를 반환.
Behavior4/5

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

Adds critical context beyond annotations: requires SAINT login via mcp_session_id, describes error behavior (AUTH_REQUIRED with loginUrl). No contradiction.

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?

Two concise sentences, front-loaded with purpose, no extraneous information.

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?

Adequate for a read-only tool with few parameters, though no output schema and output structure not described. Minor gap.

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?

Adds value beyond schema: clarifies year is optional, explains mcp_session_id role and error handling. Schema already has 100% coverage.

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?

Description clearly states verb (조회/retrieve) and resource (u-SAINT 장학금 수혜 내역). Distinguishes from sibling tools like check_scholarship_policy which focus on policy.

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

Usage Guidelines3/5

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

Implies usage for retrieving scholarship history of authenticated users with optional year filter. Lacks explicit guidance on when not to use or alternatives.

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

get_notice_detailA
Read-only
Inspect

공지 URL 로 본문 전체 텍스트를 반환합니다. get_recent_notices 나 search_notices 결과의 link 값을 그대로 전달하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes공지 URL. get_recent_notices/search_notices 결과의 link 값.
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description confirms the read-only nature by stating it returns text, but adds no additional behavioral context beyond what the annotations provide.

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?

The description is a single, effective sentence in Korean. It front-loads the purpose and includes essential usage instruction without any filler. Every word earns its place.

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 simple tool with one parameter and no output schema, the description is complete. It explains what the tool returns (full text), how to obtain the input (from sibling tools), and implicitly conveys that the output is plain text. No additional information is necessary.

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?

The input schema covers 100% of parameters, with a clear description for the 'url' field. The description repeats the schema's guidance ('get_recent_notices/search_notices 결과의 link 값') without adding new meaning or format details. Baseline 3 is appropriate.

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?

The description clearly states the tool returns the full text of a notice given its URL. It specifies the resource ('본문 전체 텍스트') and action ('반환합니다'), and implicitly distinguishes from sibling tools that list or search notices by requiring a specific URL as input.

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?

The description explicitly instructs the agent to pass the 'link' value from get_recent_notices or search_notices results as the input. This provides clear context on when and how to use the tool, effectively guiding the agent away from incorrect usage.

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

get_recent_noticesB
Read-only
Inspect

숭실대 학교 공지사항 최신 목록을 조회합니다. category 를 지정하면 해당 카테고리만 필터링합니다. 카테고리 목록은 list_notice_categories 도구로 확인할 수 있습니다. compact=true 지원.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo페이지 번호 (1부터). 기본값 1.
compactNocompact=true: 제목·URL만 반환. compact=false(기본): 날짜·카테고리 포함.
categoryNo카테고리 (선택): 학사/장학/국제교류/외국인유학생/채용/비교과·행사/교원채용/교직/봉사/기타. 비워두면 전체.
Behavior3/5

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

Annotations already indicate read-only (readOnlyHint=true) and non-destructive (destructiveHint=false). The description adds that compact=true returns only title/URL, which is hinted in the schema. However, it does not discuss pagination behavior or response structure beyond the schema.

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?

The description is extremely concise with three short sentences. The first sentence directly states the purpose, followed by filtering details and cross-reference to another tool. Every sentence earns its place.

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

Completeness3/5

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

The description covers the main functionality and references category lookup, but lacks details on the return format (e.g., whether it includes pagination metadata) and pagination behavior. Since there is no output schema, more detail would be beneficial for completeness.

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?

The input schema covers all three parameters (page, compact, category) with descriptions, achieving 100% coverage. The description does not add new semantic meaning beyond what is in the schema, so baseline 3 is appropriate.

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?

The description clearly states it retrieves the latest list of Soongsil University notices with optional category filtering, which differentiates it from sibling tools like 'search_notices' that likely perform broader search. However, it does not explicitly distinguish from 'get_active_notices' or 'get_department_notices'.

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

Usage Guidelines2/5

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

The description mentions that categories can be obtained via 'list_notice_categories', which is helpful, but it provides no guidance on when to use this tool versus alternatives like 'search_notices' or 'get_active_notices'. There is no scenario-based advice.

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

get_room_available_seatsA
Read-only
Inspect

숭실대학교 도서관 특정 열람실의 모든 좌석 현황을 실시간으로 조회합니다. 좌석별 상태(available/occupied/away/inactive), 좌석 번호(label), 좌석 유형, 이석 시 잔여 시간(remainingTime, 분)을 반환합니다. roomId 가능한 값: 15(1열람실 B1F), 53(숭실스퀘어ON 2F), 54(오픈열람실 2F), 57(마루열람실 6F), 58(대학원열람실 6F), 59(리클라이너 5F), 60(숭실멀티라운지 5F). externalSeatId를 prepare_reserve_library_seat에서 사용하세요. mcp_session_id 필요(LIBRARY 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
roomIdYes열람실 ID. 가능한 값: 15(1열람실 B1F), 53(숭실스퀘어ON), 54(오픈열람실), 57(마루열람실), 58(대학원열람실), 59(리클라이너), 60(숭실멀티라운지).
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID.
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description confirms it is a real-time query but adds no additional behavioral traits beyond the output fields. It provides context but does not significantly extend transparency beyond the annotations.

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?

The description is concise (three sentences) and front-loads essential information: real-time query, output fields, room IDs, and linkage to another tool. Every sentence serves a purpose with no redundancy.

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?

Given the absence of an output schema, the description adequately explains the output fields (seat status, label, type, remaining time). It also provides necessary context about authentication and integration with the reservation tool, making it complete for a read-only query tool.

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?

The schema already covers 100% of parameters, describing roomId and mcp_session_id. The description repeats the valid room ID values and the need for mcp_session_id, adding marginal semantic value beyond the 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?

The description clearly specifies that the tool retrieves real-time seat status for a specific reading room, lists valid room IDs, and details the output fields (status, label, type, remaining time). It also mentions how the output is used (externalSeatId for prepare_reserve_library_seat), distinguishing it from other library seat tools like get_library_available_seats.

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?

The description explains that the tool requires an mcp_session_id from LIBRARY login and lists all valid room IDs. It also indicates the linkage to prepare_reserve_library_seat. However, it does not explicitly differentiate from sibling tools like get_library_available_seats, so the guidance is very good but not maximally precise.

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

get_today_mealA
Read-only
Inspect

오늘 숭실대학교 학생식당의 메뉴를 조회합니다. restaurant 인자를 비워두면 학생식당, 숭실도담식당, FACULTY LOUNGE 등 캠퍼스 내 모든 식당의 코너별 메뉴와 휴무 정보를 함께 반환합니다. restaurant 인자를 지정하면 해당 식당만 조회합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
restaurantNo선택사항. 특정 식당만 조회하고 싶을 때 식당 이름을 한국어로 전달합니다. 가능한 값: 학생식당, 숭실도담식당, 스낵코너, 푸드코트, THE KITCHEN, FACULTY LOUNGE. 비워두면 전체 식당의 메뉴를 함께 반환합니다.
Behavior5/5

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

Annotations declare readOnlyHint=true, and the description adds context: it describes that empty argument returns all corners' menus and closure info, and specifying a restaurant restricts results. This goes beyond annotations.

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?

Two sentences, front-loaded with main purpose, no extraneous words. Efficient and clear.

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?

Given the tool's simplicity (one optional parameter, no output schema), the description fully covers behavior for both parameter states and provides all needed context.

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% for the single parameter, and the description adds meaning by explaining the effect of empty vs specified values, and lists possible restaurant names. It enhances the schema description.

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?

The description clearly states the tool retrieves today's meal from Soongsil University student cafeteria, explains the behavior for empty vs specified restaurant argument, and distinguishes it from sibling tools like get_meal_by_date by specifying 'today'.

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?

The description explains when to leave restaurant empty (returns all campus restaurants) vs specifying a restaurant (filters). It implicitly differentiates from siblings but does not explicitly state when not to use.

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

list_academic_policy_sourcesA
Read-only
Inspect

학사 RAG가 조회하는 공식 출처 목록을 반환합니다. 각 출처의 URL, contentUrl, revision/effectiveDate, live 지원 여부, 검증일을 확인할 수 있습니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
liveNotrue면 connector가 live corpus 로딩 경로를 사용합니다. 목록만 볼 때는 false/생략 권장.
categoryNo출처 범위: graduation, scholarship, academic 중 하나. 생략하면 전체.
Behavior2/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds minimal behavioral context beyond confirming read-only behavior. It mentions checking 'live 지원 여부' which matches the schema parameter, but does not disclose any additional traits like data freshness, authorization needs, or response volume.

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?

The description is a single short paragraph in Korean, efficiently stating the purpose and output fields. It is front-loaded and contains no redundant information. However, it could be restructured with bullet points for better scanability.

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?

Given the low complexity (zero required params, simple list operation) and the presence of annotations, the description adequately covers the output fields (URL, contentUrl, revision/effectiveDate, live support, verification date). It also hints that results can be filtered by 'live' and 'category' parameters. Though lacking pagination details, it is sufficient for a list tool.

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 coverage is 100% with both parameters clearly documented. The description repeats some aspects (e.g., 'live 지원 여부') but does not add meaning beyond the schema descriptions. Baseline score of 3 is appropriate as the description does not significantly enhance parameter understanding.

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?

The description clearly states the tool returns a list of official sources queried by the academic RAG, specifying the attributes (URL, contentUrl, revision/effectiveDate, live support, verification date). The name 'list_academic_policy_sources' is specific and distinguishes from sibling tools like 'search_academic_policy_sources' which suggests searching within those sources.

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

Usage Guidelines3/5

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

The description explains what the tool does but does not provide explicit guidance on when to use it versus alternatives such as 'search_academic_policy_sources' or other policy-related tools. The context signals include many siblings, but the description lacks usage cues, leaving the agent to infer from context.

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

list_notice_categoriesA
Read-only
Inspect

숭실대 공지사항 카테고리 목록을 반환합니다. get_recent_notices, search_notices 의 category 파라미터에 사용할 수 있는 값을 확인할 때 유용합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds only the context of returning a list and its relationship to other tools. No additional behavioral details like output format are provided.

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?

Two sentences with no wasted words. The purpose and usage context are front-loaded and clear.

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?

Given the zero parameters and no output schema, the description is complete enough for a simple category list tool, but it could mention the output type (e.g., names/IDs) without being necessary.

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?

There are no parameters, and schema coverage is 100%. The description adds no parameter details, but with no parameters this is acceptable; baseline 4 is appropriate.

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?

The description clearly states the tool returns a list of notice categories and explicitly links its utility to the category parameter of sibling tools get_recent_notices and search_notices, distinguishing it from other tools.

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?

The description provides clear context for when to use the tool (to check category values for other tools) but does not explicitly state when not to use it or list alternatives.

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

logout_allA
Destructive
Inspect

MCP 인증 세션 전체와 연결된 모든 provider를 제거합니다. mcp_session_id가 필요합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
mcp_session_idYes완전히 무효화할 MCP session ID.
Behavior4/5

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

Annotations already indicate destructiveHint=true. The description adds that it removes 'all providers' and requires a session ID, providing specificity beyond annotations. No contradiction.

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?

Single, concise sentence that efficiently conveys the core functionality and required parameter with no wasted words.

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 simple one-parameter tool with no output schema, the description is adequate. It could mention return value or side effects, but annotations cover destructiveness.

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 coverage is 100% and the description simply restates the parameter purpose without adding new meaning. Baseline score of 3 is appropriate.

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?

Description clearly states the tool removes all providers connected to an MCP auth session, which is a specific verb+resource. It distinguishes from sibling 'logout_provider' which likely affects a single provider.

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?

The description clearly states what the tool does and its required parameter, but does not explicitly compare with alternatives like 'logout_provider'. However, context from sibling names suggests when to use this holistic logout.

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

logout_providerB
Destructive
Inspect

MCP 세션에서 특정 provider(SAINT, LMS, LIBRARY) 연결을 해제합니다. mcp_session_id와 provider가 모두 필요합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerYes연동 해제할 provider: SAINT, LMS, LIBRARY 중 하나.
mcp_session_idYesstart_auth로 발급받은 MCP session ID.
Behavior3/5

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

Annotations indicate destructiveHint=true, and the description confirms the disconnect action. However, no additional details on side effects (e.g., session validity after logout) are provided, which would enhance transparency.

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?

The description is a single concise sentence that covers the action and required parameters. No redundant information, though structure could be slightly improved by separating action from constraints.

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

Completeness3/5

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

For a simple logout action with two well-documented parameters, the description is adequate but lacks return value information and context about when to choose this over 'logout_all'. Missing behavioral details.

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 coverage is 100%, and both parameters have clear descriptions. The description adds no new meaning beyond what the schema already provides, meriting a baseline score.

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?

The description clearly states the tool disconnects a specific provider from the MCP session, listing the allowed providers. It implies per-provider logout but does not explicitly distinguish from sibling 'logout_all'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'logout_all'. No prerequisites or context provided beyond parameter requirements.

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

prepare_cancel_library_seatAInspect

숭실대학교 중앙도서관 현재 예약된 좌석을 반납합니다. 현재 예약 정보를 자동으로 조회하므로 예약 번호를 따로 입력하지 않아도 됩니다. 반납은 이 도구만으로 실행되지 않으며, confirm_action을 호출해야 최종 실행됩니다. mcp_session_id 필요(LIBRARY 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID.
Behavior4/5

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

The description adds context beyond annotations: it is a preparation step that does not execute cancellation alone, it auto-queries reservation info, and requires a LIBRARY session. Annotations indicate non-destructive and read-write, which aligns with the preparatory nature.

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?

The description is three sentences long, front-loaded with purpose, and each sentence provides necessary information without redundancy. It is efficient but could be slightly more structured.

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?

Given the tool's simplicity (one parameter, no output schema, destructive hints from annotations), the description covers the essential context: purpose, need for confirm_action, and prerequisite. It is complete enough for an agent to use correctly.

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?

The schema already fully describes the single parameter (mcp_session_id) with 100% coverage. The description repeats the requirement for a LIBRARY login but adds no new semantic detail beyond the 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?

The description clearly states the tool cancels a reserved library seat at Soongsil University Central Library. It distinguishes itself from the final action by noting that confirm_action is required, and from sibling 'cancel_library_wait' by focusing on current reservation cancellation.

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?

The description explains when to use (to cancel a reserved seat) and that confirm_action must follow. It also notes that no reservation number is needed due to auto-query. It does not explicitly state when not to use or compare with alternatives, but the context is clear.

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

prepare_lms_material_exportAInspect

사용자가 선택한 특정 과목의 LMS 주차학습 자료들(PDF, PPT 등)의 내보내기를 검증하고 대기열 등록을 준비합니다. 특정 과목 다운로드 요청의 기본 흐름입니다. 호출 전에 get_my_lms_courses로 과목+파일 목록(과목별 파일 수·용량·content_id 포함)을 사용자에게 보여주고 어떤 과목을 받을지 선택하게 하세요. 선택된 과목의 content_id들은 get_my_lms_courses 응답에 이미 들어있으니 그대로 content_ids 파라미터로 전달하면 됩니다(get_my_lms_materials 재호출 불필요). 한도 초과 또는 미지원 파일은 자동 제외되고 안내됩니다. mcp_session_id 필요(LMS 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
term_idNo조회할 학기 ID (선택).
content_idsYes내보내기할 LMS 자료의 content_id 목록.
mcp_session_idYesLMS가 연동된 MCP session ID.
Behavior4/5

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

Annotations only indicate readOnlyHint=false and destructiveHint=false. The description adds significant behavioral context: it validates, prepares queue registration, checks limits, excludes unsupported files, and requires mcp_session_id for LMS login. No contradiction with annotations.

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?

The description is five sentences in Korean, front-loaded with purpose, then usage flow and constraints. Every sentence adds necessary information without repetition or fluff.

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

Completeness3/5

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

The description lacks details about the return value or what the agent should expect after calling this tool. It mentions 'validates and prepares queue registration' but does not clarify whether it returns a success status, an export identifier, or requires a follow-up action. Given no output schema, this is a gap.

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. The description adds value by explaining that content_ids come from get_my_lms_courses response and mcp_session_id is for LMS login. This goes beyond the schema's basic type descriptions.

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?

The description clearly states it validates and prepares export of LMS weekly learning materials (PDF, PPT) for a specific subject. It uses specific verb 'prepare' and resource 'LMS material export', distinguishing it from siblings like confirm_lms_material_export and export_all_lms_materials.

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?

The description provides clear prerequisite: call get_my_lms_courses first to get content_ids, and explicitly says not to call get_my_lms_materials again. It also mentions that unsupported or over-limit files are excluded. It does not explicitly state when not to use, but gives sufficient usage context.

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

prepare_reserve_library_seatAInspect

숭실대학교 중앙도서관 좌석 예약을 준비합니다. 예약은 이 도구만으로 실행되지 않으며, 사용자가 confirm_action을 호출해야 최종 실행됩니다. mcp_session_id 필요(LIBRARY 로그인). seat_id는 recommend_library_seats 응답의 externalSeatId 값(숫자 문자열, 예: '3179')을 사용하세요. 추천 목록 없이 직접 예약하려면 oasis.ssu.ac.kr에서 좌석을 클릭해 URL의 숫자를 확인하세요.

ParametersJSON Schema
NameRequiredDescriptionDefault
seat_idYes예약할 좌석 ID (숫자). get_library_seat_status 또는 recommend_library_seats에서 확인.
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID.
Behavior4/5

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

The description adds value beyond annotations: it reveals that authentication via LIBRARY is required (mcp_session_id), that the tool only prepares and does not execute, and provides concrete instructions for parameter sourcing. Annotations already indicate non-read-only and non-destructive, but the description elaborates on behavioral context without contradiction.

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?

The description is concise (four sentences) and front-loaded with the main purpose. Every sentence serves a clear function: stating purpose, clarifying the two-step process, specifying required session, and detailing seat_id sourcing. No wasted words.

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?

Given the tool's moderate complexity (2 required params, no output schema), the description covers prerequisites, input sources, and workflow positioning. A minor gap is the lack of mention about what the preparation returns (e.g., a token for confirm_action), but this is implicitly understood from the tool's role in the system.

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?

With 100% schema coverage, the description still adds significant meaning: it maps mcp_session_id to the LIBRARY authentication context and seat_id to specific sources (externalSeatId from recommend_library_seats or URL from oasis.ssu.ac.kr). This provides actionable semantics beyond the schema's simple type descriptions.

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?

The description clearly states the tool prepares a library seat reservation at Soongsil University Central Library, explicitly noting that it does not execute the reservation (confirm_action needed). It distinguishes from sibling tools like confirm_action and recommend_library_seats by explaining the two-step process and specifying how to obtain the seat_id.

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?

The description provides explicit guidance on when to use this tool: before calling confirm_action. It explains that reservation is not complete with this tool alone, specifies prerequisites (LIBRARY login via mcp_session_id), and gives two methods to obtain seat_id (from recommend_library_seats or directly from the website). This helps the agent choose the correct tool and sequence.

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

prepare_swap_library_seatAInspect

현재 예약된 도서관 좌석을 자동으로 반납하고 새 좌석으로 변경합니다. 현재 예약 정보를 자동으로 조회하므로 charge_id를 따로 입력하지 않아도 됩니다. 변경은 이 도구만으로 실행되지 않으며, confirm_action을 호출해야 최종 실행됩니다. 현재 예약이 없으면 prepare_reserve_library_seat를 사용하세요. mcp_session_id 필요(LIBRARY 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
new_seat_idYes새로 예약할 좌석 ID (숫자). get_library_seat_status 또는 recommend_library_seats에서 확인.
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID.
Behavior4/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false. The description explains that the tool is a preparatory step that does not finalize changes until confirm_action is called, which adds context beyond annotations. It also mentions auto-retrieval of current reservation info. Slight lack of detail on error states but overall good.

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?

The description is concise yet comprehensive, covering purpose, workflow, alternatives, and prerequisites in three sentences. No superfluous information; every sentence adds value. Front-loaded with the core action.

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 complex tool with a two-step process and conditional usage, the description covers most essentials: dependency on current reservation, need for confirm_action, and parameter sources. Could mention what happens if the new seat is unavailable or if confirm_action fails, but overall sufficient given no output schema.

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 coverage is 100% with clear descriptions for both parameters. The description adds meaningful context: explains that new_seat_id can be obtained from recommend_library_seats or get_library_seat_status, and that mcp_session_id requires LIBRARY login. Also notes that charge_id is not needed. Significantly enhances parameter understanding.

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?

The description clearly states the tool's action: automatically return current library seat and change to a new seat. It distinguishes from sibling tool 'prepare_reserve_library_seat' by noting that this tool requires an existing reservation, while the sibling is for new reservations. The purpose is specific and unambiguous.

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?

Explicitly states when to use this tool vs alternatives: 'If there is no current reservation, use prepare_reserve_library_seat.' Also specifies the requirement for mcp_session_id and that confirm_action must be called for final execution. Provides clear context on prerequisites and workflow.

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

recommend_library_seatsA
Read-only
Inspect

현재 예약 가능한 숭실대학교 도서관 좌석을 사용자 선호도에 따라 순위화합니다. 이 읽기 전용 도구는 실시간 좌석 현황과 library/seat-catalog.json의 정적 좌석 카탈로그를 결합합니다. 불리언 선호도는 true면 선호, false면 회피, null/생략이면 선호 없음을 의미합니다. 대학원생 전용 열람실은 기본적으로 제외되며, 대학원생인 경우에만 include_graduate_only=true를 설정하세요. prepare_reserve_library_seat는 사용자가 추천된 좌석을 선택한 뒤에만 호출하세요. mcp_session_id 필요(LIBRARY 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
edgeNotrue면 가장자리/모서리 좌석 선호, false면 회피.
floorYes조회할 도서관 층 코드. 가능한 값: 2, 5, 6.
limitNo반환할 최대 추천 수. 기본 5, 최대 10.
quietNotrue면 조용한 좌석 선호, false면 회피.
outletNotrue면 콘센트 있는 좌석 선호, false면 회피.
windowNotrue면 창가 좌석 선호, false면 회피.
standingNotrue면 스탠딩 데스크 선호, false면 스탠딩 데스크 회피.
near_entranceNotrue면 입구 근처 좌석 선호, false면 회피.
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID.
include_graduate_onlyNo대학원 전용 열람실 포함 여부. 기본 false — 학부생은 이용할 수 없음.
Behavior5/5

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

Beyond the readOnlyHint annotation, the description adds that it combines real-time seat status with a static catalog, explains how boolean preferences work (true=prefer, false=avoid, null/omit=no preference), and states that graduate-only rooms are excluded by default. This provides behavioral context beyond what annotations alone 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?

The description is a single paragraph with multiple sentences, each contributing meaningful information. While not extremely compact, it avoids redundancy and front-loads the key purpose. It could be slightly more structured (e.g., bullet points) but remains clear.

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

Completeness3/5

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

Despite good coverage of usage and parameters, the description does not explain the output format or structure of recommendations, and lacks an output schema. Given the tool's complexity (10 params, no output schema), this omission reduces completeness for an agent trying to interpret results.

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?

The input schema already covers 100% of parameters with descriptions. The description adds value by clarifying the semantic role of boolean preferences and the default/conditional behavior of include_graduate_only, which supplements the schema's documentation.

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?

The description clearly states it ranks available library seats based on user preferences, explicitly distinguishes itself as a read-only tool, and references the follow-up tool prepare_reserve_library_seat, differentiating it from sibling tools like get_library_available_seats.

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?

The description provides explicit guidance: it explains when to use (for ranking with preferences), when not to (to filter by graduate status, use include_graduate_only), and specifies the correct next step (call prepare_reserve_library_seat after selection). It also details the semantics of boolean preferences with null meaning no preference.

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

search_academic_policy_sourcesA
Read-only
Inspect

숭실대학교 공식 규정관리시스템과 공식 학사 안내 페이지에서 학칙·졸업·장학 근거 문단을 검색합니다. live=true이면 공식 URL을 즉시 조회하고 실패한 출처만 seed corpus로 대체합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
liveNotrue면 공식 원문을 live fetch. false/생략이면 빠른 seed corpus 검색.
limitNo반환할 근거 수. 기본 5, 최대 10.
queryYes검색어. 예: 복수전공 졸업 학점, 백마성적우수장학금 취득학점.
categoryNo검색 범위: graduation, scholarship, academic 중 하나. 생략하면 전체.
Behavior3/5

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

Annotations already indicate readonly and non-destructive behavior. The description adds context about live fetching and fallback, which is useful but not detailed enough (e.g., what happens if both fail, response format).

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?

Two sentences: purpose first, then behavior for live parameter. No filler, every sentence earns its place.

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?

Given no output schema, the description reasonably covers the tool's scope and behavior. Could mention output format or source fallback limits, but adequate for a search tool with annotations.

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 coverage is 100% with clear parameter descriptions. The description adds minimal value beyond the schema, only clarifying the live parameter's effect. Baseline at 3 is appropriate.

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?

The description clearly states the tool searches for academic policy paragraphs from official university sources. It names specific subdomains (regulations, graduation, scholarship) but does not explicitly differentiate from siblings like check_graduation_requirements or list_academic_policy_sources.

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

Usage Guidelines3/5

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

The description explains the live parameter behavior ('live=true queries official URL, fallback to seed corpus') but gives no guidance on when to use this tool versus alternatives for graduated or policy checks.

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

search_campus_facilitiesA
Read-only
Inspect

숭실대학교 캠퍼스 내 식당, 카페, 편의점, 서점 등의 시설 정보를 검색합니다. 시설 이름, 위치, 운영시간, 전화번호, 별칭 등을 부분 일치로 검색하며, query 가 비어 있으면 전체 시설 목록을 반환합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo검색어 (선택). 시설명, 별칭, 위치 등에 부분 일치. 비워두면 전체 목록. 최대 64자.
Behavior5/5

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

Description discloses partial matching behavior on multiple fields (name, alias, location) and empty-query behavior. Annotations already declare readOnlyHint=true and destructiveHint=false, so description adds operational details without contradiction.

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?

Description is concise: one sentence with two clear clauses, front-loaded with purpose and followed by behavior. No wasted words.

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?

Given low complexity (1 optional param, no output schema), the description fully covers behavior, parameter semantics, and usage context. No gaps.

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 coverage is 100% with description for 'query'. Description adds value by explaining partial matching across fields and full list on empty query, beyond schema's basic type and length.

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?

Description clearly states the tool searches for campus facilities (식당, 카페, 편의점, 서점) with specific verb '검색합니다'. It distinguishes from siblings by focusing on physical facilities, unlike other tools for notices, grades, etc.

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?

Description implies usage for facility search and mentions empty query returns full list, but does not explicitly state when not to use or compare to alternatives. However, the tool's focus is clear from context.

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

search_library_bookA
Read-only
Inspect

숭실대학교 중앙도서관 소장 도서를 키워드로 검색합니다. 응답에는 도서별 제목·저자·청구기호·소장 위치·대출 가능 여부가 포함됩니다. 검색어는 제목·저자·출판 정보에 부분 일치합니다. 이 도구는 읽기 전용이며, 도서 대출/예약 액션은 별도 도구로 분리되어 있습니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo페이지 (0-based, 기본 0)
sizeNo페이지당 결과 수 (1~20, 기본 10)
queryYes검색어 (제목/저자/출판 키워드, 1~64자)
Behavior4/5

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

Annotations already declare readOnlyHint=true. The description adds that the response includes title, author, call number, location, and availability, and that search matches partially on title/author/publisher. This provides useful behavioral context beyond the annotations.

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?

The description is concise—two sentences—and front-loaded with the main action. Every sentence adds value without redundancy.

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?

Given the lack of output schema, the description lists response fields (title, author, call number, location, availability) and mentions partial matching. It covers the main functionality and constraints well for a search tool.

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 coverage is 100%, and the description does add any additional meaning beyond what the schema already provides for the parameters.

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?

The description clearly states the tool searches for books in Soongsil University Central Library by keyword, listing the response fields. This is specific and distinct from sibling tools like search_campus_facilities and search_notices.

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?

The description explicitly states the tool is read-only and that loan/reservation actions are handled by other tools, guiding when to use it and when not to. However, it does not name the alternative tools explicitly.

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

search_noticesA
Read-only
Inspect

숭실대 공지사항을 키워드로 검색합니다. 제목·본문에 키워드가 포함된 공지를 반환합니다. category 를 함께 지정하면 해당 카테고리 내에서만 검색합니다. compact=true 지원.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo페이지 번호 (기본 1).
compactNocompact=true: 제목·URL만 반환. compact=false(기본): 날짜·카테고리 포함.
keywordYes검색 키워드. 최대 64자.
categoryNo카테고리 필터 (선택).
Behavior4/5

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

Annotations indicate readOnlyHint=true and destructiveHint=false, and the description adds valuable behavioral context: keyword search spans title and body, category filtering is available, and compact mode alters the response format. No contradictions with annotations.

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?

The description is three concise sentences in Korean, with the purpose front-loaded. Every sentence adds essential information—search scope, category filter, and compact mode—without unnecessary details.

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?

Despite lacking an output schema, the description outlines the return format for both compact and non-compact modes (titles/URLs vs. with date/category). All four parameters are addressed, and the token limit for keyword is specified. It is sufficiently complete for an agent to use correctly.

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%, and the description adds meaning beyond the schema: it specifies that the keyword is searched in title and body, explains the category filter's effect, and clarifies the behavior of the 'compact' parameter. This provides the agent with clearer usage 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?

The description clearly states the tool searches Soongsil University notices by keyword, returning notices containing the keyword in title or body. It distinguishes itself from sibling tools like 'get_recent_notices' or 'get_active_notices' by focusing on keyword search. The mention of category filtering and compact mode further clarifies its scope.

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

Usage Guidelines3/5

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

The description explains that specifying a category limits search to that category, but it does not provide explicit guidance on when to use this tool versus alternatives like 'search_academic_policy_sources' or 'get_notice_detail'. The usage context is implied rather than explicitly stated.

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

simulate_gpaA
Read-only
Inspect

인증된 학생의 u-SAINT academicRecord를 기반으로 누적 GPA를 시뮬레이션합니다. plannedCredits와 함께 plannedGradePointAverage를 넣어 예상 GPA를 계산하거나, targetGpa를 넣어 필요한 평균 평점을 계산하거나, 둘 다 사용할 수 있습니다. 숭실대학교의 4.5 만점 평점 척도를 사용하며 P/F 학점은 GPA 분모에서 제외합니다. mcp_session_id 필요(SAINT 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
targetGpaNo목표 누적 GPA(0.0~4.5).
mcp_session_idYesstart_auth(SAINT)로 발급받은 MCP session ID. 없거나 SAINT 미연동이면 loginUrl과 함께 AUTH_REQUIRED를 반환.
plannedCreditsYes추가할 성적 산입 학점(P/F 학점 제외).
plannedGradePointAverageNoplannedCredits의 예상 평균 평점(0.0~4.5).
Behavior5/5

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

Annotations declare readOnlyHint=true and destructiveHint=false. The description adds that the tool uses a 4.5 scale, excludes P/F credits, and requires mcp_session_id, providing valuable context beyond annotations. No contradictions.

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?

The description is two sentences, front-loading the core purpose and then covering usage modes and constraints. No unnecessary words.

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

Completeness3/5

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

The description explains parameters and usage well, but does not mention what the output looks like. Since there is no output schema, the agent is left to infer the result type, which reduces completeness.

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%, but the description adds semantic information on how parameters interact (ex: using plannedGradePointAverage with plannedCredits to compute expected GPA, or targetGpa to compute required average). This goes beyond the schema descriptions.

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?

The description clearly states the tool simulates cumulative GPA based on authenticated student's academicRecord, using a specific university's grading scale. It distinguishes from sibling tools as the only GPA simulation tool.

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?

The description explains two usage modes (with plannedGradePointAverage or targetGpa) and that both can be used together. It does not explicitly exclude alternatives, but the context makes clear when to use this tool.

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

start_authAInspect

지정한 provider(SAINT, LMS, LIBRARY)의 브라우저 로그인 URL을 생성합니다. 인증 도구가 AUTH_REQUIRED를 반환할 때 이 도구를 사용하세요. 절차: 1) 이 도구를 호출해 loginUrl과 mcpSessionId를 받습니다. 2) loginUrl 원문을 사용자에게 그대로 보여주세요. PlayMCP connector 페이지 URL이나 loginUrl과 다른 마크다운 링크로 대체하지 마세요. 3) 사용자가 로그인 완료를 확인할 때까지 기다립니다. 4) mcp_session_id=[mcpSessionId]를 넣어 원래 인증 도구 호출을 다시 시도합니다. mcp_session_id가 전달되지 않으면 새 MCP 세션을 생성합니다.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerYes인증할 provider. SAINT: 시간표·성적·채플·졸업·장학금. LMS: 과제·퀴즈. LIBRARY: 도서관 좌석·대출 현황.
mcp_session_idNo재사용할 기존 MCP session ID. 없으면 새 세션이 생성됨.
Behavior5/5

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

Annotations show readOnlyHint=false and destructiveHint=false, which aligns with the description's indication of a non-destructive action (generating a URL). The description further explains the session ID reuse and creation behavior beyond what annotations provide.

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?

The description is concise yet comprehensive, front-loaded with the core purpose and followed by a clear numbered procedure. Every sentence earns its place.

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?

Given no output schema, the description implicitly covers the return values (loginUrl and mcpSessionId) through the procedure. It fully explains the auth flow context and how to proceed after invoking the tool.

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% with good parameter descriptions. The description adds context by listing what each provider covers (e.g., SAINT for timetable/grades), which adds value beyond the 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?

The description clearly states that it generates a browser login URL for specified providers (SAINT, LMS, LIBRARY), which is a specific verb+resource. It distinguishes from sibling tools like get_auth_status, logout_all, etc.

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?

Explicitly instructs to use when authentication tools return AUTH_REQUIRED, and provides a step-by-step procedure for the full auth flow, including not replacing the login URL.

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

wait_for_library_seatAInspect

숭실대학교 중앙도서관 좌석에 대한 백그라운드 대기 intent를 등록합니다. 이 호출 자체가 사용자의 동의이며, 등록 후 조건에 맞는 좌석이 나오면 서버 워커가 이후 confirm_action 호출 없이 자동으로 예약할 수 있습니다. mcp_session_id 필요(LIBRARY 로그인).

ParametersJSON Schema
NameRequiredDescriptionDefault
floorNo선호 층: 2, 5, 6, 2F, 5F, 6F 중 하나.
room_idsNo선호 Pyxis room ID. JSON 배열 또는 CSV 형식, 예: [57,58] 또는 57,58.
mcp_session_idYesstart_auth(LIBRARY)로 발급받은 MCP session ID.
target_seat_idNo가용 시 예약할 고정 Pyxis 좌석 ID.
seat_attributesNo필수 속성. JSON 객체/배열 또는 CSV 형식: window,outlet,standing,edge,quiet,nearEntrance.
expires_in_minutesNo대기 만료 시간(분). 기본 120분.
Behavior5/5

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

Beyond annotations (readOnlyHint false, destructiveHint false), the description reveals key behavioral traits: auto-reservation without confirm_action and background server worker execution, which are critical for safe invocation.

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?

Two sentences efficiently convey the purpose, consent implication, auto-reservation, and prerequisite, with no wasted words.

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 tool with 6 parameters and no output schema, the description covers the essential behavioral context and the mandatory session ID. It could mention success/failure indicators but remains adequate.

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?

With 100% schema description coverage, the parameters are already well-documented. The description does not add new semantic detail beyond what the schema provides, meeting the baseline.

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?

The description clearly states the tool registers a background wait intent for a library seat, distinguishes from siblings like 'cancel_library_wait' and 'prepare_reserve_library_seat' by highlighting the auto-reservation behavior without confirm_action.

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?

It specifies the requirement for a library session ID and that the call itself is consent, providing clear context for use. However, it does not explicitly exclude alternative tools or give when-not-to-use guidance.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources