trello-use について
trello-use は、Trello MCP ツールでデータを読み書きするエージェント向けのスキルです。ARI 識別子、タイムゾーン変換、ページネーション、プレビューの制限を扱い、呼び出し時の誤りを防ぎます。
主な機能
- 01Trello 操作の呼び出し規則
- 02ARI 識別子の取得と利用方法
- 03ローカル時刻から UTC への変換
- 04ページネーションとプレビュー制限
活用シーン
- 01ユーザーのタイムゾーンに基づくカードの期限設定
- 02ボード内のリストやカードの全件取得
- 03指定順でのリストやチェック項目の作成
MCP 対応
Trello MCP ツールによる読み書きをエージェントに案内し、ツールの引数、識別子形式、データ取得ルールを説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ atlassian/ trello-mcp-server --skill trello-useインストール後、Claude Code で/trello-useを入力して読み込まれたか確認します。
詳細
Trello MCP サーバー — 使用スキル
Trello MCP ツールはアクションに応じて処理を振り分けます(action: "..."で操作を選択)。また、入力を厳密に検証します。選択したアクションで使われないフィールドは無視されず、拒否されます。
1. まず現在のユーザーを特定する
trelloReadMemberをaction: "get_me"で呼び出し、prefs.timezoneを含む認証済みユーザーのプロフィールを取得します。カード、Inbox、検索で相対時間(「今日」「今週」)を指定する場合は、必ずこの操作を先に行ってください。特に、ユーザーがローカル時刻または相対時刻(例:「明日の午後1時」)でdueを指定した場合は、trelloWriteCard/trelloWriteInboxのcreateまたはupdateの前に、prefs.timezoneを確認してUTCに変換し、その値をdueとして渡してください。(プランナーのイベントでは別のタイムゾーン情報を使います。§3を参照してください。)
2. ARI ID の形式(重要 — ID を渡す前に必ず読むこと)
すべてのID型パラメーター(cardId、boardId、listId、workspaceId、checklistId、itemId、labelId、plannerCalendarId、providerAccountId)は生のTrelloオブジェクトIDではなく、ARIです。ほとんどはワークスペースのスコープに属し、次の形式です。
ari:cloud:trello::<entity>/workspace/<workspaceObjectId>/<entityObjectId>
例外(以下の表の最後の4行)はワークスペースのスコープに属しません。action、member、planner calendarにはワークスペース部分がなく、サードパーティアカウントは別のARI名前空間を使います。
| エンティティ | 形式 |
|---|---|
| ボード | ari:cloud:trello::board/workspace/<workspaceObjectId>/<boardObjectId> |
| カード | ari:cloud:trello::card/workspace/<workspaceObjectId>/<cardObjectId> |
| リスト | ari:cloud:trello::list/workspace/<workspaceObjectId>/<listObjectId> |
| チェックリスト | ari:cloud:trello::checklist/workspace/<workspaceObjectId>/<checklistObjectId> |
| チェック項目 | ari:cloud:trello::check-item/workspace/<workspaceObjectId>/<itemObjectId> |
| ラベル | ari:cloud:trello::label/workspace/<workspaceObjectId>/<labelObjectId> |
| ワークスペース | ari:cloud:trello::workspace/<workspaceObjectId> |
| action | ari:cloud:trello::action/<actionObjectId>(ワークスペース部分なし) |
| member | ari:cloud:trello::user/<memberObjectId>(ワークスペース部分なし) |
| planner calendar | ari:cloud:trello::planner-calendar/<calendarObjectId>(ワークスペース部分なし) |
| サードパーティアカウント | ari:third-party:<provider>::account/<providerAccountId>(例:Google) |
ルール:
- 必ず最初に読み取りツールからARIを取得してください。自分で組み立てたり、推測したりしないでください。
trelloWriteCard、trelloWriteChecklist、trelloWriteInbox、trelloWritePlannerは、IDパラメーターにTrelloのURL/短縮リンクが渡されると拒否します(「TrelloのURLまたは短縮リンクは渡さないでください。先にtrelloReadCard/trelloReadInboxを使ってARIを取得してください」)。 - 読み取りの
getアクションのうち2つは、利便性のため通常のTrello URLも受け付けます。trelloReadBoard(get)はボードURL(https://trello.com/b/<shortLink>/...)を、trelloReadCard(get)はカードURL(.../c/<shortLink>/...)を、ARIに加えて受け付けます。それ以外のすべてのツールと、すべての書き込みツールが受け付けるのはARIのみです。
3. 日付は常にUTCのISO 8601形式
due(trelloWriteCard、trelloWriteInbox)とstart/end(trelloWritePlanner)は、UTCのISO 8601形式です("2026-06-01T17:00:00.000Z")。ローカル時刻または相対時刻は、次の情報を使って変換してください。
- カードとInbox:
trelloReadMember(get_me)→prefs.timezone - プランナーのイベント:
trelloReadPlanner(get)→primaryCalendar.timezone - 時刻の指定がない場合 → ローカル時刻の09:00を既定値とします。
trelloSearchの日付による絞り込み(due:)にも、同じUTC境界のルールが適用されます。まずprefs.timezoneを確認してください。
4. Inbox は Trello ボードではありません
Inbox は専用ツール trelloReadInbox / trelloWriteInbox を使う、個人向けのクイックキャプチャ用スペースです。trelloReadBoard/trelloWriteBoard からアクセスしようとせず、Inbox 専用ツールを使ってください。trelloWriteInbox の create では pos を指定できません。新しい Inbox カードは常に一番上に追加されます。
5. 順序を指定した作成
特定の順序を保つ必要がある複数の項目(リスト、カード、カード上のチェックリスト、チェックリスト内のチェック項目)を作成する場合は、意図した順序に従って、異なる連続した整数(1, 2, 3, …)を pos に設定してください。対象範囲は親ごとに異なります。カードはリストごと、リストはボード全体、チェックリストはカードごと、チェック項目はチェックリストごとです。異なる値を指定すると、どの呼び出しが先に完了しても順序が固定されるため、並列で作成できます。pos は、フィールドが公開されている場合、"top" / "bottom" も受け付けます。
例 — 新しいボードに3つのリストを作成し、順序を指定する場合(To Do → In Progress → Done):
[
{
"tool": "trelloWriteList",
"action": "create",
"boardId": "ari:cloud:trello::board/workspace/<workspaceObjectId>/<boardObjectId>",
"name": "To Do",
"pos": 1
},
{
"tool": "trelloWriteList",
"action": "create",
"boardId": "ari:cloud:trello::board/workspace/<workspaceObjectId>/<boardObjectId>",
"name": "In Progress",
"pos": 2
},
{
"tool": "trelloWriteList",
"action": "create",
"boardId": "ari:cloud:trello::board/workspace/<workspaceObjectId>/<boardObjectId>",
"name": "Done",
"pos": 3
}
]
3つすべてを並列で実行できます。pos はボードごとに適用され、異なる値(1/2/3)によって、どの呼び出しが先に完了しても順序が固定されます。
例 — 1つのリストに3つのカードを作成し、順序を指定する場合(Step 1 → Step 2 → Step 3):
[
{
"tool": "trelloWriteCard",
"action": "create",
"listId": "ari:cloud:trello::list/workspace/<workspaceObjectId>/<listObjectId>",
"name": "Step 1",
"pos": 1
},
{
"tool": "trelloWriteCard",
"action": "create",
"listId": "ari:cloud:trello::list/workspace/<workspaceObjectId>/<listObjectId>",
"name": "Step 2",
"pos": 2
},
{
"tool": "trelloWriteCard",
"action": "create",
"listId": "ari:cloud:trello::list/workspace/<workspaceObjectId>/<listObjectId>",
"name": "Step 3",
"pos": 3
}
]
ここでの pos は、その1つのリスト内に適用されます。別のリストで pos: 1 を指定して作成したカードは、このリストの pos: 1 とは独立しています。
反例 — 順序を問わない場合: pos を指定せずに(または "bottom" を指定して)項目を作成してください。ユーザーが特定の順序を求めていない場合は、連続した番号を勝手に付けないでください。これは求められていない過剰な精密さです。
6. ページネーション
コレクションを一覧表示する読み取りツールでは、カーソルページネーションを使用します(cursor を入力し、pageInfo.endCursor/nextCursor と hasNextPage/hasMore を出力)。最初のページですべて取得できたと決めつけず、hasNextPage/hasMore が true の間はページネーションを続けてください。これは特に、visibility で絞り込む trelloReadBoard の list/list_by_workspace で重要です(絞り込みはページネーション前に全体を対象として行われるのではなく、サーバー側でページごとに行われます)。
7. 埋め込みフィールドはプレビューです
子オブジェクトを含むフィールド(ボードの lists、カードの labels/comments、リストの cards)は、get と list_* のレスポンスのどちらでも、表示件数が制限されたプレビューです。<field>HasMore: true は、そのフィールドが途中で切り詰められていることを示します。該当するフィールドは listsHasMore、labelsHasMore、checklistsHasMore、commentsHasMore です。
件数、「すべての X」、絞り込み、または「これで全部ですか?」といった質問には、すべての子オブジェクトが必要です。対応するアクションで取得し、レスポンスに次のページがないと示されるまでページネーションを行い(§6)、そのページの内容に基づいて回答してください。
| すべて取得する子オブジェクト | 取得方法 |
|---|---|
| ボードのリスト | trelloReadList list_by_board |
| リストのカード | trelloReadCard list_by_list |
| カードのチェックリストとその項目 | trelloReadChecklist list_by_card |
| ボードのラベル | trelloReadBoard list_labels |
| カードのコメント | trelloReadCard list_comments — 利用条件あり:提示されたアクションにこの項目がない場合、コメントは利用できません。その旨を明確に伝えてください |
| カード自身のラベルまたはメンバー | カードを対象とするアクションはありません。プレビューが取得できる上限なので、部分的な情報として提示してください |
例 —「このボードにはリストがいくつありますか?」 trelloReadBoard get は listsHasMore: true を含む lists を返します。そのレスポンスからボードの ARI を取得してリスト取得アクションに渡し、最後のページまでカーソルをたどってから、取得したリストを数えます。
{
"tool": "trelloReadList",
"action": "list_by_board",
"boardId": "ari:cloud:trello::board/workspace/<workspaceObjectId>/<boardObjectId>",
"cursor": "<endCursor/nextCursor from the previous page>"
}