タイガMCP橋
概要
Taiga MCP ブリッジは、 Taigaプロジェクト管理プラットフォームとモデル コンテキスト プロトコル (MCP) を接続する強力な統合レイヤーであり、AI ツールとワークフローが Taiga のリソースとシームレスに対話できるようにします。
このブリッジは、AI エージェントに次のことを行うための包括的なツールとリソースのセットを提供します。
Taiga でプロジェクト、エピック、ユーザーストーリー、タスク、問題を作成および管理します
スプリントとマイルストーンを追跡する
作業項目の割り当てと更新
プロジェクト成果物に関する詳細情報を照会する
プロジェクトメンバーと権限を管理する
このブリッジでは、MCP 標準を使用することで、AI システムがプロジェクトの状態に関するコンテキスト認識を維持し、複雑なプロジェクト管理タスクをプログラムで実行できるようになります。
Related MCP server: Targetprocess MCP Server
特徴
包括的なリソースサポート
ブリッジは、完全な CRUD 操作を備えた次の Taiga リソースをサポートします。
プロジェクト: プロジェクト設定とメタデータを作成、更新、管理します
エピック: 複数のスプリントにまたがる大規模な機能を管理します
ユーザーストーリー: 詳細な要件と受け入れ基準を処理する
タスク: ユーザーストーリー内の小さな作業単位を追跡する
問題: バグ、質問、機能強化のリクエストを管理する
スプリント(マイルストーン) :時間枠で区切られた間隔で作業を計画し、追跡します
インストール
このプロジェクトでは、高速で信頼性の高い Python パッケージ管理のためにuvを使用します。
前提条件
Python 3.10以上
UVパッケージマネージャー
基本的なインストール
開発インストール
開発用(テストおよびコード品質ツールを含む):
手動インストール
手動でインストールする場合:
構成
ブリッジは環境変数または.envファイルを通じて設定できます。
環境変数 | 説明 | デフォルト |
| Taiga API のベース URL | |
| セッションの有効期限(秒) | 28800(8時間) |
| トランスポートモード(stdio または sse) | 標準入出力 |
| APIリクエストのタイムアウト(秒) | 30 |
| HTTP接続の最大数 | 10 |
| 最大キープアライブ接続数 | 5 |
| 1分あたりの最大リクエスト数 | 100 |
| ログレベル | 情報 |
| ログファイルへのパス | taiga_mcp.log |
プロジェクト ルートに.envファイルを作成し、次の値を設定します。
使用法
stdioモードの場合
次の json を Claude アプリまたはカーソルの mcp 設定セクションに貼り付けます。
橋を走る
次のコマンドで MCP サーバーを起動します。
または手動で:
輸送モード
サーバーは 2 つのトランスポート モードをサポートしています。
stdio (標準入出力) - 端末ベースのクライアントのデフォルトモード
SSE (Server-Sent Events) - サーバープッシュ機能を備えたWebベースのトランスポート
トランスポート モードはいくつかの方法で設定できます。
run.sh または server.py で
--sseフラグを使用する (デフォルトは stdio)TAIGA_TRANSPORT環境変数の設定.envファイルにTAIGA_TRANSPORT=sseを追加する
認証フロー
この MCP ブリッジはセッションベースの認証モデルを使用します。
ログイン: クライアントはまず
loginツールを使用して認証する必要があります。session = client.call_tool("login", { "username": "your_taiga_username", "password": "your_taiga_password", "host": "https://api.taiga.io" # Optional }) # Save the session_id from the response session_id = session["session_id"]ツールとリソースの使用: すべての API 呼び出しに
session_idを含めます。# For resources, include session_id in the URI projects = client.get_resource(f"taiga://projects?session_id={session_id}") # For project-specific resources epics = client.get_resource(f"taiga://projects/123/epics?session_id={session_id}") # For tools, include session_id as a parameter new_project = client.call_tool("create_project", { "session_id": session_id, "name": "New Project", "description": "Description" })セッションステータスの確認: セッションがまだ有効かどうかを確認できます。
status = client.call_tool("session_status", {"session_id": session_id}) # Returns information about session validity and remaining timeログアウト: 終了したら、ログアウトしてセッションを終了できます。
client.call_tool("logout", {"session_id": session_id})
例: 完全なプロジェクト作成ワークフロー
エピックとユーザー ストーリーを使用してプロジェクトを作成する完全な例を次に示します。
発達
プロジェクト構造
テスト
pytest でテストを実行します。
デバッグと検査
デバッグには付属のインスペクタ ツールを使用します。
エラー処理
すべての API 操作は、次の形式で標準化されたエラー応答を返します。
パフォーマンスに関する考慮事項
ブリッジはいくつかのパフォーマンス最適化を実装します。
接続プーリング: HTTP接続を再利用してパフォーマンスを向上します
レート制限: Taiga API の過負荷を防止します
再試行メカニズム: 指数バックオフを使用して失敗したリクエストを自動的に再試行します
セッションクリーンアップ: 期限切れのセッションを定期的にクリーンアップしてリソースを解放します
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
リポジトリをフォークする
機能ブランチを作成します(
git checkout -b feature/amazing-feature)開発依存関係をインストールする (
./install.sh --dev)変更を加える
テストを実行する (
pytest)変更をコミットします (
git commit -m 'Add some amazing feature')ブランチにプッシュする (
git push origin feature/amazing-feature)プルリクエストを開く
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
謝辞
優れたプロジェクト管理プラットフォームを提供するTaiga
標準化された AI 通信フレームワークのモデル コンテキスト プロトコル (MCP)
このプロジェクトの形成にご協力いただいたすべての貢献者
Appeared in Searches
- Productivity Tools Like Google Calendar, Sunsama, TickTick, and Notion for Task Management
- Repositories for Task Management and Boomerang Functionality
- A tool or method to manage projects and tasks in GitHub Projects
- A platform or marketplace for APIs
- Resources to Improve AI Coding Ability in C++ and Rust