Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Cwm Api Gateway Mcp

    ConnectWise Manage API Gateway MCP Server for Claude

    7 stars
    Python
    Updated Oct 5, 2025

    Table of Contents

    • Core Capabilities
    • Key Features
    • Installation & Setup
    • Prerequisites
    • Installation Steps
    • Option 1: Using GitHub NPM Package (Recommended)
    • Option 2: Manual Installation
    • macOS
    • Linux (Ubuntu/Debian)
    • Post-Installation Steps
    • 1. (Optional) Build the API Database
    • 2. Configure API Credentials
    • Configuration for Claude Desktop
    • Method 1: Using NPM Package (Recommended)
    • Method 2: Using Node.js Script (Alternate Method)
    • Method 3: Using Direct Python Script Path
    • Available Tools
    • API Discovery Tools
    • API Execution Tools
    • Fast Memory Tools
    • Usage Examples
    • Search for Ticket-Related Endpoints
    • Search Using Natural Language
    • Execute a GET Request
    • Create a New Service Ticket
    • Send a Raw API Request
    • View Fast Memory Contents
    • Save a Useful Query to Fast Memory
    • Understanding Fast Memory
    • Benefits
    • How It Works
    • Fast Memory Functionality
    • Managing Your Fast Memory
    • Fast Memory Technical Details
    • Troubleshooting
    • Common Issues
    • Database Not Found Error
    • API Authentication Issues
    • Timeouts on API Calls
    • Logs and Diagnostics
    • Log Locations
    • Testing the Database
    • Advanced Usage
    • Optimizing API Queries
    • License
    • Acknowledgments

    Table of Contents

    • Core Capabilities
    • Key Features
    • Installation & Setup
    • Prerequisites
    • Installation Steps
    • Option 1: Using GitHub NPM Package (Recommended)
    • Option 2: Manual Installation
    • macOS
    • Linux (Ubuntu/Debian)
    • Post-Installation Steps
    • 1. (Optional) Build the API Database
    • 2. Configure API Credentials
    • Configuration for Claude Desktop
    • Method 1: Using NPM Package (Recommended)
    • Method 2: Using Node.js Script (Alternate Method)
    • Method 3: Using Direct Python Script Path
    • Available Tools
    • API Discovery Tools
    • API Execution Tools
    • Fast Memory Tools
    • Usage Examples
    • Search for Ticket-Related Endpoints
    • Search Using Natural Language
    • Execute a GET Request
    • Create a New Service Ticket
    • Send a Raw API Request
    • View Fast Memory Contents
    • Save a Useful Query to Fast Memory
    • Understanding Fast Memory
    • Benefits
    • How It Works
    • Fast Memory Functionality
    • Managing Your Fast Memory
    • Fast Memory Technical Details
    • Troubleshooting
    • Common Issues
    • Database Not Found Error
    • API Authentication Issues
    • Timeouts on API Calls
    • Logs and Diagnostics
    • Log Locations
    • Testing the Database
    • Advanced Usage
    • Optimizing API Queries
    • License
    • Acknowledgments

    Documentation

    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:

    bash
    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:

    bash
    git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git
       cd CWM-API-Gateway-MCP

    2. Install the package:

    bash
    pip install -e .

    macOS

    For the NPM installation method, simply run:

    bash
    npm install -g jasondsmith72/CWM-API-Gateway-MCP

    For manual installation:

    1. Install Python 3.10+ if not already installed:

    bash
    # 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:

    bash
    git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git
       cd CWM-API-Gateway-MCP

    3. Set up a virtual environment (recommended):

    bash
    python3 -m venv venv
       source venv/bin/activate

    4. Install the package:

    bash
    pip install -e .

    Linux (Ubuntu/Debian)

    For the NPM installation method, simply run:

    bash
    sudo npm install -g jasondsmith72/CWM-API-Gateway-MCP

    For manual installation:

    1. Install Python 3.10+ if not already installed:

    bash
    # 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:

    bash
    git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git
       cd CWM-API-Gateway-MCP

    3. Set up a virtual environment (recommended):

    bash
    python3.10 -m venv venv
       source venv/bin/activate

    4. Install the package:

    bash
    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:

    bash
    # 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:

    code
    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
    code
    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
    code
    headers = {'clientId': COMPANY_ID, ...}
    • CONNECTWISE_PUBLIC_KEY and CONNECTWISE_PRIVATE_KEY: Used together with AUTH_PREFIX to create the basic authentication credentials
    code
    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:

    code
    '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:

    bash
    npm install -g jasondsmith72/CWM-API-Gateway-MCP

    Then configure Claude Desktop (claude_desktop_config.json):

    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:

    json
    {
      "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:

    json
    {
      "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:

    json
    {
      "mcpServers": {
        "CWM-API-Gateway-MCP": {
          "command": "python3",
          "args": ["/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+"
          }
        }
      }
    }

    The server can be run directly from the command line for testing:

    bash
    # If installed via NPM
    cwm-api-gateway-mcp
    
    # If using the Node.js script (after cloning the repository)
    node bin/server.js
    
    # Or using the Python script directly
    # On Windows
    python api_gateway_server.py
    
    # On macOS/Linux
    python3 api_gateway_server.py

    Available Tools

    The API Gateway MCP server provides several tools for working with the ConnectWise API:

    API Discovery Tools

    ToolDescription
    search_api_endpointsSearch for API endpoints by query string
    natural_language_api_searchFind endpoints using natural language descriptions
    list_api_categoriesList all available API categories
    get_category_endpointsList all endpoints in a specific category
    get_api_endpoint_detailsGet detailed information about a specific endpoint

    API Execution Tools

    ToolDescription
    execute_api_callExecute an API call with path, method, parameters, and data
    send_raw_api_requestSend a raw API request in the format "METHOD /path [JSON body]"

    Fast Memory Tools

    ToolDescription
    save_to_fast_memoryManually save an API query to Fast Memory
    list_fast_memoryList all queries saved in Fast Memory
    delete_from_fast_memoryDelete a specific query from Fast Memory
    clear_fast_memoryClear all queries from Fast Memory

    Usage Examples

    Search for Ticket-Related Endpoints

    python
    search_api_endpoints("tickets")

    Search Using Natural Language

    python
    natural_language_api_search("find all open service tickets that are high priority")

    Execute a GET Request

    python
    execute_api_call(
        "/service/tickets", 
        "GET", 
        {"conditions": "status/name='Open' and priority/name='High'"}
    )

    Create a New Service Ticket

    python
    execute_api_call(
        "/service/tickets", 
        "POST", 
        None,  # No query parameters 
        {
            "summary": "Server is down",
            "board": {"id": 1},
            "company": {"id": 2},
            "status": {"id": 1},
            "priority": {"id": 3}
        }
    )

    Send a Raw API Request

    python
    send_raw_api_request("GET /service/tickets?conditions=status/name='Open'")

    View Fast Memory Contents

    python
    list_fast_memory()

    Save a Useful Query to Fast Memory

    python
    save_to_fast_memory(
        "/service/tickets", 
        "GET", 
        "Get all high priority open tickets", 
        {"conditions": "status/name='Open' and priority/name='High'"}
    )

    Understanding Fast Memory

    The Fast Memory feature allows you to save and retrieve frequently used API queries, optimizing your workflow in several ways:

    Benefits

    • Time Savings: Quickly execute complex API calls without remembering exact endpoints or parameters
    • Error Reduction: Reuse successful API calls to minimize potential errors
    • Adaptive Learning: The system learns which API calls are most valuable to you
    • Parameter Persistence: Parameters and request bodies are stored for future use

    How It Works

    1. Automatic Learning: When you execute a successful API call, you're prompted to save it to Fast Memory

    2. Intelligent Retrieval: The next time you use the same API endpoint, the system checks Fast Memory first

    3. Parameter Reuse: If you don't provide parameters for a call, the system automatically uses those saved in Fast Memory

    4. Usage Tracking: The system tracks how often each query is used and prioritizes frequently used queries

    Fast Memory Functionality

    • Automatic Parameter Suggestion: The system will suggest parameters from Fast Memory if none are provided
    • Usage Counter: Each time a query from Fast Memory is used, its usage count increases
    • Search Capability: Search through your saved queries by description or endpoint path
    • Prioritization: Queries are displayed in order of usage frequency, with most frequently used queries at the top

    Managing Your Fast Memory

    • View Saved Queries: list_fast_memory()
    • Search Specific Queries: list_fast_memory("search term")
    • Delete a Query: delete_from_fast_memory(query_id)
    • Clear All Queries: clear_fast_memory()

    Fast Memory Technical Details

    The Fast Memory system is powered by a SQLite database (fast_memory_api.db) that stores:

    • Query paths and methods
    • Parameters and request bodies as JSON
    • Usage metrics and timestamps
    • User-friendly descriptions

    The database structure includes:

    • id: Unique identifier for each saved query
    • description: User-provided description of what the query does
    • path: API endpoint path
    • method: HTTP method (GET, POST, PUT, etc.)
    • params: Query parameters in JSON format
    • data: Request body in JSON format
    • timestamp: When the query was last used
    • usage_count: How many times the query has been used

    Troubleshooting

    Common Issues

    Database Not Found Error

    code
    Error: Database file not found at [path]
    Please run build_database.py script first to generate the database

    Solution: Run the build_database.py script with the path to your ConnectWise API definition file:

    bash
    python build_database.py path/to/manage.json

    API Authentication Issues

    code
    HTTP error 401: Unauthorized

    Solution: Check your environment variables to ensure all ConnectWise credentials are correct:

    • Verify your CONNECTWISE_COMPANY_ID, CONNECTWISE_PUBLIC_KEY, and CONNECTWISE_PRIVATE_KEY
    • Ensure the API key has the necessary permissions in ConnectWise
    • Check that CONNECTWISE_AUTH_PREFIX is set correctly for your environment

    Timeouts on API Calls

    code
    Request timed out. ConnectWise API may be slow to respond.

    Solution:

    • Check your internet connection
    • The ConnectWise API may be experiencing high load
    • For large data requests, consider adding more specific filters to your query

    Logs and Diagnostics

    Log Locations

    • Main log file: api_gateway/api_gateway.log
    • SQLite databases:
    • API Database: api_gateway/connectwise_api.db
    • Fast Memory Database: api_gateway/fast_memory_api.db

    Testing the Database

    Verify that the database is correctly built and accessible:

    bash
    python test_database.py

    This will display statistics about the database and confirm it can be queried properly.

    Advanced Usage

    Optimizing API Queries

    For better performance with the ConnectWise API:

    1. Use Specific Conditions: Narrow your queries with precise conditions

    python
    execute_api_call("/service/tickets", "GET", {
           "conditions": "status/name='Open' AND dateEntered > [2023-01-01T00:00:00Z]"
       })

    2. Limit Field Selection: Request only the fields you need

    python
    execute_api_call("/service/tickets", "GET", {
           "conditions": "status/name='Open'",
           "fields": "id,summary,status,priority"
       })

    3. Paginate Large Results: Use page and pageSize parameters

    python
    execute_api_call("/service/tickets", "GET", {
           "conditions": "status/name='Open'",
           "page": 1,
           "pageSize": 50
       })

    License

    This software is proprietary and confidential. Unauthorized copying, distribution, or use is prohibited.

    Acknowledgments

    • Built using the Model Context Protocol (MCP) framework
    • Powered by ConnectWise Manage API

    Similar MCP

    Based on tags & features

    • ES

      Esp Rainmaker Mcp

      Python·
      9
    • PE

      Personalizationmcp

      Python·
      12
    • FA

      Fal Mcp Server

      Python·
      8
    • OP

      Opengenes Mcp

      Python·
      12

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • ES

      Esp Rainmaker Mcp

      Python·
      9
    • PE

      Personalizationmcp

      Python·
      12
    • FA

      Fal Mcp Server

      Python·
      8
    • OP

      Opengenes Mcp

      Python·
      12

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k