groundlight-mcp-server
If you are the rightful owner of groundlight-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server for interacting with Groundlight. This server provides tools to create and list both Detectors and ImageQueries.
groundlight-mcp-server by <img src=resources/images/gl_logo.png height=25>
Overview
A Model Context Protocol (MCP) server for interacting with Groundlight. This server provides tools to create, list and customize Detectors, submit and list ImageQueries, create, list and delete Alerts, and examine detector evaluation metrics.
The functionality and available tools are subject to change and expansion as we continue to develop and improve this server.
Tools
The following tools are available in the Groundlight MCP server:
-
create_detector
-
Description: Create a detector based on the specified configuration. Supports three modes:
- Binary: Answers 'yes' or 'no' to a natural-language query about images.
- Multiclass: Classifies images into predefined categories based on natural-language queries.
- Counting: Counts occurrences of specified objects in images using natural-language descriptions.
All detectors analyze images to answer natural-language queries and return confidence scores indicating result reliability. If confidence falls below the specified threshold, the query is escalated to human review. Detectors improve over time through continuous learning from feedback and additional examples.
-
Input:
config
(DetectorConfig object with name, query, confidence_threshold, mode, and mode-specific configuration) -
Returns:
Detector
object
-
-
get_detector
- Description: Get a detector by its ID.
- Input:
detector_id
(string) - Returns:
Detector
object
-
list_detectors
- Description: List all detectors associated with the current user.
- Input: None
- Returns: List of
Detector
objects
-
submit_image_query
- Description: Submit an image to be answered by the specified detector. The image can be provided as a file path, URL, or raw bytes. The detector will return a response with a label and confidence score.
- Input:
detector_id
(string),image
(string or bytes) - Returns:
ImageQuery
object
-
get_image_query
- Description: Get an existing image query by its ID.
- Input:
image_query_id
(string) - Returns:
ImageQuery
object
-
list_image_queries
- Description: List all image queries associated with the specified detector. Note that this may return a large number of results.
- Input:
detector_id
(string) - Returns: List of
ImageQuery
objects
-
get_image
- Description: Get the image associated with an image query by its ID. Optionally annotate with bounding boxes on the image if available.
- Input:
image_query_id
(string),annotate
(boolean, default: false) - Returns:
Image
object
-
create_alert
- Description: Create an alert for a detector that triggers actions when specific conditions are met.
- Input:
config
(AlertConfig object with name, detector_id, condition, and optional webhook_action, email_action, text_action, enabled, and human_review_required fields) - Returns:
Rule
object
-
list_alerts
- Description: List all alerts (rules) in the system. (Note: Not filtered by detector in the current implementation.)
- Input:
page
(integer, default: 1),page_size
(integer, default: 100) - Returns: List of
Rule
objects
-
delete_alert
- Description: Delete an alert (rule) by its alert ID.
- Input:
alert_id
(string) - Returns: None
-
add_label
- Description: Provide a label (annotation) for an image query. This is used for training detectors or correcting results. For counting detectors, you can optionally provide regions of interest.
- Input:
image_query_id
(string),label
(integer or string),rois
(optional list) - Returns: None
-
get_detector_evaluation_metrics
- Description: Get detailed evaluation metrics for a detector, including confusion matrix and examples.
- Input:
detector_id
(string) - Returns: Dictionary of evaluation metrics
-
update_detector_confidence_threshold
- Description: Update the confidence threshold for a detector.
- Input:
detector_id
(string),confidence_threshold
(float) - Returns: None
-
update_detector_escalation_type
- Description: Update the escalation type for a detector. This determines when queries are sent for human review. Options: 'STANDARD' (escalate based on confidence threshold) or 'NO_HUMAN_LABELING' (never escalate).
- Input:
detector_id
(string),escalation_type
(string, either "STANDARD" or "NO_HUMAN_LABELING") - Returns: None
Configuration
Usage with Claude Desktop
Add this to your 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"
}
}
}
Usage with Zed
Add this to your 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"
}
}
}
}
}
Development
Build the Docker image locally:
make build-docker
Run the Docker image locally:
make run-docker
[Groundlight Internal] Push the Docker image to Docker Hub (requires DockerHub credentials):
make push-docker
s