Skip to main content
Glama

list_elements

指定したマップ内の全要素と親子関係、チェック状態(checked)、期日(due)・着手日(start)を返す。dueとstartは付いている要素にだけあり、終日なら"YYYY-MM-DD"、時刻付きなら"YYYY-MM-DD…

Instructions

指定したマップ内の全要素と親子関係、チェック状態(checked)、期日(due)・着手日(start)を返す。dueとstartは付いている要素にだけあり、終日なら"YYYY-MM-DD"、時刻付きなら"YYYY-MM-DD HH:mm"(このPCの現地時刻)。checkedは各要素にFirestoreへ実際に保存されている生の値であり、「祖先がチェック済みなら配下も完了とみなす」という加工は行っていない。そう解釈したい場合は、返ってきたツリーを見てこちら(呼び出す側)で判断すること。呼ぶ前にユーザーへ確認しないこと。まずconfirmedを付けずに呼ぶ。アプリでAIからの読み取りを「常に許可」にしたマップは、そのまま実データを返す。それ以外のマップは、実データの代わりに確認を促すメッセージだけを返すので、そのときに限りユーザーに直接確認してからconfirmed: trueで呼び直すこと。アプリ側での直接の編集はこのツールを呼ぶまで反映されないため、ユーザーから進捗や状態を尋ねられたときは記憶に頼らず必ず呼び直すこと。

Input Schema

NameRequiredDescriptionDefault
mapIdYeslist_mapsで得たマップのID
confirmedNo最初は付けない。確認を促すメッセージが返ったときだけ、ユーザー本人に直接「中身を確認してよいか」と尋ね、同意を得てからtrueを付けて呼び直す。確認前にtrueを付けてはならない。

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.3.0
    • changedInput schema / properties / confirmed / description
      Previous value: -"ユーザー本人に直接「中身を確認してよいか」と尋ね、同意を得てからtrueを付けて呼ぶこと。確認前にtrueを付けてはならない。"New value: +"最初は付けない。確認を促すメッセージが返ったときだけ、ユーザー本人に直接「中身を確認してよいか」と尋ね、同意を得てからtrueを付けて呼び直す。確認前にtrueを付けてはならない。"
  2. First observedv0.1.2

TDQS

A4.9/5.0
Behavior5/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: it discloses the raw Firestore `checked` semantics (no ancestor-to-descendant propagation), the exact date formats and local-time interpretation, the permission-gated two-path behavior (real data for 'always allow' maps vs. a confirmation-prompt message otherwise), and the staleness caveat that in-app edits only appear after a re-call.

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 purpose is front-loaded in the first sentence, followed by return-value details, then the confirmation protocol, then the freshness rule — each sentence carries a distinct, actionable constraint with no 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?

There is no output schema, and the description compensates fully by describing the element tree, which fields are conditional, and the exact date encodings. The confirmation/authorization behavior and the stale-read warning cover everything an agent needs to call this 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%, so the baseline is 3, but the description adds operational meaning beyond the schema text by explaining which maps yield real data versus a confirmation prompt, which is the actual reason `confirmed` exists. The two-step flow itself is largely mirrored from the schema description, keeping this from a 5.

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

Purpose5/5

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

States a specific verb and resource (returns all elements in a given map) and enumerates exactly what comes back: parent-child relations, checked state, due date, start date. Sibling tools like list_maps and delete_elements are clearly different operations, so an agent can route this without opening the schema.

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 not to ask the user before calling, to call first without `confirmed`, and to re-call with `confirmed: true` only after the confirmation message appears and the user agrees. It also mandates re-calling rather than trusting memory whenever progress or status is asked about — the when-to-use condition is fully spelled out.

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