PluginBench
MCP Server
Active
MIT

ConnectWise PSA MCP Server

io.github.selic/mcp-connectwise-psa

What is the ConnectWise PSA MCP server?

ConnectWise PSA (Manage) MCP server — tickets, time entries, companies, configurations, BYOK

How to install ConnectWise PSA

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • CW_SITE
    required

    ConnectWise host (e.g. na.myconnectwise.net or an on-prem host; full URLs accepted)

  • CW_COMPANY_ID
    required

    ConnectWise login company id

  • CW_CLIENT_ID
    required

    Integration clientId from developer.connectwise.com

  • CW_PUBLIC_KEY
    required
    secret

    API member public key

  • CW_PRIVATE_KEY
    required
    secret

    API member private key

  • CW_MEMBER_IDENTIFIER

    Member identifier the API keys belong to — enables "my tickets"/"my time" tools

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-connectwise-psa": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-connectwise-psa"
      ],
      "env": {
        "CW_SITE": "<YOUR_CW_SITE>",
        "CW_COMPANY_ID": "<YOUR_CW_COMPANY_ID>",
        "CW_CLIENT_ID": "<YOUR_CW_CLIENT_ID>",
        "CW_PUBLIC_KEY": "<YOUR_CW_PUBLIC_KEY>",
        "CW_PRIVATE_KEY": "<YOUR_CW_PRIVATE_KEY>",
        "CW_MEMBER_IDENTIFIER": "<YOUR_CW_MEMBER_IDENTIFIER>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "mcp-connectwise-psa": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-connectwise-psa"
      ],
      "env": {
        "CW_SITE": "<YOUR_CW_SITE>",
        "CW_COMPANY_ID": "<YOUR_CW_COMPANY_ID>",
        "CW_CLIENT_ID": "<YOUR_CW_CLIENT_ID>",
        "CW_PUBLIC_KEY": "<YOUR_CW_PUBLIC_KEY>",
        "CW_PRIVATE_KEY": "<YOUR_CW_PRIVATE_KEY>",
        "CW_MEMBER_IDENTIFIER": "<YOUR_CW_MEMBER_IDENTIFIER>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcp-connectwise-psa": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-connectwise-psa"
      ],
      "env": {
        "CW_SITE": "<YOUR_CW_SITE>",
        "CW_COMPANY_ID": "<YOUR_CW_COMPANY_ID>",
        "CW_CLIENT_ID": "<YOUR_CW_CLIENT_ID>",
        "CW_PUBLIC_KEY": "<YOUR_CW_PUBLIC_KEY>",
        "CW_PRIVATE_KEY": "<YOUR_CW_PRIVATE_KEY>",
        "CW_MEMBER_IDENTIFIER": "<YOUR_CW_MEMBER_IDENTIFIER>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "mcp-connectwise-psa": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-connectwise-psa"
      ],
      "env": {
        "CW_SITE": "<YOUR_CW_SITE>",
        "CW_COMPANY_ID": "<YOUR_CW_COMPANY_ID>",
        "CW_CLIENT_ID": "<YOUR_CW_CLIENT_ID>",
        "CW_PUBLIC_KEY": "<YOUR_CW_PUBLIC_KEY>",
        "CW_PRIVATE_KEY": "<YOUR_CW_PRIVATE_KEY>",
        "CW_MEMBER_IDENTIFIER": "<YOUR_CW_MEMBER_IDENTIFIER>"
      }
    }
  }
}
Claude Code
claude mcp add mcp-connectwise-psa --env CW_SITE=<YOUR_CW_SITE> --env CW_COMPANY_ID=<YOUR_CW_COMPANY_ID> --env CW_CLIENT_ID=<YOUR_CW_CLIENT_ID> --env CW_PUBLIC_KEY=<YOUR_CW_PUBLIC_KEY> --env CW_PRIVATE_KEY=<YOUR_CW_PRIVATE_KEY> --env CW_MEMBER_IDENTIFIER=<YOUR_CW_MEMBER_IDENTIFIER> -- npx -y mcp-connectwise-psa

Related MCP servers

IT Glue

Active

IT Glue MCP server for MSPs — documents, flexible assets, semantic vector search, RBAC, and BYOK

5
TypeScript
MIT
View repository →

Microsoft Planner MCP server — plans, buckets, tasks via Microsoft Graph, ETags handled

4
TypeScript
MIT
View repository →