Skip to main content
Glama

TODO を追加

add_todo

Create a to-do alarm in your iOS reminder list, with optional due time, notes, sound, and repeat rules that sync via iCloud.

Instructions

TODO を追加する(source=mcp)。ひとことで TODO を言われたら title だけ渡す。due を省略すると明日の既定時刻(Account の timeZone での今日の翌日、Account.defaultTime、既定 09:00)になる。「明日 9 時」「今日 15 時」など利用者が時刻を言ったときだけ due を渡す(YYYY-MM-DDTHH:mm は Account の timeZone の時計、ISO8601 も可)。日付だけ言われたら due に YYYY-MM-DD を渡すと「その日の既定時刻」になる。繰り返しは repeat で(iOS カレンダーと同じ語彙: 毎日 / 毎週 月水 / 隔週 / 毎月 5 日 / 毎月 第 1 月曜 / 最終金曜 / 毎年 / 3 日ごと / 10 回で終了 / 12/31 まで)。初回は due(毎月 5 日なら due を 5 日に、毎年なら due の月日)。試用(30 日)も購読も切れていると isError + code=PAYMENT_REQUIRED。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dueNo鳴らす時刻。YYYY-MM-DDTHH:mm(Account の timeZone の時計)か、オフセット付き ISO8601。YYYY-MM-DD だけなら「その日の既定時刻(Account.defaultTime、既定 09:00)」。
notesNo
soundNoアラーム音。default, chime, marimba, beep, urgent, vibrateOnly, siren, klaxon, rapid, redalert, musicbox, harp, morning, bowl, droplet, breeze, horror, dread, ghost, lament, cello, rainy, fanfare, skip, sparkle
titleYes
repeatNo繰り返し(iOS カレンダーと同じ語彙)。省略した項目は既定値(interval 1・weekdays []・monthly.mode dayOfMonth・end.kind never)。範囲外は INVALID_ARGUMENT。例: 毎日 {kind:daily} / 毎週 月水 {kind:weekly, weekdays:[2,4]} / 隔週 {kind:weekly, interval:2} / 3 日ごと {kind:daily, interval:3} / 毎月 5 日 {kind:monthly}(due を 5 日に)/ 毎月 第 1 月曜 {kind:monthly, monthly:{mode:weekdayOrdinal, ordinal:1, weekday:2}} / 毎月 最終金曜 {kind:monthly, monthly:{mode:weekdayOrdinal, ordinal:-1, weekday:6}} / 毎年 {kind:yearly}(due の月日)/ 10 回で終了 {kind:daily, end:{kind:count, count:10}} / 12/31 まで {kind:weekly, weekdays:[2], end:{kind:until, until:"2026-12-31"}}

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses the default due behavior (next day at Account.defaultTime, default 09:00), timezone semantics, default repeat values, and a failure condition (trial/subscription expired → isError + code=PAYMENT_REQUIRED). It stops short of stating authentication requirements (implied by sign_in) or any rate limits, so it is not exhaustive.

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

Conciseness4/5

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

Purpose is front-loaded and no sentence is pure filler, but the definition is a single long run-on paragraph mixing due defaults, repeat vocabulary, and payment failure. Bullets or short sections would improve scanability for an agent parsing it, though the information density is justified by the nested repeat schema.

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 5-parameter tool with a nested repeat object and no output schema, the description covers the tricky invocation aspects (due defaults, recurrence encoding, payment-required error). It omits auth prerequisites and says nothing about the response, but with no output schema defined the latter is less critical. Adequate for correct invocation given the schema's own descriptions.

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 60%, and the description compensates heavily for the complex parameters: it explains due formats and the date-only default-time behavior, and translates natural-language recurrence phrases into repeat object shapes (毎週 月水 → weekdays [2,4], 隔週 → interval 2, etc.). It says nothing about notes or sound, which remain schema-documented only, but adds real meaning beyond the schema for the high-complexity fields.

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 opens with a specific verb+resource (「TODO を追加する」) and adds the creation source (source=mcp). It is trivially distinguishable from siblings like update_todo, complete_todo, snooze_todo, and delete_todo, which all operate on existing TODOs. No ambiguity about what the tool does.

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?

Rich guidance on optional parameters: pass only title for a bare TODO; pass due only when the user states a time (「明日 9 時」「今日 15 時」); pass YYYY-MM-DD for date-only; how to express recurrence. It does not, however, route among sibling tools or state exclusions (e.g., when to use update_todo instead), so it falls short of explicit alternative-selection guidance.

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