
How to add Label Studio MCP Server to Windsurf
Manage Label Studio projects, tasks, and model predictions from your MCP client via the label-studio-sdk. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 31★ · stdio · apikey
Windsurf config for Label Studio MCP Server
{
"mcpServers": {
"label-studio-mcp-server": {
"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",
"LABEL_STUDIO_URL": "http://localhost:8080"
}
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Label Studio MCP Server config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5Label Studio MCP Server's tools become available to Cascade.
Before you start
- A running Label Studio instance accessible from where the MCP server runs
- An API key obtained from your Label Studio user account settings
- uvx (uv) available to launch the server from the Git repository
What Label Studio MCP Server can do in Windsurf
get_label_studio_projects_toolLists available projects (ID, title, task count).
get_label_studio_project_details_toolRetrieves detailed information for a specific project (project_id).
get_label_studio_project_config_toolFetches the XML labeling configuration for a project (project_id).
create_label_studio_project_toolCreates a new project with a title, XML label config, and optional settings. Returns project details including a URL.
update_label_studio_project_config_toolUpdates the XML labeling configuration for an existing project (project_id, new_label_config).
list_label_studio_project_tasks_toolLists task IDs within a project (up to 100).
get_label_studio_task_data_toolRetrieves the data payload for a specific task (project_id, task_id).
get_label_studio_task_annotations_toolFetches existing annotations for a specific task (project_id, task_id).
Security
Requires a Label Studio API key (obtained from your user account settings) and the URL of your Label Studio instance, both passed as environment variables. The server has full programmatic access to your projects, tasks, and predictions, so treat the API key as a secret and grant access only to a trusted instance.
Label Studio MCP Server + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Label Studio MCP Server config there under the "mcpServers" key and restart the client.
Is Label Studio MCP Server safe to use with Windsurf?
Requires a Label Studio API key (obtained from your user account settings) and the URL of your Label Studio instance, both passed as environment variables. The server has full programmatic access to your projects, tasks, and predictions, so treat the API key as a secret and grant access only to a trusted instance.
How do I provide my Label Studio credentials?
Set LABEL_STUDIO_API_KEY and LABEL_STUDIO_URL in the env block of the MCP server definition. The API key comes from your Label Studio user account settings, and the URL points to your running instance (e.g. http://localhost:8080).
Do I need a separately running Label Studio instance?
Yes. The server talks to an existing Label Studio instance via the label-studio-sdk, so you must have one running and reachable from where the MCP server runs.
Which MCP clients are supported?
Any client that supports an mcpServers config block. The README documents adding the entry to Claude Desktop (claude_desktop_config.json) or Cursor MCP settings, launched via uvx.