Skip to main content
Glama

deadlines

Collect upcoming contest deadlines within a set number of days and export them to an ICS calendar file for scheduling.

Instructions

마감 일정을 모은다. ics_path 를 주면 ICS 파일도 만든다.

include_announcements 는 상세 원문에서 찾은 발표일(추정) 을 함께 넣는다. 원문 문장에서 뽑은 값이라 ICS 제목에 [발표?] 로 표시하고, 근거 문장을 설명에 붙인다.

Args: days: 앞으로 며칠 안의 마감만 (기본 30). ics_path: ICS를 저장할 경로 (예: ~/Downloads/contest.ics). dday_max: days 대신 남은 일수 상한을 직접 지정. include_announcements: 상세에서 찾은 발표일(추정)도 캘린더에 넣을지.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "deadlines"
  }
}

Input Schema

NameRequiredDescriptionDefault
daysNo
dday_maxNo
ics_pathNo
include_announcementsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses what the ICS output contains, including the `[발표?]` marker and appended evidence sentences for estimated announcement dates. But it omits important behavioral details: whether this is a read-only aggregation, what the textual return looks like, and what happens if `days` and `dday_max` are both supplied.

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?

Structure is sensible: a one-line purpose, then detail about the ICS side effect, then an Args block. Most sentences earn their place, though the announcement explanation is slightly verbose relative to the rest.

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 and no annotations, so the description must explain the return/side-effect behavior, which it partly does via the ICS section. Remaining gaps are the days/dday_max interaction and the nature of the textual result, but overall it is complete enough for a tool with four optional parameters.

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 0%, so the description must compensate, and it does define all four parameters with meaning beyond their names: days (default 30), ics_path example, dday_max as a direct alternative upper bound, and include_announcements semantics. It does not state precedence when `days` and `dday_max` are both given, which is a notable ambiguity.

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

Purpose4/5

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

States a specific verb and resource: collects deadlines (마감 일정을 모은다) and optionally generates an ICS file. This distinguishes it from siblings like search_contests or mark, though it does not explicitly name an alternative.

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 when to use the ICS output by describing what `ics_path` does, and hints that this is the tool for upcoming deadlines within N days. However, it provides no explicit when-to-use vs alternatives guidance and no exclusions relative to sibling tools like check_eligibility or get_contest.

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