search_api_endpointsLABSCO SUMMARY
The hard part of ConnectWise is finding the endpoint, and that is what this indexes.
ConnectWise Manage exposes hundreds of endpoints with conditions syntax that nobody remembers. Making the definition searchable in natural language turns "open high-priority tickets" into a real call instead of a guess, and Fast Memory means the second time costs nothing. Note the licence: the code is proprietary, not open source.
What it is
A gateway in front of the ConnectWise Manage API. A local SQLite database built from ConnectWise's own API definition makes every endpoint searchable, so an agent can find the right call before making it — and save the calls it uses often.
What you get
- Endpoint discovery —
search_api_endpointsby keyword,natural_language_api_searchby description,list_api_categoriesandget_category_endpointsto browse,get_api_endpoint_detailsfor parameters and schemas - Execution —
execute_api_callwith path, method, query parameters and body, orsend_raw_api_requestin the formMETHOD /path [JSON body] - Fast Memory —
save_to_fast_memory,list_fast_memory,delete_from_fast_memoryandclear_fast_memorykeep frequently used queries with their parameters, ordered by how often you use them
Requirements
Python 3.10 or higher and ConnectWise Manage API credentials. Install by cloning and running pip install -e .. Five environment variables are required: CONNECTWISE_API_URL, CONNECTWISE_COMPANY_ID, CONNECTWISE_PUBLIC_KEY, CONNECTWISE_PRIVATE_KEY and CONNECTWISE_AUTH_PREFIX — the prefix is the integration marker ConnectWise expects before your public key. The API database ships pre-built; rebuild it with build_database.py only when ConnectWise publishes a new definition. Package version 1.0.0.
Setup effort
Build from source — git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git
USE CASES
Finding the right ConnectWise endpoint without reading the docs
Describe what you need in a sentence, get candidate endpoints, then open one to see its parameters before calling it.
Pulling a filtered ticket list
Run a GET against the tickets endpoint with a conditions filter and only the fields you need.
Opening a service ticket from the conversation
POST a ticket body with board, company, status and priority and get the created record back.
Reusing the query you keep retyping
Save a working call with a description, then list and re-run it later without restating the parameters.
11 tools
Listed in project docs. Your client may show a different list.
natural_language_api_searchlist_api_categoriesget_category_endpointsget_api_endpoint_detailsexecute_api_callsend_raw_api_requestsave_to_fast_memorylist_fast_memorydelete_from_fast_memoryclear_fast_memoryBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation.
Requires
- Python 3.10 or later
- CONNECTWISE_PUBLIC_KEY in your environment
- CONNECTWISE_PRIVATE_KEY in your environment
- CONNECTWISE_AUTH_PREFIX in your environment
- CONNECTWISE_API_URL in your environment
- CONNECTWISE_COMPANY_ID in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git
cd CWM-API-Gateway-MCP
pip install -e .MCP Clients
Claude Desktop
{
"mcpServers": {
"CWM-API-Gateway-MCP": {
"command": "python3",
"args": [
"<YOUR_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_CONNECTWISE_COMPANY_ID>",
"CONNECTWISE_PUBLIC_KEY": "<YOUR_CONNECTWISE_PUBLIC_KEY>",
"CONNECTWISE_PRIVATE_KEY": "<YOUR_CONNECTWISE_PRIVATE_KEY>",
"CONNECTWISE_AUTH_PREFIX": "<YOUR_CONNECTWISE_AUTH_PREFIX>+"
}
}
}
}<YOUR_PATH_TO_CWM_API_GATEWAY_MCP> is the full path of the CWM-API-Gateway-MCP folder you cloned. CONNECTWISE_AUTH_PREFIX is your auth prefix. On Windows the README uses python and a C:/path/to/… path instead.