Skip to main content
Glama

TODO を更新

update_todo

TODO の題名・時刻・繰り返し・メモ・音・状態を変える。渡した項目だけ変わる。repeat は丸ごと置き換え(省略した項目は既定値)。repeat: null か {kind: none} で繰り返しを外す。notes: null でメモを消す。繰り返し TODO の status は変えられない(complete_todo / snooze_todo を使う)。おやすみ時間(get_me の quietHours)に入る時刻は自動で終了時刻に寄せて保存する(単発は次の終了時刻、繰り返しは同じ日の終了時刻)。寄せたときは結果に quietHoursAdjusted(requested / actual / message)が付くので、そのことを利用者に伝える。

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

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

Input Schema

NameRequiredDescriptionDefault
idYes
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
titleNo
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"}}
statusNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full behavioral burden and does so well: it discloses partial-update semantics, that repeat is replaced wholesale rather than merged (omitted sub-fields reset to defaults), that null clears values, that status is immutable on repeating TODOs, and that times inside quietHours are silently shifted to the end time. It even names the resulting quietHoursAdjusted field (requested / actual / message) and instructs the agent to relay that to the user — behavior an agent could not infer from 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.

Conciseness4/5

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

Sentences are dense and ordered from general semantics to edge cases to side effects, so the most important facts come first. The line about repeat defaults largely duplicates text already in the schema's repeat description, which is the only real 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 7-parameter mutation tool with no annotations and no output schema, the description covers update semantics, clearing conventions, the status restriction, and the quiet-hours side effect plus its response field. Minor gaps remain: error behavior for an invalid id and whether changing due shifts an existing recurrence schedule are not stated.

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 description coverage is only 43%, so the description must compensate, and it does: it maps all six mutable fields, explains the null-clearing convention for notes and repeat, and warns that unspecified repeat sub-fields take defaults. It leaves the id parameter and the due date format entirely to the schema (which documents due well), so it adds meaning without fully covering the remaining low-coverage 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 first sentence names a specific verb (変える) plus the exact mutable fields (題名・時刻・繰り返し・メモ・音・状態), so an agent knows immediately this is a partial-update tool on an existing TODO. It also distinguishes itself from siblings by stating that a repeating TODO's status cannot be changed here and pointing to complete_todo / snooze_todo instead.

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?

Clear conditions are given for the tricky cases: only passed fields change, use repeat: null or {kind: none} to remove recurrence, use notes: null to clear a note, and use the sibling tools for status on repeating todos. It stops short of covering the obvious-but-unstated cases such as how to obtain the id (list_todos) or when to prefer add_todo / delete_todo, so it is strong but not exhaustive.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.