mcpField
K
Kanboard Mcp Server

Kanboard Mcp Server

ローカル
github.com/bivex生産性2820 週間前に更新

Kanboard Mcp Server について

Kanboard MCP Server は Go で実装された MCP サーバーで、Kanboard プロジェクト管理システムを Claude Desktop や Cursor などの AI アシスタントに接続します。プロジェクト、タスク、ユーザー、コメント、ファイルを自然言語で管理できます。Kanboard のボードでタスクを管理するチームを対象とし、README では問題回避のため mcpproxy の併用を推奨しています。

主な機能

  1. 01プロジェクト、列、スイムレーンの管理
  2. 02タスクの作成・更新・移動・クローズ
  3. 03コメント、カテゴリ、期限の管理
  4. 04API キーとユーザー名・パスワードによる認証
  5. 05RBAC による権限管理

活用シーン

  1. 01チャットでタスクを作成してメンバーに割り当て
  2. 02期限切れタスクとボードの状況を照会
  3. 03Cursor から Kanboard のコンテンツを管理

MCP 対応

プロジェクト、タスク、コメント、列、スイムレーン、ボードに関するツールを MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🚀 Kanboard MCP サーバー

Kanboard 統合のための Model Context Protocol (MCP) サーバー

AI アシスタント(Claude Desktop、Cursor など)と Kanboard プロジェクト管理システムをシームレスに統合する、Go ベースの強力な MCP サーバーです。自然言語コマンドを通じて、Kanboard のプロジェクト、タスク、ユーザー、ワークフローを直接管理できます。

Kanboard MCP Server Demo

Go License MCP

⚠️ 警告: 次のような問題を避けるため:

Proxy error example 1 Proxy error example 2

プロキシソリューションとして mcpproxy の使用を推奨します。

📋 目次

✨ 機能

  • 🔗 シームレスな Kanboard 統合 - Kanboard との直接的な API 通信
  • 🤖 自然言語処理 - 平易な英語でプロジェクトを管理
  • 📊 完全なプロジェクト管理 - プロジェクト、タスク、ユーザー、カラムなどを処理
  • 🔐 安全な認証 - API キーとユーザー名/パスワードの両方の認証をサポート
  • ⚡ 高いパフォーマンス - 最適なパフォーマンスを実現するために Go で構築
  • 🎯 MCP 標準 - すべての MCP クライアントと互換性あり

🚀 クイックスタート

前提条件
  • Go 1.21 以上
  • API アクセスが有効な Kanboard インスタンス
  • MCP 互換クライアント(Cursor、Claude Desktop など)
インストール
  1. リポジトリをクローンします:

    git clone https://github.com/bivex/kanboard-mcp.git
    cd kanboard-mcp
    
  2. 実行ファイルをビルドします:

    Windows の場合:

    build-release.bat
    

    Linux/macOS の場合:

    ./build-release.sh
    

    手動ビルド:

    go build -ldflags="-s -w" -o kanboard-mcp .
    

⚙️ 設定

1. 環境変数

環境変数を使用して、Kanboard の認証情報と RBAC 権限を設定します:

必須の認証情報:
export KANBOARD_API_ENDPOINT="https://your-kanboard-url/jsonrpc.php"
export KANBOARD_API_KEY="your-kanboard-api-key"
export KANBOARD_USERNAME="your-kanboard-username"
export KANBOARD_PASSWORD="your-kanboard-password"
RBAC 設定(任意):

適切なアクセス制御のためにユーザーロールを設定します。設定されていない場合、システムは Kanboard API からロールを取得しようとし、取得できない場合は app-user ロールにフォールバックします。

# Application-level roles (comma-separated)
# If not set, roles are automatically retrieved from Kanboard API
export KANBOARD_USER_APP_ROLES="app-manager"

# Project-specific roles (format: "project_id:role,project_id:role")
# If not set, project roles are automatically retrieved from Kanboard API
export KANBOARD_USER_PROJECT_ROLES="1:project-manager,2:project-member"

# Debug mode - shows detailed permission checking logs
export KANBOARD_DEBUG="true"

