mcpField
T
trello-use

trello-use

github.com/atlassian生産性73421 回インストール1 日前に更新
リポジトリ

trello-use について

trello-use は、Trello MCP ツールでデータを読み書きするエージェント向けのスキルです。ARI 識別子、タイムゾーン変換、ページネーション、プレビューの制限を扱い、呼び出し時の誤りを防ぎます。

主な機能

  1. 01Trello 操作の呼び出し規則
  2. 02ARI 識別子の取得と利用方法
  3. 03ローカル時刻から UTC への変換
  4. 04ページネーションとプレビュー制限

活用シーン

  1. 01ユーザーのタイムゾーンに基づくカードの期限設定
  2. 02ボード内のリストやカードの全件取得
  3. 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>
actionari:cloud:trello::action/<actionObjectId>(ワークスペース部分なし)
memberari:cloud:trello::user/<memberObjectId>(ワークスペース部分なし)
planner calendarari: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>"
}

コメント