Label Studio MCP Server について
Label Studio MCP Server は、label-studio-sdk を通じて Label Studio インスタンスに接続する MCP サーバーです。ラベリングプロジェクト、タスク、予測結果を管理でき、MCP クライアントからデータラベリングを扱いたい利用者に向いています。
主な機能
- 01プロジェクトの作成・更新・設定の確認
- 02タスクのインポート・一覧・データ取得
- 03既存のタスクアノテーションの取得
- 04タスクへのモデル予測の追加
活用シーン
- 01データファイルからラベリングプロジェクトを作成
- 02RAG レビュープロジェクトの進捗確認
- 03既存タスクへの予測結果の追加
- 04プロジェクトの XML テンプレートの更新
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Label Studio MCP サーバー
概要
このプロジェクトは、label-studio-sdk を使用して Label Studio インスタンスとやり取りできる Model Context Protocol(MCP)サーバーを提供します。MCP クライアントからの自然言語または構造化された呼び出しを通じて、ラベリングプロジェクト、タスク、予測をプログラムで管理できます。この MCP サーバーを使用すると、次のようなリクエストを実行できます。
- 「このデータを使って Label Studio にプロジェクトを作成して……」
- 「RAG レビュープロジェクトでラベル付け済みのタスクはいくつありますか?」
- 「タスクに予測を追加して。」
- 「コメントボックスを含めるようにラベリングテンプレートを更新して。」
機能
- プロジェクト管理:Label Studio プロジェクトの作成、更新、一覧表示、詳細や設定の確認ができます。
- タスク管理:ファイルからタスクをインポートし、プロジェクト内のタスクを一覧表示して、タスクデータやアノテーションを取得できます。
- 予測の統合:指定したタスクにモデルの予測を追加できます。
- SDK の統合:公式の
label-studio-sdkを利用して通信します。
前提条件
- Label Studio インスタンスの起動:この MCP サーバーの実行環境からアクセスできる、起動済みの Label Studio インスタンスが必要です。
- API キー:Label Studio のユーザーアカウント設定から API キーを取得してください。
設定
MCP サーバーには、Label Studio インスタンスの URL と API キーが必要です。MCP クライアントの設定ファイルからサーバーを起動する場合は、サーバー定義内に環境変数を直接指定できます。クライアントが管理するサーバーでは、この方法が推奨されることがよくあります。
次の JSON エントリーを claude_desktop_config.json ファイルまたは Cursor MCP 設定に追加してください。
{
"mcpServers": {
"label-studio": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/HumanSignal/label-studio-mcp-server",
"mcp-label-studio"
],
"env": {
"LABEL_STUDIO_API_KEY": "your_actual_api_key_here", // <-- Your API key
"LABEL_STUDIO_URL": "http://localhost:8080"
}
}
}
}
ツール
MCP サーバーは次のツールを公開します。
プロジェクト管理
get_label_studio_projects_tool():利用可能なプロジェクト(ID、タイトル、タスク数)を一覧表示します。get_label_studio_project_details_tool(project_id: int):指定したプロジェクトの詳細情報を取得します。get_label_studio_project_config_tool(project_id: int):プロジェクトの XML ラベリング設定を取得します。create_label_studio_project_tool(title: str, label_config: str, ...):タイトル、XML 設定、任意の設定を指定して新しいプロジェクトを作成します。URL を含むプロジェクトの詳細を返します。update_label_studio_project_config_tool(project_id: int, new_label_config: str):既存のプロジェクトの XML ラベリング設定を更新します。
タスク管理
list_label_studio_project_tasks_tool(project_id: int):プロジェクト内のタスク ID を一覧表示します(最大 100 件)。get_label_studio_task_data_tool(project_id: int, task_id: int):指定したタスクのデータペイロードを取得します。get_label_studio_task_annotations_tool(project_id: int, task_id: int):指定したタスクの既存のアノテーションを取得します。import_label_studio_project_tasks_tool(project_id: int, tasks_file_path: str):タスクオブジェクトのリストを含む JSON ファイルから、プロジェクトにタスクをインポートします。インポートの概要とプロジェクト URL を返します。
予測
create_label_studio_prediction_tool(task_id: int, result: List[Dict[str, Any]], ...):指定したタスクの予測を作成します。Label Studio の形式に一致する辞書のリストとして、予測結果を指定する必要があります。model_versionとscoreは省略可能です。
使用例
create_label_studio_project_toolを使用して新しいプロジェクトを作成します。- タスクデータを含む JSON ファイル(
tasks.json)を用意します。 - ステップ 1 のプロジェクト ID と
tasks.jsonのパスを指定して、import_label_studio_project_tasks_toolでタスクをインポートします。 list_label_studio_project_tasks_toolを使用してタスク ID を一覧表示します。get_label_studio_task_data_toolを使用して、指定したタスクのデータを取得します。- 予測結果の構造(辞書のリスト)を生成します。
create_label_studio_prediction_toolを使用して予測を追加します。
お問い合わせ
質問やサポートについては、GitHub Issues からお問い合わせください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。