# Skip RBAC checks for debugging (use with caution!)
export KANBOARD_SKIP_RBAC="false"

利用可能なアプリケーションロール:

  • app-admin - システム管理者の完全なアクセス権
  • app-manager - プロジェクトの作成とユーザー管理が可能
  • app-user - 基本的なユーザーアクセス(デフォルト)

利用可能なプロジェクトロール:

  • project-manager - プロジェクト管理の完全なアクセス権
  • project-member - タスクとコメントの作成/変更が可能
  • project-viewer - プロジェクトへの読み取り専用アクセス

🔐 認証方法:

Kanboard は KANBOARD_AUTH_METHOD を介してさまざまな認証方法をサポートしています:

  • global_token(デフォルト): jsonrpc:<token> 形式のグローバル API トークンを使用します

    export KANBOARD_API_KEY="5348e6b4846fe09fd1670e922bc13e086f0827d7a66e45815cd7c3a7f67b"
    export KANBOARD_AUTH_METHOD="global_token"  # or omit (default)
    
  • user_token: <username>:<token> 形式のユーザー固有の API トークンを使用します

    export KANBOARD_USERNAME="admin"
    export KANBOARD_API_KEY="81820aeb3454985b0ac12166225f1f072f523175a752541c8670cf44a032d"
    export KANBOARD_AUTH_METHOD="user_token"
    
  • bearer: Bearer トークン認証を使用します

    export KANBOARD_API_KEY="your-token-here"
    export KANBOARD_AUTH_METHOD="bearer"
    

🔧 RBAC の問題のトラブルシューティング:

「access denied」エラーが発生する場合:

  1. Kanboard でのユーザーロールを確認します:

    • Kanboard の Web インターフェースにアクセスします
    • ユーザープロフィール/ロール設定を確認します
    • 適切な権限があることを確認します
  2. デバッグログを有効にします:

    export KANBOARD_DEBUG="true"
    

    これにより、現在のロールと権限チェックがコンソールに表示されます。

  3. テストのために一時的に RBAC をスキップします:

    export KANBOARD_SKIP_RBAC="true"
    

    ⚠️ 警告: デバッグのみに使用してください!すべての権限チェックが無効になります。

  4. 環境変数で手動でロールを設定します:

    export KANBOARD_USER_APP_ROLES="app-admin"
    export KANBOARD_USER_PROJECT_ROLES="27:project-manager"
    
2. MCP クライアントの設定

使用するクライアント用の MCP 設定ファイルを作成します:

場所:

  • Windows: C:\Users\YOUR_USERNAME\AppData\Roaming\Cursor\.cursor\mcp_config.json
  • Linux/macOS: ~/.cursor/mcp_config.json

設定:

{
  "mcpServers": {
    "kanboard-mcp-server": {
      "command": "/path/to/your/kanboard-mcp",
      "args": [],
      "env": {
        "KANBOARD_API_ENDPOINT": "https://your-kanboard-url/jsonrpc.php",
        "KANBOARD_API_KEY": "your-kanboard-api-key",
        "KANBOARD_USERNAME": "your-kanboard-username",
        "KANBOARD_PASSWORD": "your-kanboard-password",
        "KANBOARD_USER_APP_ROLES": "app-manager",
        "KANBOARD_USER_PROJECT_ROLES": "1:project-manager"
      }
    }
  }
}
3. クライアントを再起動する

設定を保存した後、変更を反映するために MCP クライアント(Cursor、Claude Desktop など)を再起動してください。

🛠️ 利用可能なツール

