ConnectWise Manage API
About
Bridges Claude with the ConnectWise Manage API through a SQLite database built from API definitions, enabling natural language search, categorized navigation, and fast memory for efficient IT service ticket management and company information retrieval.
Details
- Author
- jasondsmith72
- Repository
- jasondsmith72/CWM-API-Gateway-MCP
- GitHub stars
- 2
- Downloads
- 185
- Categories
- Design, Developer Tools, Search, Knowledge Base, Frontend, AI, Cloud Service, Infrastructure
- Tags
- #integration
Jump to
- API Discovery: Search for and explore ConnectWise API endpoints using keywords or natural language
- Simplified API Execution: Execute API calls with friendly parameter handling and automatic error management
- Fast Memory System: Save and retrieve frequently used API queries for more efficient workflows
- Raw API Access: Send custom API requests with complete control over endpoints, methods, and parameters
- Database-Backed API Discovery: Uses a SQLite database built from the ConnectWise API definition JSON for fast, efficient endpoint lookups
- Natural Language Search: Find relevant API endpoints using conversational descriptions of what you need
- Categorized API Navigation: Browse API endpoints organized by functional categories
- Detailed Documentation Access: View comprehensive information about API endpoints including parameters, schemas, and response formats
- Adaptive Learning: The system learns which API calls are most valuable to you through usage tracking
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
ConnectWise Manage APICommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
@jasondsmith72/CWM-API-Gateway-MCP
Environment-
CONNECTWISE_API_URL
https://na.myconnectwise.net/v4_6_release/apis/3.0 -
CONNECTWISE_COMPANY_ID
your_company_id -
CONNECTWISE_PUBLIC_KEY
your_public_key -
CONNECTWISE_AUTH_PREFIX
yourprefix+ -
CONNECTWISE_PRIVATE_KEY
your_private_key
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
After installing on any platform (Windows, macOS, or Linux), complete the following steps:
Set the following environment variables with your ConnectWise credentials:
CONNECTWISE_API_URL=https://na.myconnectwise.net/v4_6_release/apis/3.0
CONNECTWISE_COMPANY_ID=your_company_id
CONNECTWISE_PUBLIC_KEY=your_public_key
CONNECTWISE_PRIVATE_KEY=your_private_key
CONNECTWISE_AUTH_PREFIX=yourprefix+ # Prefix required by ConnectWise for API authentication
These credentials are used in the authentication process as follows:
- CONNECTWISE_API_URL: The base URL for all API requests to your ConnectWise instance
url = f"{API_URL}{endpoint}" # e.g., https://na.myconnectwise.net/v4_6_release/apis/3.0/service/tickets
- CONNECTWISE_COMPANY_ID: Included in the 'clientId' header of each request to identify your company
headers = {'clientId': COMPANY_ID, ...}
- CONNECTWISE_PUBLIC_KEY and CONNECTWISE_PRIVATE_KEY: Used together with AUTH_PREFIX to create the basic authentication credentials
username = f"{AUTH_PREFIX}{PUBLIC_KEY}" # e.g., "yourprefix+your_public_key"
password = PRIVATE_KEY
credentials = f"{username}:{password}" # Combined into "yourprefix+your_public_key:your_private_key"
- CONNECTWISE_AUTH_PREFIX: Required prefix added before your public key in the authentication username. ConnectWise API requires this prefix to identify the type of integration (e.g., "api+", "integration+", etc.)
The final HTTP headers sent with every request will look like:
'Authorization': 'Basic [base64 encoded credentials]'
'clientId': 'your_company_id'
'Content-Type': 'application/json'
There are two methods to integrate with Claude Desktop:
cwm-api-gateway-mcp
search_api_endpoints
Search for API endpoints by query string.
natural_language_api_search
Find endpoints using natural language descriptions.
list_api_categories
List all available API categories.
get_category_endpoints
List all endpoints in a specific category.
get_api_endpoint_details
Get detailed information about a specific endpoint.
execute_api_call
Execute an API call with path, method, parameters, and data.
send_raw_api_request
Send a raw API request in the format 'METHOD /path [JSON body]'.
save_to_fast_memory
Manually save an API query to Fast Memory.
list_fast_memory
List all queries saved in Fast Memory.
delete_from_fast_memory
Delete a specific query from Fast Memory.
clear_fast_memory
Clear all queries from Fast Memory.
The API Gateway MCP server provides several tools for working with the ConnectWise API:
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"connectwise manage api": {
"env": {
"CONNECTWISE_API_URL": "https://na.myconnectwise.net/v4_6_release/apis/3.0",
"CONNECTWISE_COMPANY_ID": "your_company_id",
"CONNECTWISE_PUBLIC_KEY": "your_public_key",
"CONNECTWISE_AUTH_PREFIX": "yourprefix+",
"CONNECTWISE_PRIVATE_KEY": "your_private_key"
},
"args": [
"-y",
"@jasondsmith72/CWM-API-Gateway-MCP"
],
"command": "npx"
}
}
}
Linux
{
"env": {
"CONNECTWISE_API_URL": "https://na.myconnectwise.net/v4_6_release/apis/3.0",
"CONNECTWISE_COMPANY_ID": "your_company_id",
"CONNECTWISE_PUBLIC_KEY": "your_public_key",
"CONNECTWISE_AUTH_PREFIX": "yourprefix+",
"CONNECTWISE_PRIVATE_KEY": "your_private_key"
},
"args": [
"-y",
"@jasondsmith72/CWM-API-Gateway-MCP"
],
"command": "npx"
}
Macos
{
"env": {
"CONNECTWISE_API_URL": "https://na.myconnectwise.net/v4_6_release/apis/3.0",
"CONNECTWISE_COMPANY_ID": "your_company_id",
"CONNECTWISE_PUBLIC_KEY": "your_public_key",
"CONNECTWISE_AUTH_PREFIX": "yourprefix+",
"CONNECTWISE_PRIVATE_KEY": "your_private_key"
},
"args": [
"-y",
"@jasondsmith72/CWM-API-Gateway-MCP"
],
"command": "npx"
}
Windows
{
"env": {
"CONNECTWISE_API_URL": "https://na.myconnectwise.net/v4_6_release/apis/3.0",
"CONNECTWISE_COMPANY_ID": "your_company_id",
"CONNECTWISE_PUBLIC_KEY": "your_public_key",
"CONNECTWISE_AUTH_PREFIX": "yourprefix+",
"CONNECTWISE_PRIVATE_KEY": "your_private_key"
},
"args": [
"/c",
"npx",
"-y",
"@jasondsmith72/CWM-API-Gateway-MCP"
],
"command": "cmd"
}
ConnectWise API Gateway MCP Server
This Model Context Protocol (MCP) server provides a comprehensive interface for interacting with the ConnectWise Manage API. It simplifies API discovery, execution, and management for both developers and AI assistants.
Core Capabilities
- API Discovery: Search for and explore ConnectWise API endpoints using keywords or natural language
- Simplified API Execution: Execute API calls with friendly parameter handling and automatic error management
- Fast Memory System: Save and retrieve frequently used API queries for more efficient workflows
- Raw API Access: Send custom API requests with complete control over endpoints, methods, and parameters
Key Features
- Database-Backed API Discovery: Uses a SQLite database built from the ConnectWise API definition JSON for fast, efficient endpoint lookups
- Natural Language Search: Find relevant API endpoints using conversational descriptions of what you need
- Categorized API Navigation: Browse API endpoints organized by functional categories
- Detailed Documentation Access: View comprehensive information about API endpoints including parameters, schemas, and response formats
- Adaptive Learning: The system learns which API calls are most valuable to you through usage tracking
Installation & Setup
Prerequisites
- Python 3.10 or higher
- Access to ConnectWise Manage API credentials
- ConnectWise API definition file (manage.json) - included in the repository
Installation Steps
Option 1: Using GitHub NPM Package (Recommended)
You can install the package directly from GitHub:
npm install -g jasondsmith72/CWM-API-Gateway-MCP
This method automatically handles all dependencies and provides a simpler configuration for Claude Desktop.
Option 2: Manual Installation
Windows
1. Clone or download the repository:
git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git
cd CWM-API-Gateway-MCP
2. Install the package:
pip install -e .
macOS
For the NPM installation method, simply run:
npm install -g jasondsmith72/CWM-API-Gateway-MCP
For manual installation:
1. Install Python 3.10+ if not already installed:
# Using Homebrew
brew install python@3.10
# Or using pyenv
brew install pyenv
pyenv install 3.10.0
pyenv global 3.10.0
2. Clone the repository:
git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git
cd CWM-API-Gateway-MCP
3. Set up a virtual environment (recommended):
python3 -m venv venv
source venv/bin/activate
4. Install the package:
pip install -e .
Linux (Ubuntu/Debian)
For the NPM installation method, simply run:
sudo npm install -g jasondsmith72/CWM-API-Gateway-MCP
For manual installation:
1. Install Python 3.10+ if not already installed:
# For Ubuntu 22.04+
sudo apt update
sudo apt install python3.10 python3.10-venv python3.10-dev python3-pip
# For older versions of Ubuntu/Debian
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.10 python3.10-venv python3.10-dev python3-pip
2. Clone the repository:
git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git
cd CWM-API-Gateway-MCP
3. Set up a virtual environment (recommended):
python3.10 -m venv venv
source venv/bin/activate
4. Install the package:
pip install -e .
Post-Installation Steps
After installing on any platform (Windows, macOS, or Linux), complete the following steps:
1. (Optional) Build the API Database
This repository already includes a pre-built database, so this step is optional. Only run this if you need to use a newer ConnectWise API definition file:
# On Windows
python build_database.py path/to/manage.json
On macOS/Linux
python3 build_database.py path/to/manage.json
This step only needs to be done once, or whenever the ConnectWise API definition changes.
2. Configure API Credentials
Set the following environment variables with your ConnectWise credentials:
CONNECTWISE_API_URL=https://na.myconnectwise.net/v4_6_release/apis/3.0
CONNECTWISE_COMPANY_ID=your_company_id
CONNECTWISE_PUBLIC_KEY=your_public_key
CONNECTWISE_PRIVATE_KEY=your_private_key
CONNECTWISE_AUTH_PREFIX=yourprefix+ # Prefix required by ConnectWise for API authentication
These credentials are used in the authentication process as follows:
- CONNECTWISE_API_URL: The base URL for all API requests to your ConnectWise instance
url = f"{API_URL}{endpoint}" # e.g., https://na.myconnectwise.net/v4_6_release/apis/3.0/service/tickets
- CONNECTWISE_COMPANY_ID: Included in the 'clientId' header of each request to identify your company
headers = {'clientId': COMPANY_ID, ...}
- CONNECTWISE_PUBLIC_KEY and CONNECTWISE_PRIVATE_KEY: Used together with AUTH_PREFIX to create the basic authentication credentials
username = f"{AUTH_PREFIX}{PUBLIC_KEY}" # e.g., "yourprefix+your_public_key"
password = PRIVATE_KEY
credentials = f"{username}:{password}" # Combined into "yourprefix+your_public_key:your_private_key"
- CONNECTWISE_AUTH_PREFIX: Required prefix added before your public key in the authentication username. ConnectWise API requires this prefix to identify the type of integration (e.g., "api+", "integration+", etc.)
The final HTTP headers sent with every request will look like:
'Authorization': 'Basic [base64 encoded credentials]'
'clientId': 'your_company_id'
'Content-Type': 'application/json'
Configuration for Claude Desktop
There are two methods to integrate with Claude Desktop:
Method 1: Using NPM Package (Recommended)
Install the package using NPM:
npm install -g jasondsmith72/CWM-API-Gateway-MCP
Then configure Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"CWM-API-Gateway-MCP": {
"command": "npx",
"args": [
"-y",
"@jasondsmith72/CWM-API-Gateway-MCP"
],
"env": {
"CONNECTWISE_API_URL": "https://na.myconnectwise.net/v4_6_release/apis/3.0",
"CONNECTWISE_COMPANY_ID": "your_company_id",
"CONNECTWISE_PUBLIC_KEY": "your_public_key",
"CONNECTWISE_PRIVATE_KEY": "your_private_key",
"CONNECTWISE_AUTH_PREFIX": "yourprefix+"
}
}
}
}
Method 2: Using Node.js Script (Alternate Method)
If you've cloned the repository and installed the dependencies, you can use the included Node.js script:
{
"mcpServers": {
"CWM-API-Gateway-MCP": {
"command": "node",
"args": ["C:/path/to/CWM-API-Gateway-MCP/bin/server.js"],
"env": {
"CONNECTWISE_API_URL": "https://na.myconnectwise.net/v4_6_release/apis/3.0",
"CONNECTWISE_COMPANY_ID": "your_company_id",
"CONNECTWISE_PUBLIC_KEY": "your_public_key",
"CONNECTWISE_PRIVATE_KEY": "your_private_key",
"CONNECTWISE_AUTH_PREFIX": "yourprefix+"
}
}
}
}
Method 3: Using Direct Python Script Path
If you prefer to use the Python script directly:
{
"mcpServers": {
"CWM-API-Gateway-MCP": {
"command": "python",
"args": ["C:/path/to/CWM-API-Gateway-MCP/api_gateway_server.py"],
"env": {
"CONNECTWISE_API_URL": "https://na.myconnectwise.net/v4_6_release/apis/3.0",
"CONNECTWISE_COMPANY_ID": "your_company_id",
"CONNECTWISE_PUBLIC_KEY": "your_public_key",
"CONNECTWISE_PRIVATE_KEY": "your_private_key",
"CONNECTWISE_AUTH_PREFIX": "yourprefix+"
}
}
}
}
For macOS and Linux, use the appropriate path format:
…
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




