Label Studio MCP Server

by HumanSignal

32 stars
286 downloads
Not rated
GitHub

Description

# Label Studio MCP Server ## Overview This project provides a Model Context Protocol (MCP) server that allows interaction with a [Label Studio](https://labelstud.io/) instance using the `label-studio-sdk`. It enables programmatic management of labeling projects, tasks, and…

About

# Label Studio MCP Server ## Overview This project provides a Model Context Protocol (MCP) server that allows interaction with a [Label Studio](https://labelstud.io/) instance using the `label-studio-sdk`. It enables programmatic management of labeling projects, tasks, and predictions via natural language or…

Details

Author
HumanSignal
GitHub stars
32
Downloads
286
Categories
Other

- Project management: Create, update, list, and view project details/configurations.
- Task management: Import tasks from files, list tasks, retrieve data and annotations.
- Prediction integration: Add model predictions to specific tasks.
- SDK integration: Leverages official label-studio-sdk for reliable communication.
- Natural language interaction: Query project status and task counts via MCP clients.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Label Studio MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Configure it by setting the LABEL_STUDIO_API_KEY and LABEL_STUDIO_URL environment variables. Add the server definition to your MCP client configuration (e.g., claude_desktop_config.json) using the uvx command and specify the required environment variables. Then invoke tools like create_label_studio_project_tool, import_label_studio_project_tasks_tool, and create_label_studio_prediction_tool through your MCP client.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "label studio mcp server": {
            "label-studio": {
                "command": "uvx",
                "args": [
                    "--from",
                    "git+https://github.com/HumanSignal/label-studio-mcp-server",
                    "mcp-label-studio"
                ],
                "env": {
                    "LABEL_STUDIO_API_KEY": "<YOUR_API_KEY>",
                    "LABEL_STUDIO_URL": "<YOUR_LABEL_STUDIO_URL>"
                }
            }
        }
    }
}

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_API_KEY>",
            "LABEL_STUDIO_URL": "<YOUR_LABEL_STUDIO_URL>"
        }
    }
}
# Label Studio MCP Server ## Overview This project provides a Model Context Protocol (MCP) server that allows interaction with a [Label Studio](https://labelstud.io/) instance using the `label-studio-sdk`. It enables programmatic management of labeling projects, tasks, and predictions via natural language or structured calls from MCP clients. Using this MCP Server, you can make requests like: * "Create a project in label studio with this data ..." * "How many tasks are labeled in my RAG review project?" * "Add predictions for my tasks." * "Update my labeling template to include a comment box." <img src="./static/example.png" alt="Example usage of Label Studio MCP Server" width="600"> ## Features * **Project Management**: Create, update, list, and view details/configurations of Label Studio projects. * **Task Management**: Import tasks from files, list tasks within projects, and retrieve task data/annotations. * **Prediction Integration**: Add model predictions to specific tasks. * **SDK Integration**: Leverages the official `label-studio-sdk` for communication. ## Prerequisites 1. **Running Label Studio Instance:** You need a running instance of Label Studio accessible from where this MCP server will run. 2. **API Key:** Obtain an API key from your user account settings in Label Studio. ## Configuration The MCP server requires [the URL and API key for your Label Studio instance](https://labelstud.io/guide/access_tokens). If launching the server via an MCP client configuration file, you can specify the environment variables directly within the server definition. This is often preferred for client-managed servers. Add the following JSON entry to your `claude_desktop_config.json` file or Cursor MCP settings: ```json { "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" } } } } ``` <!-- ## Installation Follow these instructions to install the server. ```bash git clone https://github.com/HumanSignal/label-studio-mcp-server.git cd label-studio-mcp-server # Install dependencies using uv uv venv source .venv/bin/activate uv sync ``` ```json { "mcpServers": { "label-studio": { "command": "uv", "args": [ "--directory", "/path/to/your/label-studio-mcp-server", // <-- Update this path "run", "label-studio-mcp.py" ], "env": { "LABEL_STUDIO_API_KEY": "your_actual_api_key_here", // <-- Your API key "LABEL_STUDIO_URL": "http://localhost:8080" } } } } ``` When configured this way, the `env` block injects the variables into the server process environment, and the script's `os.getenv()` calls will pick them up. --> ## Tools The MCP server exposes the following tools: ### Project Management * **`get_label_studio_projects_tool()`**: Lists available projects (ID, title, task count). * **`get_label_studio_project_details_tool(project_id: int)`**: Retrieves detailed information for a specific project. * **`get_label_studio_project_config_tool(project_id: int)`**: Fetches the XML labeling configuration for a project. * **`create_label_studio_project_tool(title: str, label_config: str, ...)`**: Creates a new project with a title, XML config, and optional settings. Returns project details including a URL. * **`update_label_studio_project_config_tool(project_id: int, new_label_config: str)`**: Updates the XML labeling configuration for an existing project. ### Task Management * **`list_label_studio_project_tasks_tool(project_id: int)`**: Lists task IDs within a project (up to 100). * **`get_label_studio_task_data_tool(project_id: int, task_id: int)`**: Retrieves the data payload for a specific task. * **`get_label_studio_task_annotations_tool(project_id: int, task_id: int)`**: Fetches existing annotations for a specific task. * **`import_label_studio_project_tasks_tool(project_id: int, tasks_file_path: str)`**: Imports tasks from a JSON file (containing a list of task objects) into a project. Returns import summary and project URL. ### Predictions * **`create_label_studio_prediction_tool(task_id: int, result: List[Dict[str, Any]], ...)`**: Creates a prediction for a specific task. Requires the prediction result as a list of dictionaries matching the Label Studio format. Optional `model_version` and `score`. ## Example Use Case 1. Create a new project using `create_label_studio_project_tool`. 2. Prepare a JSON file (`tasks.json`) with task data. 3. Import tasks using `import_label_studio_project_tasks_tool`, providing the project ID from step 1 and the path to `tasks.json`. 4. List task IDs using `list_label_studio_project_tasks_tool`. 5. Get data for a specific task using `get_label_studio_task_data_tool`. 6. Generate a prediction result structure (list of dicts). 7. Add the prediction using `create_label_studio_prediction_tool`. ## Contact For questions or support, reach out via [GitHub Issues](https://github.com/HumanSignal/label-studio-mcp-server/issues).
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.