📁 プロジェクト管理
ツール説明例
get_projects📋 すべてのプロジェクトを一覧表示する「すべての Kanboard プロジェクトを表示して」
create_project➕ 新しいプロジェクトを作成する「説明『Redesign the company website』、オーナー 1 で『Website Redesign』というプロジェクトを作成して」
get_project_by_id🔍 ID でプロジェクト情報を取得する「ID 123 のプロジェクト詳細を取得して」
get_project_by_name🔍 名前でプロジェクト情報を取得する「名前『My Project』のプロジェクト詳細を取得して」
get_project_by_identifier🔍 識別子でプロジェクト情報を取得する「識別子『WEB-APP』のプロジェクト詳細を取得して」
get_project_by_email🔍 メールでプロジェクト情報を取得する「メール『[email protected]』のプロジェクト詳細を取得して」
get_all_projects📋 利用可能なすべてのプロジェクトを取得する「利用可能なすべてのプロジェクトを表示して」
update_project✏️ プロジェクトを更新する「プロジェクト 1 を新しい名前『New Website』、説明『Updated description』で更新して」
remove_project🗑️ プロジェクトを削除する「ID 456 のプロジェクトを削除して」
enable_project✅ プロジェクトを有効化する「プロジェクト 123 を有効化して」
disable_project🚫 プロジェクトを無効化する「プロジェクト 123 を無効化して」
enable_project_public_access🌐 指定したプロジェクトのパブリックアクセスを有効化する「プロジェクト 123 のパブリックアクセスを有効化して」
disable_project_public_access🔒 指定したプロジェクトのパブリックアクセスを無効化する「プロジェクト 123 のパブリックアクセスを無効化して」
get_project_activity📢 プロジェクトのアクティビティストリームを取得する「プロジェクト 123 のアクティビティを表示して」
get_project_activities📊 プロジェクトのアクティビティフィードを取得する「プロジェクト 1、2、3 のアクティビティを取得して」
📝 タスク管理
ツール説明例
get_tasks📋 プロジェクトのタスクを取得する「『Website Redesign』プロジェクトのタスクを取得して」
create_task➕ 新しいタスクを作成する「『Website Redesign』にタスク『Design homepage』を作成して」
update_task✏️ 既存のタスクを変更する「タスク 123 を説明『New requirements』で更新して」
delete_task🗑️ タスクを削除する「ID 456 のタスクを削除して」
get_task🔍 一意の ID でタスクを取得する「タスク 789 の詳細を取得して」
get_task_by_reference🔍 外部参照でタスクを取得する「参照『TICKET-1234』のプロジェクト 1 のタスクを取得して」
get_all_tasks📋 利用可能なすべてのタスクを取得する「プロジェクト 1 のすべてのアクティブなタスクを取得して」
get_overdue_tasks⏰ すべての期限超過タスクを取得する「すべての期限超過タスクを表示して」
get_overdue_tasks_by_project⏰ 特定のプロジェクトのすべての期限超過タスクを取得する「プロジェクト 1 の期限超過タスクを表示して」
open_task✅ タスクのステータスをオープンに設定する「タスク 123 をオープンして」
close_task❌ タスクのステータスをクローズに設定する「タスク 123 をクローズして」
move_task_position➡️ 同じボード内の別のカラム、位置、スイムレーンにタスクを移動する「プロジェクト 1 のタスク 123 をカラム 2、位置 1、スイムレーン 1 に移動して」
move_task_to_project➡️ タスクを別のプロジェクトに移動する「タスク 123 をプロジェクト 456 に移動して」
duplicate_task_to_project📋 タスクを別のプロジェクトに複製する「タスク 123 をプロジェクト 456 に複製して」
search_tasks🔍 検索エンジンを使用してタスクを検索する「プロジェクト 2 のタスクをクエリ『assignee:nobody』で検索して」
assign_task👤 タスクをユーザーに割り当てる「API タスクを John に割り当てて」
set_task_due_date📅 タスクの期限を設定する「ログインタスクの期限を 2024-01-15 に設定して」
💬 コメント管理
ツール説明例
create_comment➕ 新しいコメントを作成します「ユーザー 1 がタスク 123 にコメント『Meeting notes』を作成し、app-managers に公開する」
get_task_comments📋 タスクのコメントを取得します「タスク 123 のすべてのコメントを表示する」
get_comment🔍 コメント情報を取得します「コメント 789 の詳細を取得する」
update_comment✏️ コメントを更新します「コメント 456 の内容を『Revised notes』に更新する」
remove_comment🗑️ コメントを削除します「ID 101 のコメントを削除する」
🏗️ カラム管理
ツール説明例
get_columns📋 プロジェクトのカラムを一覧表示します「プロジェクト 123 のすべてのカラムを表示して」
get_column🔍 単一のカラムを取得します「カラム 456 の詳細を取得する」
create_column➕ 新しいカラムを追加します「プロジェクト 123 にタスク上限 5 件、説明『For UAT testing』の『Testing』カラムを作成する」
update_column✏️ カラム設定を変更します「カラム 123 のタイトルを『Review』に、上限を 3 タスクに変更し、説明を『Needs final review』にする」
change_column_position🔄 カラムの位置を変更します「カラム 123 をプロジェクト 456 の位置 3 に移動する」
delete_column🗑️ カラムを削除します「未使用の『Draft』カラムを削除する」
🏷️ カテゴリ管理
ツール説明例
get_categories📋 プロジェクトのカテゴリを一覧表示します「プロジェクト 123 のすべてのタスクカテゴリを表示して」
get_category🔍 カテゴリ情報を取得します「カテゴリ 456 の詳細を取得する」
create_category➕ タスクカテゴリを追加します「プロジェクト 123 に色『red』の『Bug Fixes』カテゴリを作成する」
update_category✏️ カテゴリを変更します「カテゴリ 123 の名前を『Critical Issues』に変更し、色を『blue』に設定する」
delete_category🗑️ カテゴリを削除します「未使用の『Archive』カテゴリを削除する」
🏊 スイムレーン管理
ツール説明例
get_swimlanes📋 プロジェクトのすべてのスイムレーン(有効または無効)を位置順に一覧表示します「プロジェクト 1 のすべてのスイムレーンを表示して」
get_active_swimlanes📋 プロジェクトの有効なスイムレーンの一覧を取得します(有効な場合はデフォルトスイムレーンを含む)「プロジェクト 1 の有効なスイムレーンを取得する」
get_swimlane🔍 ID でスイムレーンを取得します「ID 1 のスイムレーンの詳細を取得する」
get_swimlane_by_id🔍 ID でスイムレーンを取得します「ID 1 のスイムレーンの詳細を取得する」
get_swimlane_by_name🔍 名前でスイムレーンを取得します「プロジェクト 1 の名前『Swimlane 1』のスイムレーンの詳細を取得する」
change_swimlane_position🔄 スイムレーンの位置を移動します(有効なスイムレーンのみ)「プロジェクト 1 でスイムレーン 2 の位置を 3 に変更する」
create_swimlane➕ 新しいスイムレーンを追加します「プロジェクト 1 にスイムレーン『Frontend Team』を作成する」
update_swimlane✏️ スイムレーンのプロパティを更新します「プロジェクト 1 のスイムレーン 1 を新しい名前『Cross-Platform Team』に更新する」
remove_swimlane🗑️ スイムレーンを削除します「プロジェクト 2 からスイムレーン 1 を削除する」
disable_swimlane🚫 スイムレーンを無効化します「プロジェクト 2 のスイムレーン 1 を無効化する」
enable_swimlane✅ スイムレーンを有効化します「プロジェクト 2 のスイムレーン 1 を有効化する」
📋 ボード管理
ツール説明例
get_board📋 ボードを表示するために必要なすべての情報を取得します「プロジェクト 123 のボードを表示して」
🧑‍💻 現在のユーザー管理
ツール説明例
get_me👤 ログイン中のユーザーセッションを取得します「自分のユーザーセッション情報を取得して」
get_my_dashboard📊 ログイン中のユーザーのダッシュボードを取得します「自分のダッシュボードを表示して」
get_my_activity_stream📢 ログイン中のユーザーの直近 100 件のイベントを取得します「自分の最近のアクティビティを表示して」
create_my_private_project➕ ログイン中のユーザーのプライベートプロジェクトを作成します「説明『個人タスク用』で『My Secret Project』という名前のプライベートプロジェクトを作成して」
get_my_projects_list📋 接続中のユーザーのプロジェクトを取得します「自分が関わっているすべてのプロジェクトを一覧表示して」
get_my_overdue_tasks⏰ 自分の期限切れタスクを取得します「期限切れの自分のタスクをすべて表示して」
get_my_projects📝 接続中のユーザーのプロジェクトを詳細情報付きで取得します「自分のすべてのプロジェクトの詳細情報を取得して」
🔗 外部タスクリンク管理
ツール説明例
get_external_task_link_types📋 登録済みの外部リンクプロバイダーをすべて取得します「すべての外部リンクタイプを表示して」
get_ext_link_provider_deps⛓️ 指定したプロバイダーで利用可能な依存関係を取得します「『weblink』プロバイダーの依存関係を取得して」
create_external_task_link➕ 新しい外部リンクを作成します「タスク 123 に対して、依存関係『related』、タイプ『attachment』で『http://example.com/doc.pdf』への外部リンクを作成して」
update_external_task_link✏️ 外部タスクリンクを更新します「タスク 789 の外部リンク 456 を、新しいタイトル『Updated Document』と URL『http://new.example.com/doc.pdf』で更新して」
get_external_task_link_by_id🔍 ID で外部タスクリンクを取得します「タスク 789 の外部リンク 456 を取得して」
get_all_external_task_links📋 タスクに添付されたすべての外部リンクを取得します「タスク 123 のすべての外部リンクを表示して」
remove_external_task_link🗑️ 外部リンクを削除します「タスク 789 から外部リンク 456 を削除して」
🔗 内部タスクリンク管理
ツール説明例
create_task_link➕ 2 つのタスク間のリンクを作成します「リンクタイプ 1 でタスク 123 とタスク 456 の間にリンクを作成して」
update_task_link✏️ タスクリンクを更新します「タスク 123 とタスク 456 の間のタスクリンク 789 を、新しいリンクタイプ 2 で更新して」
get_task_link_by_id🔍 ID でタスクリンクを取得します「タスクリンク 101 の詳細を取得して」
get_all_task_links📋 タスクに関連するすべてのリンクを取得します「タスク 123 のすべてのリンクを表示して」
remove_task_link🗑️ 2 つのタスク間のリンクを削除します「タスクリンク 101 を削除して」
🔗 リンク管理
ツール説明例
get_all_links📋 タスク間で可能な関係の一覧を取得します「可能なタスク関係をすべて表示して」
get_opposite_link_id🔍 タスクリンクの反対側のリンク ID を取得します「リンク 2 の反対側のリンク ID を取得して」
get_link_by_label🔍 ラベルでリンクを取得します「ラベル『blocks』のリンクの詳細を取得して」
get_link_by_id🔍 ID でリンクを取得します「ID 4 のリンクの詳細を取得して」
create_link➕ 新しいタスク関係を作成します「反対側のラベル『bar』を持つリンク『foo』を作成して」
update_link✏️ リンクを更新します「リンク 14 を、反対側のリンク 12 とラベル『boo』で更新して」
remove_link🗑️ リンクを削除します「ID 14 のリンクを削除して」
📂 プロジェクトファイル管理
ツール説明例
create_project_file➕ 新しいプロジェクト添付ファイルを作成してアップロードします「プロジェクト 1 に base64 コンテンツ 'Zm9vYmFy' でファイル 'My Document.pdf' を作成して」
get_all_project_files📋 プロジェクトに添付されたすべてのファイルを取得します「プロジェクト 123 のすべてのファイルを表示して」
get_project_file🔍 ファイル情報を取得します「プロジェクト 123 のファイル 456 の詳細を取得して」
download_project_file📥 プロジェクトファイルの内容をダウンロードします(base64 でエンコード)「プロジェクト 123 からファイル 456 をダウンロードして」
remove_project_file🗑️ プロジェクトに関連付けられたファイルを削除します「プロジェクト 123 からファイル 456 を削除して」
remove_all_project_files🗑️ プロジェクトに関連付けられたすべてのファイルを削除します「プロジェクト 123 からすべてのファイルを削除して」
📝 プロジェクトメタデータ管理
ツール説明例
get_project_metadata📋 プロジェクトのメタデータを取得します「プロジェクト 123 のすべてのメタデータを取得して」
get_project_metadata_by_name🔍 単一のメタデータ値を取得します「プロジェクト 123 のメタデータ 'my_key' を取得して」
save_project_metadata💾 メタデータを追加または更新します「プロジェクト 123 にメタデータ 'key1:value1, key2:value2' を保存して」
remove_project_metadata🗑️ プロジェクトのメタデータを削除します「プロジェクト 123 からメタデータ 'my_key' を削除して」
🔐 プロジェクト権限管理
ツール説明例
get_project_users📋 プロジェクトのすべてのメンバーを取得します「プロジェクト 123 のすべてのユーザーを表示して」
get_assignable_users👥 プロジェクトのタスクに割り当て可能なユーザーを取得します(閲覧者を除くすべてのメンバー)「プロジェクト 123 の割り当て可能なユーザーを取得して」
add_project_user➕ ユーザーにプロジェクトへのアクセス権を付与します「プロジェクト 123 にロール 'project-member' でユーザー 1 を追加して」
add_project_group➕ グループにプロジェクトへのアクセス権を付与します「プロジェクト 123 にロール 'project-viewer' でグループ 456 を追加して」
remove_project_user🗑️ ユーザーのプロジェクトへのアクセス権を取り消します「プロジェクト 123 からユーザー 1 を削除して」
remove_project_group🗑️ グループのプロジェクトへのアクセス権を取り消します「プロジェクト 123 からグループ 456 を削除して」
change_project_user_role✏️ プロジェクトにおけるユーザーのロールを変更します「プロジェクト 123 のユーザー 1 のロールを 'project-manager' に変更して」
change_project_group_role✏️ プロジェクトにおけるグループのロールを変更します「プロジェクト 123 のグループ 456 のロールを 'project-manager' に変更して」
get_project_user_role🔍 指定されたプロジェクトにおけるユーザーのロールを取得します「プロジェクト 123 のユーザー 1 のロールを取得して」
📝 サブタスク管理
ツール説明例
create_subtask➕ 新しいサブタスクを作成します「タスク 123 にユーザー 1 を割り当ててサブタスク 'Review designs' を作成して」
get_subtask🔍 サブタスク情報を取得します「サブタスク 456 の詳細を取得して」
get_all_subtasks📋 タスクで利用可能なすべてのサブタスクを取得します「タスク 123 のすべてのサブタスクを表示して」
update_subtask✏️ サブタスクを更新します「タスク 123 のサブタスク 456 をステータス 2(完了)に更新して」
remove_subtask🗑️ サブタスクを削除します「ID 456 のサブタスクを削除して」
⏰ サブタスクの時間管理
ツール説明例
has_subtask_timer⏱️ 指定されたサブタスクとユーザーに対してタイマーが開始されているかを確認します「ユーザー 4 によるサブタスク 123 のタイマーがアクティブか確認して」
set_subtask_start_time▶️ ユーザーのサブタスクタイマーを開始します「ユーザー 4 によるサブタスク 123 のタイマーを開始して」
set_subtask_end_time⏹️ ユーザーのサブタスクタイマーを停止します「ユーザー 4 によるサブタスク 123 のタイマーを停止して」
get_subtask_time_spent📊 ユーザーのサブタスクに費やされた時間を取得します「ユーザー 4 によるサブタスク 123 に費やされた時間を取得して」
🏷️ タグ管理
ツール説明例
get_all_tags📋 すべてのタグを取得します「利用可能なすべてのタグを表示して」
get_tags_by_project📋 指定したプロジェクトのすべてのタグを取得します「プロジェクト 123 のタグを表示して」
create_tag➕ 新しいタグを作成します「プロジェクト 123 に色 1 でタグ 'backend' を作成して」
update_tag✏️ タグの名前を変更します「タグ 456 を 'frontend' に名前変更し、色を 2 に設定して」
remove_tag🗑️ タグを削除します「ID 456 のタグを削除して」
set_task_tags🏷️ タスクのタグを割り当て/作成/更新します「プロジェクト 456 のタスク 123 にタグ 'urgent'、'bug' を設定して」
get_task_tags🔍 タスクに割り当てられたタグを取得します「タスク 123 に割り当てられたタグを取得して」
📂 タスクファイル管理
ツール説明例
create_task_file➕ 新しいタスク添付ファイルを作成してアップロードします「プロジェクト 1、タスク 2 に base64 コンテンツ 'Zm9vYmFy' でファイル 'meeting_notes.txt' を作成して」
get_all_task_files📋 タスクに添付されたすべてのファイルを取得します「タスク 123 のすべてのファイルを表示して」
get_task_file🔍 ファイル情報を取得します「ファイル 456 の詳細を取得して」
download_task_file📥 ファイルの内容をダウンロードします (base64 でエンコード)「ファイル 456 をダウンロードして」
remove_task_file🗑️ ファイルを削除します「ID 456 のファイルを削除して」
remove_all_task_files🗑️ タスクに関連付けられたすべてのファイルを削除します「タスク 123 からすべてのファイルを削除して」
📝 タスクメタデータ管理
ツール説明例
get_task_metadata📋 タスクの一意の ID でタスクに関連するすべてのメタデータを取得します「タスク 1 のすべてのメタデータを取得して」
get_task_metadata_by_name🔍 タスクの一意の ID とメタキー (名前) でタスクに関連するメタデータを取得します「タスク 1 のメタデータ 'metaKey1' を取得して」
save_task_metadata💾 タスクメタデータを保存/更新します「タスク 1 にメタデータ 'metaName:metaValue' を保存して」
remove_task_metadata🗑️ 名前でタスクメタデータを削除します「タスク 1 からメタデータ 'metaKey1' を削除して」
⚙️ アプリケーション管理
ツール説明例
get_version📋 アプリケーションのバージョンを取得します「Kanboard のバージョンは何ですか?」
get_timezone🌐 接続ユーザーのタイムゾーンを取得します「私の現在のタイムゾーンは何ですか?」
get_default_task_colors🌈 すべてのデフォルトのタスク色を取得します「すべてのデフォルトのタスク色を見せて」
get_default_task_color🎨 デフォルトのタスク色を取得します「デフォルトのタスク色は何ですか?」
get_color_list📋 タスク色のリストを取得します「利用可能なすべてのタスク色を一覧表示して」
get_application_roles👥 アプリケーションのロールを取得します「すべてのアプリケーションロールを一覧表示して」
get_project_roles👥 プロジェクトのロールを取得します「すべてのプロジェクトロールを一覧表示して」
🤖 自動アクション管理
ツール説明例
get_available_actions📋 利用可能な自動アクションのリストを取得します「利用可能な自動アクションを表示して」
get_available_action_events📋 アクションで利用可能なイベントのリストを取得します「利用可能なアクションイベントを表示して」
get_compatible_action_events🔍 アクションと互換性のあるイベントのリストを取得します「アクション 'TaskClose' と互換性のあるイベントを取得して」
get_actions📋 プロジェクトのアクションのリストを取得します「プロジェクト 123 のアクションを取得して」
create_action➕ アクションを作成します「プロジェクト 1 に、イベント 'task.move.column'、アクション '\Kanboard\Action\TaskClose'、パラメータ 'column_id:3' でアクションを作成して」
remove_action🗑️ アクションを削除します「ID 456 のアクションを削除して」
👥 グループ管理
ツール説明例
create_group➕ 新しいグループを作成します「外部 ID 'dev_001' で 'Development Team' という名前のグループを作成して」
update_group✏️ グループを更新します「グループ 123 の名前を 'QA Team' に変更し、外部 ID を 'qa_001' に変更して」
remove_group🗑️ グループを削除します「ID 456 のグループを削除して」
get_group🔍 1 つのグループを取得します「グループ 789 の詳細を取得して」
get_all_groups📋 すべてのグループを取得します「すべてのユーザーグループを表示して」
👥 グループメンバー管理
ツール説明例
get_member_groups📋 指定したユーザーのすべてのグループを取得します「ユーザー 1 のすべてのグループを表示して」
get_group_members👥 グループのすべてのメンバーを取得します「グループ 123 のすべてのメンバーを一覧表示して」
add_group_member➕ グループにユーザーを追加します「ユーザー 456 をグループ 789 に追加して」
remove_group_member🗑️ グループからユーザーを削除します「ユーザー 456 をグループ 789 から削除して」
is_group_member❓ ユーザーがグループのメンバーかどうかを確認します「ユーザー 456 はグループ 789 のメンバーですか?」
👥 ユーザー管理
ツール説明例
get_users📋 すべてのシステムユーザーを一覧表示します「すべてのユーザーを表示して」
create_user➕ 新しいユーザーを作成します「パスワード '123456' でユーザー 'john' を作成して」
create_ldap_user➕ LDAP で認証される新しいユーザーを作成します「LDAP ユーザー 'jane' を作成して」
get_user🔍 ID でユーザー情報を取得します「ID 123 のユーザー詳細を取得して」
get_user_by_name🔍 ユーザー名でユーザー情報を取得します「'john' のユーザー詳細を取得して」
update_user✏️ ユーザーを更新します「ユーザー 123 を役割 'app-manager' で更新して」
remove_user🗑️ ユーザーを削除します「ID 456 のユーザーを削除して」
disable_user❌ ユーザーを無効化します「ユーザー 123 を無効化して」
enable_user✅ ユーザーを有効化します「ユーザー 123 を有効化して」
is_active_user🔍 ユーザーがアクティブかどうかを確認します「ユーザー 123 がアクティブかどうかを確認して」
assign_user_to_project👤 特定の役割でユーザーをプロジェクトに割り当てます「ユーザー 1 を役割 'project-member' でプロジェクト 'Website' に割り当てて」
🏃 ScrumSprint プラグイン API
ツール説明例
create_sprint➕ 新しいスプリントを作成します「プロジェクト 'My Project' に 'Sprint 1' という名前のスプリントを '2024-01-01' 開始、'2024-01-14' 終了、ゴール 'Complete onboarding features' で作成して」
get_sprint_by_id🔍 ID でスプリントを取得します「ID 123 のスプリントの詳細を取得して」
update_sprint✏️ 既存のスプリントを更新します「プロジェクト 'My Project' のスプリント 123 を完了に更新して」
remove_sprint🗑️ ID でスプリントを削除します「ID 123 のスプリントを削除して」
get_all_sprints_by_project📋 指定したプロジェクトのすべてのスプリントを取得します「プロジェクト 'My Project' のすべてのスプリントを取得して」

