Trello MCP Server について
Trello MCP Server は、AI ホストから Trello のボード、リスト、カードを操作するための MCP サーバーです。Claude Desktop 連携と SSE サーバーとしての起動に対応し、Docker Compose でのデプロイも可能です。
主な機能
- 01ボード、リスト、カードの情報を読み取り
- 02リストの作成、名前変更、アーカイブ
- 03カードの作成、更新、削除
- 04カード内のチェックリストとチェック項目の管理
- 05Claude アプリモードと SSE モードの切り替え
- 06Docker Compose によるデプロイ
活用シーン
- 01Claude Desktop から Trello ボードの内容を確認
- 02Cursor などのクライアントからカードを管理
- 03自然言語で指定したリストにタスクカードを作成
MCP 対応
本プロジェクトは MCP サーバーとして動作し、Claude Desktop や Cursor などの MCP クライアントに Trello 関連の操作を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Trello MCP サーバー
AI ホストを通じて Trello のボード、リスト、カードを操作するための強力な MCP サーバーです。
目次
前提条件
- Python 3.12 以降。
uvで簡単に管理できます - Claude for Desktop がインストールされていること
- Trello アカウントと API 認証情報
- uv パッケージマネージャーがインストールされていること
インストール前の準備
- Claude Desktop アプリがインストールされていることを確認します
- Claude にアカウントでログイン済みであることを確認します。
- Claude を起動します
インストール
-
Trello API 認証情報を設定します。
- Trello Apps Administration にアクセスします
- New Power-Up or Integration で新しい連携を作成します
- 情報を入力し(Iframe connector URL は空欄のままでかまいません)、正しいワークスペースを選択していることを確認します
- アプリのアイコンをクリックし、左側のサイドバーから「API key」に移動します。
- 「API key」をコピーし、右側の「you can manually generate a Token.」にある token をクリックして Trello Token を取得します。
-
プロジェクトのルートにある
.env.exampleファイルの名前を.envに変更し、取得した変数を設定します。
TRELLO_API_KEY=your_api_key_here
TRELLO_TOKEN=your_token_here
- まだインストールしていない場合は、uv をインストールします。
curl -LsSf https://astral.sh/uv/install.sh | sh
- このリポジトリをクローンします。
git clone https://github.com/m0xai/trello-mcp-server.git
cd trello-mcp-server
- 依存関係をインストールし、uv を使用して Claude 用のサーバーを設定します::
uv run mcp install main.py
- Claude Desktop アプリを再起動します
サーバーモード
この MCP サーバーは、2 つの異なるモードで実行できます。
Claude アプリモード
このモードでは、Claude Desktop アプリケーションと直接連携します。
.envファイルでUSE_CLAUDE_APP=trueを設定します(これがデフォルトです)- 次のコマンドでサーバーを実行します。
uv run mcp install main.py
- Claude Desktop アプリケーションを再起動します
SSE サーバーモード
このモードでは、Cursor を含む、MCP 対応の任意のクライアントで使用できるスタンドアロンの SSE サーバーとして実行します。
.envファイルでUSE_CLAUDE_APP=falseを設定します- 次のコマンドでサーバーを実行します。
python main.py
- サーバーはデフォルトで
http://localhost:8000(または設定したポート)で利用できます
Docker モード
Docker Compose を使用してサーバーを実行することもできます。
- Docker と Docker Compose がインストールされていることを確認します
- 設定を含む
.envファイルを作成します - コンテナをビルドして起動します。
docker-compose up -d
- サーバーはデフォルトで SSE モードで実行されます
- ログを表示するには、次のコマンドを実行します。
docker-compose logs -f
- サーバーを停止するには、次のコマンドを実行します。
docker-compose down
設定
サーバーは、.env ファイル内の環境変数を使用して設定できます。
| 変数 | 説明 | デフォルト |
|---|---|---|
| TRELLO_API_KEY | Trello API キー | 必須 |
| TRELLO_TOKEN | Trello API トークン | 必須 |
| MCP_SERVER_NAME | MCP サーバーの名前 | Trello MCP Server |
| MCP_SERVER_HOST | SSE モードのホストアドレス | 0.0.0.0 |
| MCP_SERVER_PORT | SSE モードのポート | 8000 |
| USE_CLAUDE_APP | Claude アプリモードを使用するかどうか | true |
.env ファイルの値を編集して、サーバーをカスタマイズできます。
クライアントとの統合
Claude Desktop での使用
- Claude アプリモード(
USE_CLAUDE_APP=true)でサーバーを実行します - Claude Desktop を起動または再起動します
- Claude が MCP サーバーを自動的に検出して接続します
Cursor での使用
MCP サーバーを Cursor に接続するには、次の手順を実行します。
- サーバーを SSE モード(
USE_CLAUDE_APP=false)で実行します - Cursor で、設定(歯車アイコン)> AI > Model Context Protocol に移動します
- URL
http://localhost:8000(または設定したホスト/ポート)を指定して、新しいサーバーを追加します - Cursor の AI 機能を使用する際に、サーバーを選択します
この設定は、Cursor の設定 JSON ファイル(通常は ~/.cursor/mcp.json)に追加することもできます。
{
"mcpServers": {
"trello": {
"url": "http://localhost:8000/sse"
}
}
}
その他の MCP クライアントでの使用
その他の MCP 互換クライアントでは、SSE エンドポイント http://localhost:8000 を指定してください。
最小限のクライアントの例
SSE エンドポイントに接続するための、最小限の Python の例を以下に示します。
import asyncio
import httpx
async def connect_to_mcp_server():
url = "http://localhost:8000/sse"
headers = {"Accept": "text/event-stream"}
async with httpx.AsyncClient() as client:
async with client.stream("GET", url, headers=headers) as response:
# Get the session ID from the first SSE message
session_id = None
async for line in response.aiter_lines():
if line.startswith("data:"):
data = line[5:].strip()
if "session_id=" in data and not session_id:
session_id = data.split("session_id=")[1]
# Send a message using the session ID
message_url = f"http://localhost:8000/messages/?session_id={session_id}"
message = {
"role": "user",
"content": {
"type": "text",
"text": "Show me my Trello boards"
}
}
await client.post(message_url, json=message)
if __name__ == "__main__":
asyncio.run(connect_to_mcp_server())
機能
| 操作 | ボード | リスト | カード | チェックリスト | チェックリスト項目 |
|---|---|---|---|---|---|
| 読み取り | ✅ | ✅ | ✅ | ✅ | ✅ |
| 書き込み | ❌ | ✅ | ✅ | ✅ | ✅ |
| 更新 | ❌ | ✅ | ✅ | ✅ | ✅ |
| 削除 | ❌ | ✅ | ✅ | ✅ | ✅ |
詳細な機能
ボードの操作
- ✅ すべてのボードを読み取る
- ✅ 特定のボードの詳細を読み取る
リストの操作
- ✅ ボード内のすべてのリストを読み取る
- ✅ 特定のリストの詳細を読み取る
- ✅ 新しいリストを作成する
- ✅ リスト名を更新する
- ✅ リストをアーカイブ(削除)する
カードの操作
- ✅ リスト内のすべてのカードを読み取る
- ✅ 特定のカードの詳細を読み取る
- ✅ 新しいカードを作成する
- ✅ カードの属性を更新する
- ✅ カードを削除する
チェックリストの操作
- ✅ 特定のチェックリストを取得する
- ✅ カード内のすべてのチェックリストを一覧表示する
- ✅ 新しいチェックリストを作成する
- ✅ チェックリストを更新する
- ✅ チェックリストを削除する
- ✅ チェックリストにチェック項目を追加する
- ✅ チェック項目を更新する
- ✅ チェック項目を削除する
使用方法
インストール後、Claude を通じて Trello のボードを操作できます。クエリの例を以下に示します。
- 「すべてのボードを表示して」
- 「ボード [board_name] にはどんなリストがある?」
- 「リスト [list_name] にタイトル [title] の新しいカードを作成して」
- 「カード [card_name] の説明を更新して」
- 「リスト [list_name] をアーカイブして」
使用例を以下に示します。
トラブルシューティング
問題が発生した場合は、次の点を確認してください。
.envファイルの Trello API 認証情報を確認します- Trello ワークスペースで適切な権限があることを確認します
- Claude for Desktop が最新バージョンで実行されていることを確認します
uv run mcp dev main.pyコマンドでログを確認し、エラーメッセージがないか調べます。- uv が正しくインストールされ、PATH に含まれていることを確認します
コントリビューション
問題や機能改善のリクエストは、お気軽に送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。