Label Studio MCP Server

Label Studio MCP Server

Label Studio MCP Server

Category
Visit Server

README

Label Studio MCP Server

Overview

This project provides a Model Context Protocol (MCP) server that allows interaction with a Label Studio 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. 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:

{
    "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.

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured