About Label Studio MCP Server
Label Studio MCP Server is an MCP server that connects to a Label Studio instance through the label-studio-sdk. It manages labeling projects, tasks and predictions, and is aimed at users who want to handle data labeling through MCP clients.
Key features
- 01Project creation, update and configuration viewing
- 02Task import, listing and data retrieval
- 03Reading existing task annotations
- 04Adding model predictions to tasks
Use cases
- 01Creating a labeling project from a data file
- 02Checking labeling progress in a RAG review project
- 03Adding predictions to existing tasks
- 04Updating the XML labeling template of a project
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx 'git+https://github.com/HumanSignal/label-studio-mcp-server'LABEL_STUDIO_API_KEYSecretLABEL_STUDIO_URLLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMELabel 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."
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-sdkfor communication.
Prerequisites
- Running Label Studio Instance: You need a running instance of Label Studio accessible from where this MCP server will run.
- 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"
}
}
}
}
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. Optionalmodel_versionandscore.
Example Use Case
- Create a new project using
create_label_studio_project_tool. - Prepare a JSON file (
tasks.json) with task data. - Import tasks using
import_label_studio_project_tasks_tool, providing the project ID from step 1 and the path totasks.json. - List task IDs using
list_label_studio_project_tasks_tool. - Get data for a specific task using
get_label_studio_task_data_tool. - Generate a prediction result structure (list of dicts).
- Add the prediction using
create_label_studio_prediction_tool.
Contact
For questions or support, reach out via GitHub Issues.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.