Skip to main content
Glama
delorenj

MCP Server Trello

MCP サーバー Trello

鍛冶屋のバッジ

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

変更履歴

0.3.0

  • ボードとワークスペースの管理機能が追加されました:

    • list_boards - ユーザーがアクセスできるすべてのボードを一覧表示します

    • set_active_board - 今後の操作のためにアクティブなボードを設定する

    • list_workspaces - ユーザーがアクセスできるすべてのワークスペースを一覧表示します

    • set_active_workspace - 将来の操作のためにアクティブなワークスペースを設定する

    • list_boards_in_workspace - 特定のワークスペース内のすべてのボードを一覧表示します

    • get_active_board_info - 現在アクティブなボードに関する情報を取得します

  • アクティブなボード/ワークスペースを記憶するための永続的な構成ストレージを追加しました

  • すべての新規操作のエラー処理の改善

0.2.1

  • レート制限機能に詳細な JSDoc コメントを追加しました

  • 画像添付機能のエラー処理の改善

  • attach_image_to_card ツールのドキュメントを更新しました

0.2.0

  • URL からカードに画像を添付するためのattach_image_to_cardツールを追加しました

  • マルチステージビルドによるDockerサポートを追加

  • 環境変数を.envに移動することでセキュリティが強化されました

  • Docker Compose 構成を追加しました

  • セットアップを簡単にするために.env.templateを追加しました

0.1.1

  • リスト間でカードを移動するためのmove_cardツールを追加しました

  • ドキュメントの改善

0.1.0

  • 基本的なTrelloボード管理機能を備えた初期リリース

Related MCP server: Claude MCP Trello

特徴

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

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

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

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

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

  • ダイナミックボード選択: 再起動せずにボードとワークスペースを切り替える

インストール

Docker のインストール (推奨)

サーバーを実行する最も簡単な方法は Docker を使用することです。

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

git clone https://github.com/delorenj/mcp-server-trello
cd mcp-server-trello
  1. 環境テンプレートをコピーし、Trello の資格情報を入力します。

cp .env.template .env
  1. Docker Compose でビルドして実行します。

docker compose up --build

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Trello Server を自動的にインストールするには:

npx -y @smithery/cli install @modelcontextprotocol/mcp-server-trello --client claude

手動インストール

npm install @delorenj/mcp-server-trello

構成

環境変数

サーバーは環境変数を使って設定できます。ルートディレクトリに以下の変数を含む.envファイルを作成してください。

# Required: Your Trello API credentials
TRELLO_API_KEY=your-api-key
TRELLO_TOKEN=your-token

# Required: Initial board ID (can be changed later using set_active_board)
TRELLO_BOARD_ID=your-board-id

# Optional: Initial workspace ID (can be changed later using set_active_workspace)
TRELLO_WORKSPACE_ID=your-workspace-id

これらの値は以下から取得できます。

ボードとワークスペースの管理

バージョン 0.3.0 以降、MCP サーバーは動的なボードとワークスペースの選択をサポートします。

  • .envファイル内のTRELLO_BOARD_IDは、サーバーの起動時に初期ボードIDとして使用されます。

  • set_active_boardツールを使用すると、いつでもアクティブボードを変更できます。

  • 選択されたボードはサーバーの再起動後も保持されます( ~/.trello-mcp/config.jsonに保存されます)。

  • 同様に、 set_active_workspaceを使用してアクティブなワークスペースを設定して保持することができます。

これにより、サーバーを再起動したり環境変数を変更したりせずに、複数のボードとワークスペースを操作できるようになります。

ワークフローの例

  1. 利用可能なボードをリストすることから始めます。

{
  name: 'list_boards',
  arguments: {}
}
  1. アクティブボードを設定します:

{
  name: 'set_active_board',
  arguments: {
    boardId: "abc123"  // ID from list_boards response
  }
}
  1. 必要に応じてワークスペースを一覧表示します。

{
  name: 'list_workspaces',
  arguments: {}
}
  1. 必要に応じてアクティブなワークスペースを設定します。

{
  name: 'set_active_workspace',
  arguments: {
    workspaceId: "xyz789"  // ID from list_workspaces response
  }
}
  1. 現在アクティブなボード情報を確認します:

