Skip to main content
Glama
hrs-asano

Claude MCP Trello

by hrs-asano

クロード MCP Trello

Trelloボードを操作するためのツールを提供するModel Context Protocol(MCP)サーバー。このサーバーは、レート制限、型安全性、エラー処理を自動的に処理しながら、Trello APIとのシームレスな統合を実現します。

特徴

  • Trelloボードとの完全な統合:カード、リスト、ボードアクティビティを操作

  • 組み込みのレート制限: Trello の API 制限 (API キーあたり 300 リクエスト/10 秒、トークンあたり 100 リクエスト/10 秒) を尊重

  • 型安全な実装:包括的な型定義を備えたTypeScriptで記述

  • 入力検証: すべてのAPI入力に対する堅牢な検証

  • エラー処理: 情報メッセージによる適切なエラー処理

Related MCP server: Advanced Trello MCP Server

利用可能なツール

trello_get_cards_by_list

指定されたリスト ID に含まれるカードのリストを取得します。

{
  name: "trello_get_cards_by_list",
  arguments: {
    listId: string; // Trello list ID
  }
}

trello_get_lists

ボード内のすべてのリストを取得します。

{
  name: "trello_get_lists",
  arguments: {}
}

trello_get_recent_activity

最新のボードアクティビティを取得します。limit limitで取得する件数を指定できます(デフォルト:10)。

{
  name: "trello_get_recent_activity",
  arguments: {
    limit?: number; // Optional: number of activities to retrieve
  }
}

trello_add_card

指定されたリストにカードを追加します。

{
  name: "trello_add_card",
  arguments: {
    listId: string;       // The ID of the list to add to
    name: string;         // The title of the card
    description?: string; // Optional: details of the card
    dueDate?: string;     // Optional: due date (e.g., ISO8601)
    labels?: string[];    // Optional: array of label IDs
  }
}

trello_update_card

カードの内容を更新します。

{
  name: "trello_update_card",
  arguments: {
    cardId: string;       // The ID of the card to be updated
    name?: string;        // Optional: updated title
    description?: string; // Optional: updated description
    dueDate?: string;     // Optional: updated due date (e.g., ISO8601)
    labels?: string[];    // Optional: updated array of label IDs
  }
}

trello_archive_card

指定されたカードをアーカイブ(閉じる)します。

{
  name: "trello_archive_card",
  arguments: {
    cardId: string; // The ID of the card to archive
  }
}

trello_add_list

ボードに新しいリストを追加します。

{
  name: "trello_add_list",
  arguments: {
    name: string; // Name of the new list
  }
}

trello_archive_list

指定されたリストをアーカイブ(閉じる)します。

{
  name: "trello_archive_list",
  arguments: {
    listId: string; // The ID of the list to archive
  }
}

trello_get_my_cards

アカウントに関連するすべてのカードを取得します。

{
  name: "trello_get_my_cards",
  arguments: {}
}

trello_search_all_boards

プラン/権限に応じて、ワークスペース (組織) 内のすべてのボード間でクロスボード検索を実行します。

{
  name: "trello_search_all_boards",
  arguments: {
    query: string;   // Search keyword
    limit?: number;  // Optional: max number of results (default: 10)
  }
}

レート制限

サーバーは、Trello の API 制限に準拠するために、レート制限用のトークン バケット アルゴリズムを実装します。

  • APIキーごとに10秒あたり300リクエスト

  • トークンごとに10秒あたり100リクエスト

レート制限は自動的に処理され、制限に達した場合、リクエストはキューに入れられます。

エラー処理

サーバーは、さまざまなシナリオに対して詳細なエラー メッセージを提供します。

  • 無効な入力パラメータ

  • レート制限を超えました

  • API認証エラー

  • ネットワークの問題

  • 無効なボード/リスト/カードID

発達

前提条件

  • Node.js 16以上

  • npmまたはyarn

設定

  1. リポジトリをクローンします。

    git clone https://github.com/hrs-asano/claude-mcp-trello.git
    cd claude-mcp-trello
  2. 依存関係をインストールします:

npm install
  1. プロジェクトをビルドします。

npm run build

テストの実行

npm test

Claude Desktopとの統合

この MCP サーバーを Claude Desktop と統合するには、~/Library/Application\ Support/Claude/claude_desktop_config.json ファイルに次の構成を追加します。

{
  "mcpServers": {
    "trello": {
      "command": "{YOUR_NODE_PATH}", // for example: /opt/homebrew/bin/node
      "args": [
        "{YOUR_PATH}/claude-mcp-trello/build/index.js"
      ],
      "env": {
        "TRELLO_API_KEY": "{YOUR_KEY}",
        "TRELLO_TOKEN": "{YOUR_TOKEN}",
        "TRELLO_BOARD_ID": "{YOUR_BOARD_ID}"
      }
    }
  }
}

{YOUR_NODE_PATH}、{YOUR_PATH}、{YOUR_KEY}、{YOUR_TOKEN}、および {YOUR_BOARD_ID} を、ご使用の環境に適した値に置き換えてください。

貢献

貢献を歓迎します!行動規範とプルリクエストの送信手順の詳細については、貢献ガイドをお読みください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

謝辞

Related MCP Connectors

Related MCP Servers