タイガ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パッケージマネージャー
基本的なインストール
# Clone the repository
git clone https://github.com/your-org/pyTaigaMCP.git
cd pyTaigaMCP
# Install dependencies
./install.sh開発インストール
開発用(テストおよびコード品質ツールを含む):
./install.sh --dev手動インストール
手動でインストールする場合:
# Production dependencies only
uv pip install -e .
# With development dependencies
uv pip install -e ".[dev]"構成
ブリッジは環境変数または.envファイルを通じて設定できます。
環境変数 | 説明 | デフォルト |
| Taiga API のベース URL | |
| セッションの有効期限(秒) | 28800(8時間) |
| トランスポートモード(stdio または sse) | 標準入出力 |
| APIリクエストのタイムアウト(秒) | 30 |
| HTTP接続の最大数 | 10 |
| 最大キープアライブ接続数 | 5 |
| 1分あたりの最大リクエスト数 | 100 |
| ログレベル | 情報 |
| ログファイルへのパス | taiga_mcp.log |
プロジェクト ルートに.envファイルを作成し、次の値を設定します。
TAIGA_API_URL=https://api.taiga.io/api/v1/
TAIGA_TRANSPORT=sse
LOG_LEVEL=DEBUG使用法
stdioモードの場合
次の json を Claude アプリまたはカーソルの mcp 設定セクションに貼り付けます。
{
"mcpServers": {
"taigaApi": {
"command": "uv",
"args": [
"--directory",
"<path to local pyTaigaMCP folder>",
"run",
"src/server.py"
],
"env": {
"TAIGA_TRANSPORT": "<stdio|sse>",
"TAIGA_API_URL": "<Taiga API Url (ex: http://localhost:9000)",
"TAIGA_USERNAME": "<taiga username>",
"TAIGA_PASSWORD": "<taiga password>"
}
}
}橋を走る
次のコマンドで MCP サーバーを起動します。
# Default stdio transport
./run.sh
# For SSE transport
./run.sh --sseまたは手動で:
# For stdio transport (default)
uv run python src/server.py
# For SSE transport
uv run python src/server.py --sse輸送モード
サーバーは 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})
例: 完全なプロジェクト作成ワークフロー
エピックとユーザー ストーリーを使用してプロジェクトを作成する完全な例を次に示します。
from mcp.client import Client
# Initialize MCP client
client = Client()
# Authenticate and get session ID
auth_result = client.call_tool("login", {
"username": "admin",
"password": "password123",
"host": "https://taiga.mycompany.com"
})
session_id = auth_result["session_id"]
# Create a new project
project = client.call_tool("create_project", {
"session_id": session_id,
"name": "My New Project",
"description": "A test project created via MCP"
})
project_id = project["id"]
# Create an epic
epic = client.call_tool("create_epic", {
"session_id": session_id,
"project_id": project_id,
"subject": "User Authentication",
"description": "Implement user authentication features"
})
epic_id = epic["id"]
# Create a user story in the epic
story = client.call_tool("create_user_story", {
"session_id": session_id,
"project_id": project_id,
"subject": "User Login",
"description": "As a user, I want to log in with my credentials",
"epic_id": epic_id
})
# Logout when done
client.call_tool("logout", {"session_id": session_id})発達
プロジェクト構造
pyTaigaMCP/
├── src/
│ ├── server.py # MCP server implementation with tools
│ ├── taiga_client.py # Taiga API client with all CRUD operations
│ ├── tools.py # MCP tools definitions
│ └── config.py # Configuration settings with Pydantic
├── tests/
│ ├── conftest.py # Shared pytest fixtures
│ ├── unit/ # Unit tests
│ └── integration/ # Integration tests
├── pyproject.toml # Project configuration and dependencies
├── install.sh # Installation script
├── run.sh # Server execution script
└── README.md # Project documentationテスト
pytest でテストを実行します。
# Run all tests
pytest
# Run only unit tests
pytest tests/unit/
# Run only integration tests
pytest tests/integration/
# Run tests with specific markers
pytest -m "auth" # Authentication tests
pytest -m "core" # Core functionality tests
# Run tests with coverage reporting
pytest --cov=srcデバッグと検査
デバッグには付属のインスペクタ ツールを使用します。
# Default stdio transport
./inspect.sh
# For SSE transport
./inspect.sh --sse
# For development mode
./inspect.sh --devエラー処理
すべての API 操作は、次の形式で標準化されたエラー応答を返します。
{
"status": "error",
"error_type": "ExceptionClassName",
"message": "Detailed error message"
}パフォーマンスに関する考慮事項
ブリッジはいくつかのパフォーマンス最適化を実装します。
接続プーリング: 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)
このプロジェクトの形成にご協力いただいたすべての貢献者
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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