groundlight-mcp-server について
groundlight-mcp-serverは、MCPクライアントからGroundlightの画像検出器、クエリ、アラートを操作するサーバーです。二択・複数クラス・計数に対応し、信頼度に応じた人手レビューやラベルによるフィードバックを扱います。
主な機能
- 01画像検出器の作成と設定
- 02二択・複数クラス・計数モード
- 03画像クエリの送信と取得
- 04検出器アラートの作成と管理
- 05結果のラベル付けと評価指標の確認
活用シーン
- 01画像を定義済みカテゴリに分類
- 02物体の数や画像への二択回答を得る
- 03信頼度の低いクエリを人手レビューへ回す
MCP 対応
Groundlightの検出器、画像クエリ、アラート、ラベル付け、評価機能をMCPクライアント向けのツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
<img src=resources/images/gl_logo.png height=25> による groundlight-mcp-server
概要
Groundlight とやり取りするための Model Context Protocol(MCP)サーバーです。このサーバーには、Detector の作成、一覧表示、カスタマイズ、ImageQuery の送信と一覧表示、Alert の作成、一覧表示、削除、および Detector の評価指標の確認を行うツールが用意されています。
このサーバーの開発と改善を続ける中で、機能や利用できるツールは変更・拡張される場合があります。
ツール
Groundlight MCP サーバーでは、次のツールを利用できます。
-
create_detector
-
説明:指定した設定に基づいて Detector を作成します。次の 3 つのモードに対応しています。
- Binary:画像に関する自然言語の質問に「はい」または「いいえ」で回答します。
- Multiclass:自然言語の質問に基づいて、画像を事前定義されたカテゴリに分類します。
- Counting:自然言語による説明を使って、画像内にある指定されたオブジェクトの数を数えます。
すべての Detector は画像を分析して自然言語の質問に回答し、結果の信頼性を示す信頼度スコアを返します。信頼度が指定されたしきい値を下回ると、質問は人間によるレビューに回されます。Detector は、フィードバックや追加の例から継続的に学習することで、時間とともに改善されます。
-
入力:
config(name、query、confidence_threshold、mode、およびモード固有の設定を含む DetectorConfig オブジェクト) -
戻り値:
Detectorオブジェクト
-
-
get_detector
- 説明:ID を指定して Detector を取得します。
- 入力:
detector_id(文字列) - 戻り値:
Detectorオブジェクト
-
list_detectors
- 説明:現在のユーザーに関連付けられたすべての Detector を一覧表示します。
- 入力:なし
- 戻り値:
Detectorオブジェクトのリスト
-
submit_image_query
- 説明:指定した Detector に回答させる画像を送信します。画像はファイルパス、URL、または生バイト列で指定できます。Detector はラベルと信頼度スコアを含む応答を返します。
- 入力:
detector_id(文字列)、image(文字列またはバイト列) - 戻り値:
ImageQueryオブジェクト
-
get_image_query
- 説明:ID を指定して既存の画像クエリを取得します。
- 入力:
image_query_id(文字列) - 戻り値:
ImageQueryオブジェクト
-
list_image_queries
- 説明:指定した Detector に関連付けられたすべての画像クエリを一覧表示します。結果が多数返される場合があります。
- 入力:
detector_id(文字列) - 戻り値:
ImageQueryオブジェクトのリスト
-
get_image
- 説明:ID を指定して、画像クエリに関連付けられた画像を取得します。画像に利用可能な場合は、バウンディングボックスを付けて注釈を追加できます。
- 入力:
image_query_id(文字列)、annotate(ブール値、デフォルト:false) - 戻り値:
Imageオブジェクト
-
create_alert
- 説明:特定の条件が満たされたときにアクションを実行する、Detector 用のアラートを作成します。
- 入力:
config(name、detector_id、condition、および任意の webhook_action、email_action、text_action、enabled、human_review_required フィールドを含む AlertConfig オブジェクト) - 戻り値:
Ruleオブジェクト
-
list_alerts
- 説明:システム内のすべてのアラート(ルール)を一覧表示します。(注:現在の実装では Detector による絞り込みは行われません。)
- 入力:
page(整数、デフォルト:1)、page_size(整数、デフォルト:100) - 戻り値:
Ruleオブジェクトのリスト
-
delete_alert
- 説明:アラート ID を指定して、アラート(ルール)を削除します。
- 入力:
alert_id(文字列) - 戻り値:なし
-
add_label
- 説明:画像クエリにラベル(アノテーション)を付与します。検出器のトレーニングや結果の修正に使用します。カウント検出器では、任意で関心領域を指定できます。
- 入力:
image_query_id(文字列)、label(整数または文字列)、rois(省略可能なリスト) - 戻り値:なし
-
get_detector_evaluation_metrics
- 説明:混同行列や例を含む、検出器の詳細な評価指標を取得します。
- 入力:
detector_id(文字列) - 戻り値:評価指標の辞書
-
update_detector_confidence_threshold
- 説明:検出器の信頼度しきい値を更新します。
- 入力:
detector_id(文字列)、confidence_threshold(浮動小数点数) - 戻り値:なし
-
update_detector_escalation_type
- 説明:検出器のエスカレーションタイプを更新します。これにより、クエリを人間によるレビューに回すタイミングが決まります。選択肢:「STANDARD」(信頼度しきい値に基づいてエスカレーション)または「NO_HUMAN_LABELING」(エスカレーションしない)。
- 入力:
detector_id(文字列)、escalation_type(文字列。「STANDARD」または「NO_HUMAN_LABELING」) - 戻り値:なし
設定
Claude Desktop での使用
以下を claude_desktop_config.json に追加します:
"mcpServers": {
"groundlight": {
"command": "docker",
"args": ["run", "--rm", "-i", "-e", "GROUNDLIGHT_API_TOKEN", "groundlight/groundlight-mcp-server"],
"env": {
"GROUNDLIGHT_API_TOKEN": "YOUR_API_TOKEN_HERE"
}
}
}
Zed での使用
以下を settings.json に追加します:
{
"context_servers": {
"groundlight": {
"command": {
"path": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"GROUNDLIGHT_API_TOKEN",
"groundlight/groundlight-mcp-server"
],
"env": {
"GROUNDLIGHT_API_TOKEN": "YOUR_API_TOKEN_HERE"
}
}
}
}
}
開発
Docker イメージをローカルでビルドします:
make build-docker
Docker イメージをローカルで実行します:
make run-docker
[Groundlight Internal] Docker イメージを Docker Hub にプッシュします(DockerHub の認証情報が必要です):
make push-docker
s
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。