{
  name: 'get_active_board_info',
  arguments: {}
}

利用可能なツール

リストIDでカードを取得する

特定のリストからすべてのカードを取得します。

{
  name: 'get_cards_by_list_id',
  arguments: {
    listId: string  // ID of the Trello list
  }
}

get_lists

現在アクティブなボードからすべてのリストを取得します。

{
  name: 'get_lists',
  arguments: {}
}

最近のアクティビティを取得する

現在アクティブなボード上の最近のアクティビティを取得します。

{
  name: 'get_recent_activity',
  arguments: {
    limit?: number  // Optional: Number of activities to fetch (default: 10)
  }
}

リストにカードを追加

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

{
  name: 'add_card_to_list',
  arguments: {
    listId: string,       // ID of the list to add the card to
    name: string,         // Name of the card
    description?: string, // Optional: Description of the card
    dueDate?: string,    // Optional: Due date (ISO 8601 format)
    labels?: string[]    // Optional: Array of label IDs
  }
}

カード詳細の更新

既存のカード詳細を更新します。

{
  name: 'update_card_details',
  arguments: {
    cardId: string,       // ID of the card to update
    name?: string,        // Optional: New name for the card
    description?: string, // Optional: New description
    dueDate?: string,    // Optional: New due date (ISO 8601 format)
    labels?: string[]    // Optional: New array of label IDs
  }
}

アーカイブカード

カードをアーカイブに送信します。

{
  name: 'archive_card',
  arguments: {
    cardId: string  // ID of the card to archive
  }
}

ボードにリストを追加

現在アクティブなボードに新しいリストを追加します。

{
  name: 'add_list_to_board',
  arguments: {
    name: string  // Name of the new list
  }
}

アーカイブリスト

リストをアーカイブに送信します。

{
  name: 'archive_list',
  arguments: {
    listId: string  // ID of the list to archive
  }
}

カードを取得する

現在のユーザーに割り当てられているすべてのカードを取得します。

{
  name: 'get_my_cards',
  arguments: {}
}

移動カード

カードを別のリストに移動します。

{
  name: 'move_card',
  arguments: {
    cardId: string,  // ID of the card to move
    listId: string   // ID of the target list
  }
}

カードに画像を添付する

URL から直接カードを添付します。

{
  name: 'attach_image_to_card',
  arguments: {
    cardId: string,  // ID of the card to attach the image to
    imageUrl: string, // URL of the image to attach
    name?: string    // Optional: Name for the attachment (defaults to "Image Attachment")
  }
}

リストボード

ユーザーがアクセスできるすべてのボードを一覧表示します。

{
  name: 'list_boards',
  arguments: {}
}

アクティブボードを設定する

今後の操作のためにアクティブ ボードを設定します。

{
  name: 'set_active_board',
  arguments: {
    boardId: string  // ID of the board to set as active
  }
}

ワークスペースの一覧

ユーザーがアクセスできるすべてのワークスペースを一覧表示します。

{
  name: 'list_workspaces',
  arguments: {}
}

アクティブワークスペースを設定する

今後の操作のためにアクティブなワークスペースを設定します。

{
  name: 'set_active_workspace',
  arguments: {
    workspaceId: string  // ID of the workspace to set as active
  }
}

ワークスペース内のボード一覧

特定のワークスペース内のすべてのボードを一覧表示します。

{
  name: 'list_boards_in_workspace',
  arguments: {
    workspaceId: string  // ID of the workspace to list boards from
  }
}

アクティブボード情報を取得する

現在アクティブなボードに関する情報を取得します。

{
  name: 'get_active_board_info',
  arguments: {}
}

レート制限

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

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

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

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

エラー処理

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

  • 無効な入力パラメータ

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

  • API認証エラー

  • ネットワークの問題

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

発達

前提条件

  • Node.js 16以上

  • npmまたはyarn

設定

  1. リポジトリをクローンする

git clone https://github.com/delorenj/mcp-server-trello
cd mcp-server-trello
  1. 依存関係をインストールする

npm install
  1. プロジェクトを構築する

npm run build

貢献

貢献を歓迎します!

ライセンス

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

謝辞

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/delorenj/mcp-server-trello'

If you have feedback or need assistance with the MCP directory API, please join our Discord server