Trello MCP サーバー
Trello API と連携するためのツールを提供するモデルコンテキストプロトコル (MCP) サーバー。汎用 MCP サーバーテンプレートに基づいて構築されています。
特徴
Trello 統合: Trello ボード、リスト、カードなどへの完全なアクセス
包括的なAPIカバレッジ:すべての主要なTrello操作をサポート
モジュラーアーキテクチャ:明確に定義された構造による関心事の明確な分離
型安全性: Trello オブジェクトの適切な型付けによる完全な TypeScript サポート
エラー処理: コードベース全体にわたる堅牢なエラー管理
Related MCP server: MCP Server Trello
プロジェクト構造
trello-mcp-server/
├── src/
│ ├── services/ # Service classes for Trello API interactions
│ │ ├── base-service.ts # Abstract base service with common functionality
│ │ ├── trello-service.ts # Core Trello API service
│ │ ├── board-service.ts # Service for Trello boards
│ │ ├── list-service.ts # Service for Trello lists
│ │ ├── card-service.ts # Service for Trello cards
│ │ ├── member-service.ts # Service for Trello members
│ │ ├── label-service.ts # Service for Trello labels
│ │ ├── checklist-service.ts # Service for Trello checklists
│ │ └── service-factory.ts # Factory for creating service instances
│ ├── tools/ # MCP tool definitions and handlers
│ │ ├── board-tools.ts # Board tool definitions
│ │ ├── board-tool-handlers.ts # Board tool handlers
│ │ ├── list-tools.ts # List tool definitions
│ │ ├── list-tool-handlers.ts # List tool handlers
│ │ ├── card-tools.ts # Card tool definitions
│ │ ├── card-tool-handlers.ts # Card tool handlers
│ │ ├── member-tools.ts # Member tool definitions
│ │ ├── member-tool-handlers.ts # Member tool handlers
│ │ ├── label-tools.ts # Label tool definitions
│ │ ├── label-tool-handlers.ts # Label tool handlers
│ │ ├── checklist-tools.ts # Checklist tool definitions
│ │ ├── checklist-tool-handlers.ts # Checklist tool handlers
│ │ ├── trello-tools.ts # Combined tool definitions
│ │ └── trello-tool-handlers.ts # Combined tool handlers
│ ├── types/ # TypeScript type definitions
│ │ └── trello-types.ts # Trello type definitions
│ ├── config.ts # Configuration management
│ └── index.ts # Main entry point
├── .env.example # Example environment variables
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # Project documentationはじめる
前提条件
Node.js 18以上
npmまたはyarn
Trello APIキーとトークン
インストール
このリポジトリをクローンします:
git clone https://github.com/yourusername/trello-mcp-server.git cd trello-mcp-server依存関係をインストールします:
npm install.env.exampleに基づいて.envファイルを作成します。cp .env.example .envTrello API キーとトークンを使用して
.envファイルを編集します。TRELLO_API_KEY=your_trello_api_key TRELLO_TOKEN=your_trello_tokenこれらはTrello 開発者ポータルから入手できます。
構築と実行
プロジェクトをビルドします。
npm run buildサーバーを実行します。
npm start
利用可能なツール
サーバーは、すべての主要な Trello リソースと対話するためのツールを提供します。
ボードツール
get_boards- 認証されたユーザーのすべてのボードを取得しますget_board- IDで特定のボードを取得するcreate_board- 新しいボードを作成するupdate_board- 既存のボードを更新するdelete_board- ボードを削除するget_board_lists- ボード上のすべてのリストを取得するget_board_members- ボードのメンバー全員を取得するget_board_labels- ボード上のすべてのラベルを取得するclose_board- ボードを閉じる(アーカイブする)reopen_board- 閉じたボードを再度開く
リストツール
get_list- IDで特定のリストを取得するcreate_list- ボードに新しいリストを作成するupdate_list- 既存のリストを更新するarchive_list- リストをアーカイブするunarchive_list- リストをアーカイブ解除するmove_list_to_board- リストを別のボードに移動するget_cards_in_list- リスト内のすべてのカードを取得するarchive_all_cards- リスト内のすべてのカードをアーカイブするmove_all_cards- リスト内のすべてのカードを別のリストに移動するupdate_list_position- ボード上のリストの位置を更新するupdate_list_name- リストの名前を更新するsubscribe_to_list- リストを購読する
カードツール
get_card- IDで特定のカードを取得するcreate_card- 新しいカードを作成するupdate_card- 既存のカードを更新するdelete_card- カードを削除するarchive_card- カードをアーカイブするunarchive_card- カードをアーカイブ解除するmove_card_to_list- カードを別のリストに移動するadd_comment- カードにコメントを追加するget_comments- カードのコメントを取得するadd_attachment- カードに添付ファイルを追加するget_attachments- カードの添付ファイルを取得するdelete_attachment- カードから添付ファイルを削除するadd_member- カードにメンバーを追加するremove_member- カードからメンバーを削除するadd_label- カードにラベルを追加するremove_label- カードからラベルを削除するset_due_date- カードの期限を設定するset_due_complete- カードの期限を完了または未完了としてマークする
メンバーツール
get_me- 認証されたメンバー(現在のユーザー)を取得するget_member- IDまたはユーザー名で特定のメンバーを取得するget_member_boards- メンバーが所属するボードを取得するget_member_cards- メンバーに割り当てられたカードを取得するget_boards_invited- メンバーが招待されたボードを取得するget_member_organizations- メンバーが所属する組織を取得するget_notifications- 認証されたメンバーの通知を取得するupdate_me- 認証されたメンバーの情報を更新するget_avatar- 認証されたメンバーのアバターを取得するsearch_members- 名前でメンバーを検索get_board_members- ボードのメンバーを取得するget_organization_members- 組織のメンバーを取得するget_card_members- カードに割り当てられたメンバーを取得する
ラベルツール
get_label- IDで特定のラベルを取得するcreate_label- ボードに新しいラベルを作成するupdate_label- 既存のラベルを更新するdelete_label- ラベルを削除するget_board_labels- ボード上のすべてのラベルを取得するupdate_label_name- ラベルの名前を更新するupdate_label_color- ラベルの色を更新するcreate_label_on_card- カードに直接新しいラベルを作成しますget_card_labels- カード上のすべてのラベルを取得するadd_label_to_card- カードにラベルを追加するremove_label_from_card- カードからラベルを削除する
チェックリストツール
get_checklist- IDで特定のチェックリストを取得するcreate_checklist- カードに新しいチェックリストを作成するupdate_checklist- 既存のチェックリストを更新するdelete_checklist- チェックリストを削除するget_checkitems- チェックリストのすべてのチェック項目を取得するcreate_checkitem- チェックリストに新しいチェック項目を作成するget_checkitem- チェックリスト上の特定のチェック項目を取得するupdate_checkitem- チェックリストのチェック項目を更新するdelete_checkitem- チェックリストからチェック項目を削除するupdate_checklist_name- チェックリストの名前を更新するupdate_checklist_position- カード上のチェックリストの位置を更新するget_checklist_board- チェックリストがあるボードを取得するget_checklist_card- チェックリストが載っているカードを取得するupdate_checkitem_state_on_card- カード上のチェックアイテムの状態を更新する
構成
サーバーはsrc/config.ts内の集中設定システムを使用します。設定は以下の方法で行うことができます。
環境変数
コマンドライン引数(
--env KEY=VALUEを使用)コード内のデフォルト値
必要な環境変数:
TRELLO_API_KEY- Trello APIキーTRELLO_TOKEN- Trello APIトークン
エラー処理
サーバーには包括的なエラー処理が含まれています。
レート制限をサポートするサービスレベルのエラー処理
適切なエラーメッセージによるツールレベルのエラー処理
MCPプロトコルエラー処理
Trello API エラー処理
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。