MCP Directory

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

  1. 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
  2. 2Paste the Label Studio MCP Server config below.
  3. 3Fill in placeholder secrets, then save.
  4. 4Click Refresh in the MCP panel.
  5. 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_tool

Lists available projects (ID, title, task count).

get_label_studio_project_details_tool

Retrieves detailed information for a specific project (project_id).

get_label_studio_project_config_tool

Fetches the XML labeling configuration for a project (project_id).

create_label_studio_project_tool

Creates a new project with a title, XML label config, and optional settings. Returns project details including a URL.

update_label_studio_project_config_tool

Updates the XML labeling configuration for an existing project (project_id, new_label_config).

list_label_studio_project_tasks_tool

Lists task IDs within a project (up to 100).

get_label_studio_task_data_tool

Retrieves the data payload for a specific task (project_id, task_id).

get_label_studio_task_annotations_tool

Fetches 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.

View repo Full Label Studio MCP Server page