📖 使用例

プロジェクトのワークフロー
# Create a new project
"Create a new project called 'Mobile App Development'"

# Add tasks to the project
"Create task 'Design UI mockups' in project 'Mobile App Development'"
"Create task 'Set up development environment' in project 'Mobile App Development'"

# Get all tasks
"Get tasks for 'Mobile App Development' project"

# Move tasks between columns
"Move task 1 to 'In Progress' column"
"Move task 2 to 'Done' column"
チーム管理
# Create a new team member
"Create user 'alice.smith' with password 'secure123' and email '[email protected]'"

# Assign user to project
"Assign user 'alice.smith' to project 'Mobile App Development' as project-member"

# Assign tasks to team members
"Assign task 1 to user 'alice.smith'"
タスクの整理
# Create categories for better organization
"Create category 'Critical Bugs'"
"Create category 'Feature Requests'"

# Add comments to tasks
"Add comment 'This needs urgent attention' to task 5"

# Set deadlines
"Set due date for task 3 to 2024-01-20"

🔧 開発

ソースからのビルド
# Clone the repository
git clone https://github.com/bivex/kanboard-mcp.git
cd kanboard-mcp

# Install dependencies
go mod download

# Build the application
go build -o kanboard-mcp .

# Run tests
go test ./...
プロジェクト構成
kanboard-mcp/
├── main.go              # Main application entry point
├── go.mod               # Go module dependencies
├── go.sum               # Dependency checksums
├── build-release.bat    # Windows build script
├── build-release.sh     # Unix build script
├── README.md            # This file
└── LICENSE.md           # License information
コントリビューション
  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

📄 ライセンス

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


Kanboard コミュニティのために ❤️ を込めて制作

GitHub stars GitHub forks GitHub issues

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。