Labellerr Server
БесплатноНе проверенA Model Context Protocol (MCP) server that provides a comprehensive interface to the Labellerr SDK for managing annotation projects, datasets, and monitoring op
Описание
A Model Context Protocol (MCP) server that provides a comprehensive interface to the Labellerr SDK for managing annotation projects, datasets, and monitoring operations through AI assistants like Claude Desktop and Cursor.
README
GitHub license MCP Protocol Node.js
A Model Context Protocol (MCP) server that provides a comprehensive interface to the Labellerr SDK for managing annotation projects, datasets, and monitoring operations through AI assistants like Claude Desktop and Cursor.
Features
- 🚀 Project Management - Create, list, update, and track annotation projects
- 📊 Dataset Management - Create datasets, upload files/folders, and query information
- 🏷️ Annotation Tools - Upload pre-annotations, export data, and download results
- 📈 Monitoring & Insights - Real-time progress tracking and system health monitoring
- 🔍 Query Capabilities - Search projects, get statistics, and analyze operations
22 specialized tools available across 5 categories to streamline your annotation workflow.
Installation
Prerequisites
- Node.js 16 or higher
- npm or yarn
- Labellerr API credentials (API Key, API Secret, Client ID)
Setup
- Clone the repository:
git clone https://github.com/1sarthakbhardwaj/labellerr-mcp-server.git
cd labellerr-mcp-server
- Install dependencies:
npm install
- Configure environment variables:
cp .env.example .env
Edit .env and add your Labellerr credentials:
LABELLERR_API_KEY=your_api_key_here
LABELLERR_API_SECRET=your_api_secret_here
LABELLERR_CLIENT_ID=your_client_id_here
Getting Credentials: Contact Labellerr support or email [email protected] to obtain your API credentials.
Configuration
Option 1: Using with Claude Desktop
Add to your Claude Desktop configuration file:
Location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
{
"mcpServers": {
"labellerr": {
"command": "node",
"args": ["/absolute/path/to/labellerr-mcp-server/src/index.js"],
"env": {
"LABELLERR_API_KEY": "your_api_key",
"LABELLERR_API_SECRET": "your_api_secret",
"LABELLERR_CLIENT_ID": "your_client_id"
}
}
}
}
Important: Replace /absolute/path/to/ with the full path to your installation directory.
After configuration:
- Restart Claude Desktop completely
- The Labellerr tools will be available in your conversations
- Ask Claude to list your projects or check system health
Option 2: Using with Cursor
Add to your Cursor MCP configuration file:
Location: ~/.cursor/mcp.json (macOS/Linux) or %APPDATA%\Cursor\mcp.json (Windows)
{
"mcpServers": {
"labellerr": {
"command": "node",
"args": ["/absolute/path/to/labellerr-mcp-server/src/index.js"],
"env": {
"LABELLERR_API_KEY": "your_api_key",
"LABELLERR_API_SECRET": "your_api_secret",
"LABELLERR_CLIENT_ID": "your_client_id"
}
}
}
}
Important: Replace /absolute/path/to/ with the full path to your installation directory.
After configuration:
- Restart Cursor completely (Quit and reopen)
- The Labellerr tools will be available in the AI assistant
- Try asking: "List all my Labellerr projects"
Verifying Installation
Test the server is working:
# Start the server
npm start
# In another terminal, test the protocol
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | node src/index.js
You should see a JSON response listing all 22 available tools.
Usage
Starting the Server Standalone
# Production mode
npm start
# Development mode (with auto-reload)
npm run dev
Using with AI Assistants
Once configured with Claude Desktop or Cursor, you can interact naturally:
Project Management:
- "List all my Labellerr projects"
- "Create a new image classification project for product categorization"
- "What's the progress of project XYZ?"
Dataset Operations:
- "Upload images from /path/to/folder"
- "List all my datasets"
- "Create a new dataset for video annotation"
Monitoring:
- "Show me system health"
- "Check the progress of my active projects"
- "What operations have been performed?"
Exports:
- "Export annotations in COCO format"
- "Check status of export ABC123"
- "Download completed export"
Current Status
✅ Fully Working (21 tools)
- Project Management: List, get details, update rotation
- Dataset Management: Create, upload, list, query
- Annotation Operations: Upload pre-annotations, export, download
- Monitoring: Job status, progress, system health
- Query & Search: Statistics, history, search
⚠️ In Progress (1 tool)
- Project Creation - Implementation complete but encountering API 400 error during dataset creation
- File upload to GCS: ✅ Implemented
- Dataset creation: ⚠️ Getting 400 error
- Template creation: ✅ Implemented
- Project finalization: ✅ Implemented
- See Issue #1 for details
Available Tools
The server provides 22 specialized tools:
📋 Project Management (4 tools)
project_create- Create projects with annotation guidelinesproject_list- List all projectsproject_get- Get detailed project informationproject_update_rotation- Update rotation configuration
📊 Dataset Management (5 tools)
dataset_create- Create new datasetsdataset_upload_files- Upload individual filesdataset_upload_folder- Upload entire foldersdataset_list- List all datasetsdataset_get- Get dataset information
🏷️ Annotation Operations (5 tools)
annotation_upload_preannotations- Upload pre-annotations (sync)annotation_upload_preannotations_async- Upload pre-annotations (async)annotation_export- Create annotation exportannotation_check_export_status- Check export statusannotation_download_export- Get export download URL
📈 Monitoring & Analytics (4 tools)
monitor_job_status- Monitor background job statusmonitor_project_progress- Track project progressmonitor_active_operations- List active operationsmonitor_system_health- Check system health
🔍 Query & Search (4 tools)
query_project_statistics- Get detailed project statsquery_dataset_info- Get dataset informationquery_operation_history- View operation historyquery_search_projects- Search projects by name/type
For detailed parameters and examples, see the Full Tool Documentation below.
Supported Data Types
- image - JPEG, PNG, TIFF
- video - MP4
- audio - MP3, WAV
- document - PDF
- text - TXT
Annotation Types
BoundingBox- Rectangle annotations for object detectionpolygon- Polygon shapes for segmentationdot- Point annotationsradio- Single choice selectiondropdown- Dropdown selectionboolean- Yes/No selectioninput- Text input fieldselect- Multiple choice selection
Export Formats
json- Standard JSON formatcoco_json- COCO dataset formatcsv- Comma-separated valuespng- Image masks
Limits
- Maximum 2,500 files per folder upload
- Maximum 2.5 GB total folder size
- Batch processing: 15 MB per batch, 900 files max
Example Workflows
1. Create an Object Detection Project
{
"project_name": "Vehicle Detection",
"dataset_name": "Traffic Dataset",
"data_type": "image",
"created_by": "[email protected]",
"annotation_guide": [
{
"question": "Detect Vehicles",
"option_type": "BoundingBox",
"required": true,
"options": [{"option_name": "#ff0000"}]
}
],
"folder_to_upload": "/path/to/images"
}
2. Monitor Project Progress
Ask your AI assistant: "Show me the progress of my annotation projects"
The server will return:
- Total files
- Annotated count
- Reviewed count
- Completion percentage
3. Export Annotations
{
"project_id": "proj_abc123",
"export_name": "Training Export",
"export_format": "coco_json",
"statuses": ["accepted", "reviewed"]
}
4. Search Projects
Ask: "Find all projects related to 'vehicle' or 'traffic'"
The server will search project names and return matching results.
Detailed Tool Reference
Project Management Tools
project_create
Create a new annotation project.
Parameters:
project_name(string, required) - Name of the projectdataset_name(string, required) - Name of the datasetdata_type(string, required) - Type: image/video/audio/document/textcreated_by(string, required) - Creator's emailannotation_guide(array, required) - Annotation questions/guidelinesdataset_description(string, optional) - Dataset descriptionfolder_to_upload(string, optional) - Path to folder with filesfiles_to_upload(array, optional) - Array of file pathsrotation_config(object, optional) - Rotation configurationautolabel(boolean, optional) - Enable auto-labeling
project_list
List all projects for the client.
Returns: Array of projects with metadata
project_get
Get detailed information about a specific project.
Parameters:
project_id(string, required) - ID of the project
project_update_rotation
Update rotation configuration for a project.
Parameters:
project_id(string, required) - ID of the projectrotation_config(object, required) - New rotation settings
Dataset Management Tools
dataset_create
Create a new dataset.
Parameters:
dataset_name(string, required) - Name of the datasetdata_type(string, required) - Type of datadataset_description(string, optional) - Description
dataset_upload_files
Upload individual files to a dataset.
Parameters:
files(array, required) - Array of file pathsdata_type(string, required) - Type of data
dataset_upload_folder
Upload all files from a folder.
Parameters:
folder_path(string, required) - Path to folderdata_type(string, required) - Type of data
dataset_list
List all datasets (linked and unlinked).
Parameters:
data_type(string, optional) - Filter by data type (default: "image")
dataset_get
Get detailed information about a dataset.
Parameters:
dataset_id(string, required) - ID of the dataset
Annotation Tools
annotation_upload_preannotations
Upload pre-annotations (synchronous).
Parameters:
project_id(string, required) - ID of the projectannotation_format(string, required) - Format: json/coco_json/csv/pngannotation_file(string, required) - Path to annotation file
annotation_upload_preannotations_async
Upload pre-annotations (asynchronous).
Parameters:
- Same as
annotation_upload_preannotations
annotation_export
Create an export of project annotations.
Parameters:
project_id(string, required) - ID of the projectexport_name(string, required) - Name for the exportexport_format(string, required) - Format for exportstatuses(array, required) - Statuses to includeexport_description(string, optional) - Description
annotation_check_export_status
Check the status of export jobs.
Parameters:
project_id(string, required) - ID of the projectexport_ids(array, required) - Array of export IDs
annotation_download_export
Get download URL for a completed export.
Parameters:
project_id(string, required) - ID of the projectexport_id(string, required) - ID of the export
Monitoring Tools
monitor_job_status
Monitor the status of a background job.
Parameters:
job_id(string, required) - ID of the job
monitor_project_progress
Get progress statistics for a project.
Parameters:
project_id(string, required) - ID of the project
monitor_active_operations
List all active operations and their status.
Returns: List of active operations with timestamps
monitor_system_health
Check the health and status of the MCP server.
Returns: System status, connectivity, active projects count
Query Tools
query_project_statistics
Get detailed statistics for a project.
Parameters:
project_id(string, required) - ID of the project
query_dataset_info
Get detailed information about a dataset.
Parameters:
dataset_id(string, required) - ID of the dataset
query_operation_history
Query the history of operations performed.
Parameters:
limit(number, optional) - Max number of operations (default: 10)status(string, optional) - Filter by status: success/failed/in_progress
query_search_projects
Search for projects by name or type.
Parameters:
query(string, required) - Search query string
Troubleshooting
Server won't start
- Verify Node.js version (requires 16+)
- Check environment variables are set correctly
- Ensure port is not in use
Tools return errors
- Verify Labellerr API credentials are correct
- Check network connectivity
- Review operation history for error details
AI assistant can't find tools
- Verify configuration file path is correct
- Use absolute paths, not relative paths
- Restart the AI assistant completely after configuration
- Check that credentials are set in the config file
Debug Mode
Set LOG_LEVEL=debug in your .env file for detailed logging.
Development
Project Structure
labellerr-mcp-server/
├── src/
│ ├── index.js # Main server entry point
│ ├── labellerr-client.js # Labellerr API client
│ └── tools/
│ └── index.js # Tool definitions
├── package.json # Dependencies and scripts
├── .env.example # Environment template
├── claude_desktop_config.json # Claude configuration example
├── LICENSE # MIT License
└── README.md # This file
Adding New Tools
- Define the tool schema in
src/tools/index.js - Implement the handler in
src/index.js(handleCallTool method) - Add the client method in
src/labellerr-client.jsif needed - Update documentation
Resources
- Labellerr Documentation: docs.labellerr.com
- MCP Protocol: modelcontextprotocol.io
- Support Email: [email protected]
- GitHub Issues: github.com/1sarthakbhardwaj/labellerr-mcp-server/issues
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Made with ❤️ for the Labellerr community
Установка Labellerr Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/1sarthakbhardwaj/labellerr-mcp-serverFAQ
Labellerr Server MCP бесплатный?
Да, Labellerr Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Labellerr Server?
Нет, Labellerr Server работает без API-ключей и переменных окружения.
Labellerr Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Labellerr Server в Claude Desktop, Claude Code или Cursor?
Открой Labellerr Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Labellerr Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
