# mcp-label-studio: A Label Studio MCP server ## Overview 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. ### Tools 1. `get_projects` - Get all projects information - Returns: A list of all projects with their basic information 2. `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 3. `create_project` - Create a new annotation project - Input: - `title` (string): Project title - `description` (string, optional): Project description - `label_config` (string, optional): XML label configuration - Returns: New project information 4. `update_project` - Update an existing project - Input: - `project_id` (string): Project ID - `title` (string, optional): New project title - `description` (string, optional): New project description - `label_config` (string, optional): New XML label configuration - Returns: Updated project information 5. `delete_project` - Delete a project - Input: - `project_id` (string): Project ID to delete - Returns: Deletion status 6. `export_project_annotations` - Export project annotation data - Input: - `project_id` (string): Project ID - `export_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 7. `import_tasks_from_file` - Import tasks from a file - Input: - `project_id` (string): Project ID - `file_path` (string): Path to the import file - Returns: Import status 8. `get_export_formats` - Get supported export formats for a project - Input: - `project_id` (string): Project ID - Returns: List of supported export formats ## Installation ### Using uv (recommended) When using [`uv`](https://docs.astral.sh/uv/), you can run the server directly: ```bash git clone https://github.com/yourusername/mcp-label-studio.git cd mcp-label-studio uv pip install -e . uv run server.py ``` ### Using Docker You can also use Docker to run the server: ```bash 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-studio ``` ## Configuration ### Usage with Claude Desktop Add this to your `claude_desktop_config.json`:
Using uv ```json "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 ```json "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"] } } ```
## Debugging You can use the MCP inspector to debug the server: ```bash cd /path/to/mcp-label-studio LABEL_STUDIO_API_KEY=YOUR_API_KEY LABEL_STUDIO_URL=YOUR_URL npx @modelcontextprotocol/inspector uv run server.py ``` ## License This 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