How to Access Live Paylocity Data in Visual Studio Code via Cline

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Run the CData MCP Server for Paylocity on Windows Subsytem for Linux (WSL) and connect to live Paylocity data from the Cline extension in Visual Studio Code.

Cline is an autonomous coding agent right in your IDE, capable of creating/editing files, running commands, using the browser, and more with your permission every step of the way. When paired with the CData MCP Server for Paylocity, you get live access to CRM data within your IDE, enabling you to build, test, and validate data-driven features using real-time schema and records without ever leaving your development environment.

This article outlines how to run the CData MCP Server for Paylocity on WSL (Windows Subsystem for Linux) and connect to it from the Cline extension in Visual Studio Code on Windows.

Background

CData MCP Servers are typically designed for clients like Claude Desktop. However, when attempting to use the server via the Cline extension in Windows VS Code, the following error occurred:

MCP error -32000: Connection closed

This issue is suspected to be caused by I/O handling problems in the stdio transport implementation on the Windows version of the Cline extension.

Prerequisites

  • Visual Studio Code installed on Windows
  • Cline extension installed and configured in VS Code
  • Windows Subsystem for Linux (WSL) installed with a working Linux distribution (e.g., Ubuntu)
  • Java 21+ JRE installed in WSL
  • CData MCP Server for Paylocity installed on Windows

Step 1: Authenticate with Paylocity (on Windows)

Before running the MCP Server in WSL, you must complete authentication flow in a Windows environment. This ensures all necessary credentials are generated and stored properly. Find and run the "CData MCP Server for Paylocity" or execute the MCP Server JAR file to open the configuration wizard.

java -jar "C:\Program Files\CData\CData MCP Server for Paylocity 2024\lib\cdata.mcp.paylocity.jar"

Connecting to Paylocity

Set the following to establish a connection to Paylocity:

  • RSAPublicKey: Set this to the RSA Key associated with your Paylocity, if the RSA Encryption is enabled in the Paylocity account.

    This property is required for executing Insert and Update statements, and it is not required if the feature is disabled.

  • UseSandbox: Set to true if you are using sandbox account.
  • CustomFieldsCategory: Set this to the Customfields category. This is required when IncludeCustomFields is set to true. The default value for this property is PayrollAndHR.
  • Key: The AES symmetric key(base 64 encoded) encrypted with the Paylocity Public Key. It is the key used to encrypt the content.

    Paylocity will decrypt the AES key using RSA decryption.
    It is an optional property if the IV value not provided, The driver will generate a key internally.

  • IV: The AES IV (base 64 encoded) used when encrypting the content. It is an optional property if the Key value not provided, The driver will generate an IV internally.

Connect Using OAuth Authentication

You must use OAuth to authenticate with Paylocity. OAuth requires the authenticating user to interact with Paylocity using the browser. For more information, refer to the OAuth section in the Help documentation.

The Pay Entry API

The Pay Entry API is completely separate from the rest of the Paylocity API. It uses a separate Client ID and Secret, and must be explicitly requested from Paylocity for access to be granted for an account. The Pay Entry API allows you to automatically submit payroll information for individual employees, and little else. Due to the extremely limited nature of what is offered by the Pay Entry API, we have elected not to give it a separate schema, but it may be enabled via the UsePayEntryAPI connection property.

Please be aware that when setting UsePayEntryAPI to true, you may only use the CreatePayEntryImportBatch & MergePayEntryImportBatchgtable stored procedures, the InputTimeEntry table, and the OAuth stored procedures. Attempts to use other features of the product will result in an error. You must also store your OAuthAccessToken separately, which often means setting a different OAuthSettingsLocation when using this connection property.

Configuring the CData MCP Server

Name your MCP Server (e.g. cdatapaylocity), enter the required connection properties, and click "Connect."

Upon successful connection, the following directory and files will be created:

C:\Users\<username>\AppData\Roaming\CData\paylocity Provider\
 |-- cdatapaylocity.mcp
 |-- (other supporting config files)

Step 2: Copy the MCP Server Configuration into WSL

Next, copy the entire configuration folder from Windows into your WSL environment.

mkdir -p ~/.config/CData/
cp -r /mnt/c/Users/<username>/AppData/Roaming/CData/"paylocity Provider" ~/.config/CData/

Ensure the destination path matches exactly: ~/.config/CData/paylocity Provider/.

Step 3: Install the MCP Server on WSL

Install Java and place the MCP Server JAR in the desired location within WSL:

sudo apt update
sudo apt install openjdk-21-jre-headless
sudo mkdir -p /opt/cdata/mcp_paylocity/lib
sudo cp /mnt/c/Program\ Files/CData/CData\ MCP\ Server\ for\ Paylocity\ 2024/lib/cdata.mcp.paylocity.jar /opt/cdata/mcp_paylocity/lib/

Step 4: Configure Cline

Now, configure the Cline extension to launch the MCP Server inside WSL using the wsl command.

Create or update cline_mcp_settings.json with the following content:

{
  "mcpServers": {
    "cdatapaylocity": {
      "autoApprove": ["*"],
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "wsl",
      "args": [
        "-d",
        "Ubuntu", // Replace with your installed WSL distro name
        "--",
        "/usr/bin/java",
        "-jar",
        "/opt/cdata/mcp_paylocity/lib/cdata.mcp.paylocity.jar",
        "cdatapaylocity"
      ],
      "env": {
        "JAVA_TOOL_OPTIONS": "-Xmx2g"
      }
    }
  }
}

Note: Replace Ubuntu with your actual WSL distribution name (e.g., Ubuntu-22.04). Run wsl -l in PowerShell or CMD to confirm.

Step 5: Interact with Live Data in Cline

From within Visual Studio Code, you can now run MCP commands through the Cline extension.

cdatapaylocity_get_tables
cdatapaylocity_get_columns Employee

If configured correctly, these commands will return a list of available Paylocity objects and metadata, allowing you to interact with your CRM schema in real time.

Try natural language prompts like:

  • "Generate a React form to create a new Paylocity Lead."
  • "Write a Python function to pull Opportunities closed this quarter."

Connect your AI to your data today!

CData MCP Servers make it easier than ever for LLMs to work with live enterprise data. To explore the technology hands-on, download a free, 30-day trial or visit the CData Community to share insights, ask questions, and help shape the future of enterprise-ready AI.

Ready to get started?

Download a free Paylocity MCP Server to get started:

 Download Now

Learn more:

Paylocity Icon Paylocity MCP Server

The CData MCP Server for Paylocity allows you to connect with live Paylocity data, directly from LLMs that support MCP.