A Model Context Protocol server for managing and interacting with Label Studio projects. This server provides tools to create and manage annotation projects, import and export data, and facilitate the data labeling workflow.
-
get_projects- Get all projects information
- Returns: A list of all projects with their basic information
-
get_project_detail- Get detailed information about a specific project
- Input:
project_id(string): Label Studio project ID
- Returns: Detailed project information including label configuration
-
create_project- Create a new annotation project
- Input:
title(string): Project titledescription(string, optional): Project descriptionlabel_config(string, optional): XML label configuration
- Returns: New project information
-
update_project- Update an existing project
- Input:
project_id(string): Project IDtitle(string, optional): New project titledescription(string, optional): New project descriptionlabel_config(string, optional): New XML label configuration
- Returns: Updated project information
-
delete_project- Delete a project
- Input:
project_id(string): Project ID to delete
- Returns: Deletion status
-
export_project_annotations- Export project annotation data
- Input:
project_id(string): Project IDexport_format(string, optional): Format to export ("JSON", "CSV", "TSV", "CONLL2003", "COCO")output_path(string, optional): Path to save the export file
- Returns: Exported annotation data
-
import_tasks_from_file- Import tasks from a file
- Input:
project_id(string): Project IDfile_path(string): Path to the import file
- Returns: Import status
-
get_export_formats- Get supported export formats for a project
- Input:
project_id(string): Project ID
- Returns: List of supported export formats
When using uv, you can run the server directly:
git clone https://github.com/yourusername/mcp-label-studio.git
cd mcp-label-studio
uv pip install -e .
uv run server.pyYou can also use Docker to run the server:
docker build -t mcp-label-studio .
docker run -e LABEL_STUDIO_API_KEY=your-api-key -e LABEL_STUDIO_URL=http://your-label-studio-instance mcp-label-studioAdd this to your claude_desktop_config.json:
Using uv
"mcpServers": {
"label-studio": {
"command": "uv",
"args": ["run", "/path/to/mcp-label-studio/server.py"],
"env": {
"LABEL_STUDIO_API_KEY": "YOUR_LABEL_STUDIO_API_KEY",
"LABEL_STUDIO_URL": "YOUR_LABEL_STUDIO_URL"
}
}
}Using docker
"mcpServers": {
"label-studio": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "LABEL_STUDIO_API_KEY=YOUR_API_KEY", "-e", "LABEL_STUDIO_URL=YOUR_URL", "mcp-label-studio"]
}
}You can use the MCP inspector to debug the server:
cd /path/to/mcp-label-studio
LABEL_STUDIO_API_KEY=YOUR_API_KEY LABEL_STUDIO_URL=YOUR_URL npx @modelcontextprotocol/inspector uv run server.pyThis MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repositoy