
Label Studio
STDIOOfficialMCP server for Label Studio data labeling platform integration and project management
MCP server for Label Studio data labeling platform integration and project management
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:
label-studio-sdk
for communication.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" } } } }
The MCP server exposes the following tools:
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.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.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
.create_label_studio_project_tool
.tasks.json
) with task data.import_label_studio_project_tasks_tool
, providing the project ID from step 1 and the path to tasks.json
.list_label_studio_project_tasks_tool
.get_label_studio_task_data_tool
.create_label_studio_prediction_tool
.For questions or support, reach out via GitHub Issues.