Skip to main content
Glama

ConnectWise API Gateway MCP Server

ConnectWise API Gateway MCP 서버

이 모델 컨텍스트 프로토콜(MCP) 서버는 ConnectWise Manage API와 상호 작용하기 위한 포괄적인 인터페이스를 제공합니다. 개발자와 AI 비서 모두의 API 검색, 실행 및 관리를 간소화합니다.

핵심 역량

  • API 검색: 키워드 또는 자연어를 사용하여 ConnectWise API 엔드포인트를 검색하고 탐색합니다.
  • 간소화된 API 실행: 사용자 친화적인 매개변수 처리 및 자동 오류 관리를 통해 API 호출을 실행합니다.
  • 빠른 메모리 시스템: 보다 효율적인 워크플로를 위해 자주 사용되는 API 쿼리를 저장하고 검색합니다.
  • 원시 API 액세스: 엔드포인트, 메서드 및 매개변수에 대한 완벽한 제어를 통해 사용자 지정 API 요청을 보냅니다.

주요 특징

  • 데이터베이스 지원 API 검색: 빠르고 효율적인 엔드포인트 조회를 위해 ConnectWise API 정의 JSON에서 구축된 SQLite 데이터베이스를 사용합니다.
  • 자연어 검색: 필요한 내용에 대한 대화형 설명을 사용하여 관련 API 엔드포인트를 찾습니다.
  • 분류된 API 탐색: 기능 범주별로 구성된 API 엔드포인트를 탐색합니다.
  • 자세한 문서 액세스: 매개변수, 스키마, 응답 형식을 포함한 API 엔드포인트에 대한 포괄적인 정보를 확인하세요.
  • 적응형 학습: 시스템은 사용 추적을 통해 어떤 API 호출이 사용자에게 가장 가치 있는지 학습합니다.

설치 및 설정

필수 조건

  • Python 3.10 이상
  • ConnectWise Manage API 자격 증명에 대한 액세스
  • ConnectWise API 정의 파일( manage.json ) - 저장소에 포함됨

설치 단계

옵션 1: GitHub NPM 패키지 사용(권장)

GitHub에서 직접 패키지를 설치할 수 있습니다.

지엑스피1

이 방법은 모든 종속성을 자동으로 처리하고 Claude Desktop에 대한 더 간단한 구성을 제공합니다.

옵션 2: 수동 설치
윈도우
  1. 저장소를 복제하거나 다운로드하세요.
    git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git cd CWM-API-Gateway-MCP
  2. 패키지를 설치하세요:
    pip install -e .
맥OS

NPM 설치 방법을 사용하려면 다음을 실행하세요.

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

수동 설치의 경우:

  1. Python 3.10 이상이 아직 설치되지 않았다면 설치하세요.
    # Using Homebrew brew install python@3.10 # Or using pyenv brew install pyenv pyenv install 3.10.0 pyenv global 3.10.0
  2. 저장소를 복제합니다.
    git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git cd CWM-API-Gateway-MCP
  3. 가상 환경 설정(권장):
    python3 -m venv venv source venv/bin/activate
  4. 패키지를 설치하세요:
    pip install -e .
리눅스(우분투/데비안)

NPM 설치 방법을 사용하려면 다음을 실행하세요.

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

수동 설치의 경우:

  1. Python 3.10 이상이 아직 설치되지 않았다면 설치하세요.
    # 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. 저장소를 복제합니다.
    git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git cd CWM-API-Gateway-MCP
  3. 가상 환경 설정(권장):
    python3.10 -m venv venv source venv/bin/activate
  4. 패키지를 설치하세요:
    pip install -e .

설치 후 단계

Windows, macOS, Linux 등 어떤 플랫폼에 설치하든 다음 단계를 완료하세요.

1. (선택 사항) API 데이터베이스 구축

이 저장소에는 이미 미리 빌드된 데이터베이스가 포함되어 있으므로 이 단계는 선택 사항입니다. 최신 ConnectWise API 정의 파일을 사용해야 하는 경우에만 실행하세요.

# On Windows python build_database.py path/to/manage.json # On macOS/Linux python3 build_database.py path/to/manage.json

이 단계는 한 번만 수행하면 되며, ConnectWise API 정의가 변경될 때마다 수행하면 됩니다.

2. API 자격 증명 구성

ConnectWise 자격 증명으로 다음 환경 변수를 설정하세요.

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

이러한 자격 증명은 인증 프로세스에서 다음과 같이 사용됩니다.

  • CONNECTWISE_API_URL : ConnectWise 인스턴스에 대한 모든 API 요청의 기본 URL입니다.
    url = f"{API_URL}{endpoint}" # e.g., https://na.myconnectwise.net/v4_6_release/apis/3.0/service/tickets
  • CONNECTWISE_COMPANY_ID : 회사를 식별하기 위해 각 요청의 'clientId' 헤더에 포함됩니다.
    headers = {'clientId': COMPANY_ID, ...}
  • CONNECTWISE_PUBLIC_KEYCONNECTWISE_PRIVATE_KEY : AUTH_PREFIX와 함께 사용되어 기본 인증 자격 증명을 생성합니다.
    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 : 인증 사용자 이름에서 공개 키 앞에 추가되는 필수 접두사입니다. ConnectWise API는 통합 유형을 식별하기 위해 이 접두사를 필요로 합니다(예: "api+", "integration+" 등).

모든 요청과 함께 전송되는 최종 HTTP 헤더는 다음과 같습니다.

'Authorization': 'Basic [base64 encoded credentials]' 'clientId': 'your_company_id' 'Content-Type': 'application/json'

Claude Desktop 구성

Claude Desktop과 통합하는 방법은 두 가지가 있습니다.

방법 1: NPM 패키지 사용(권장)

NPM을 사용하여 패키지를 설치하세요:

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

그런 다음 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+" } } } }

방법 2: Node.js 스크립트 사용(대체 방법)

저장소를 복제하고 종속성을 설치한 경우 포함된 Node.js 스크립트를 사용할 수 있습니다.

{ "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+" } } } }

방법 3: 직접 Python 스크립트 경로 사용

Python 스크립트를 직접 사용하려면 다음을 따르세요.

{ "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+" } } } }

macOS 및 Linux의 경우 적절한 경로 형식을 사용하세요.

{ "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+" } } } }

테스트를 위해 명령줄에서 직접 서버를 실행할 수 있습니다.

# 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

사용 가능한 도구

API Gateway MCP 서버는 ConnectWise API 작업을 위한 여러 도구를 제공합니다.

API 검색 도구

도구설명
search_api_endpoints쿼리 문자열로 API 엔드포인트 검색
natural_language_api_search자연어 설명을 사용하여 엔드포인트 찾기
list_api_categories사용 가능한 모든 API 카테고리 나열
get_category_endpoints특정 카테고리의 모든 엔드포인트 나열
get_api_endpoint_details특정 엔드포인트에 대한 자세한 정보를 얻으세요

API 실행 도구

도구설명
execute_api_call경로, 메서드, 매개변수 및 데이터를 사용하여 API 호출을 실행합니다.
send_raw_api_request"METHOD /path [JSON body]" 형식으로 원시 API 요청을 보냅니다.

빠른 메모리 도구

도구설명
save_to_fast_memoryAPI 쿼리를 Fast Memory에 수동으로 저장
list_fast_memoryFast Memory에 저장된 모든 쿼리를 나열합니다.
delete_from_fast_memoryFast Memory에서 특정 쿼리 삭제
clear_fast_memoryFast Memory에서 모든 쿼리를 지웁니다.

사용 예

티켓 관련 엔드포인트 검색

search_api_endpoints("tickets")

자연어를 사용한 검색

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

GET 요청 실행

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

새 서비스 티켓 만들기

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} } )

원시 API 요청 보내기

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

빠른 메모리 내용 보기

list_fast_memory()

유용한 쿼리를 빠른 메모리에 저장

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

빠른 메모리 이해

빠른 메모리 기능을 사용하면 자주 사용되는 API 쿼리를 저장하고 검색하여 여러 가지 방법으로 워크플로를 최적화할 수 있습니다.

이익

  • 시간 절약: 정확한 엔드포인트나 매개변수를 기억하지 않고도 복잡한 API 호출을 빠르게 실행합니다.
  • 오류 감소: 성공적인 API 호출을 재사용하여 잠재적 오류를 최소화합니다.
  • 적응형 학습: 시스템은 어떤 API 호출이 사용자에게 가장 가치 있는지 학습합니다.
  • 매개변수 지속성: 매개변수와 요청 본문은 향후 사용을 위해 저장됩니다.

작동 원리

  1. 자동 학습: 성공적인 API 호출을 실행하면 빠른 메모리에 저장하라는 메시지가 표시됩니다.
  2. 지능형 검색: 다음에 동일한 API 엔드포인트를 사용할 때 시스템은 먼저 빠른 메모리를 확인합니다.
  3. 매개변수 재사용: 호출에 대한 매개변수를 제공하지 않으면 시스템은 자동으로 빠른 메모리에 저장된 매개변수를 사용합니다.
  4. 사용 추적: 시스템은 각 쿼리가 얼마나 자주 사용되는지 추적하고 자주 사용되는 쿼리를 우선 순위로 지정합니다.

빠른 메모리 기능

  • 자동 매개변수 제안: 매개변수가 제공되지 않으면 시스템은 Fast Memory에서 매개변수를 제안합니다.
  • 사용 카운터: Fast Memory의 쿼리가 사용될 때마다 사용 횟수가 증가합니다.
  • 검색 기능: 설명 또는 엔드포인트 경로를 기준으로 저장된 쿼리를 검색합니다.
  • 우선순위: 쿼리는 사용 빈도 순으로 표시되며 가장 자주 사용되는 쿼리가 맨 위에 표시됩니다.

빠른 메모리 관리

  • 저장된 쿼리 보기: list_fast_memory()
  • 특정 쿼리 검색: list_fast_memory("search term")
  • 쿼리 삭제: delete_from_fast_memory(query_id)
  • 모든 쿼리 지우기: clear_fast_memory()

빠른 메모리 기술 세부 사항

Fast Memory 시스템은 다음을 저장하는 SQLite 데이터베이스( fast_memory_api.db )로 구동됩니다.

  • 쿼리 경로 및 메서드
  • JSON 형태의 매개변수와 요청 본문
  • 사용 지표 및 타임스탬프
  • 사용자 친화적인 설명

데이터베이스 구조는 다음과 같습니다.

  • id : 저장된 각 쿼리에 대한 고유 식별자
  • description : 쿼리가 수행하는 작업에 대한 사용자 제공 설명
  • path : API 엔드포인트 경로
  • method : HTTP 메서드(GET, POST, PUT 등)
  • params : JSON 형식의 쿼리 매개변수
  • data : JSON 형식의 요청 본문
  • timestamp : 쿼리가 마지막으로 사용된 시간
  • usage_count : 쿼리가 사용된 횟수

문제 해결

일반적인 문제

데이터베이스를 찾을 수 없음 오류
Error: Database file not found at [path] Please run build_database.py script first to generate the database

해결 방법: ConnectWise API 정의 파일 경로로 build_database.py 스크립트를 실행합니다.

python build_database.py path/to/manage.json
API 인증 문제
HTTP error 401: Unauthorized

해결 방법: 모든 ConnectWise 자격 증명이 올바른지 확인하려면 환경 변수를 확인하세요.

  • CONNECTWISE_COMPANY_ID , CONNECTWISE_PUBLIC_KEYCONNECTWISE_PRIVATE_KEY 확인하세요.
  • ConnectWise에서 API 키에 필요한 권한이 있는지 확인하세요.
  • CONNECTWISE_AUTH_PREFIX 사용자 환경에 맞게 올바르게 설정되었는지 확인하세요.
API 호출 시 시간 초과
Request timed out. ConnectWise API may be slow to respond.

해결책:

  • 인터넷 연결을 확인하세요
  • ConnectWise API가 높은 부하를 겪고 있을 수 있습니다.
  • 대용량 데이터 요청의 경우 쿼리에 보다 구체적인 필터를 추가하는 것을 고려하세요.

로그 및 진단

로그 위치
  • 메인 로그 파일: api_gateway/api_gateway.log
  • SQLite 데이터베이스:
    • API 데이터베이스: api_gateway/connectwise_api.db
    • 빠른 메모리 데이터베이스: api_gateway/fast_memory_api.db
데이터베이스 테스트

데이터베이스가 올바르게 구축되었고 접근 가능한지 확인하세요.

python test_database.py

이렇게 하면 데이터베이스에 대한 통계가 표시되고 제대로 쿼리할 수 있는지 확인됩니다.

고급 사용법

API 쿼리 최적화

ConnectWise API를 사용하여 더 나은 성능을 얻으려면:

  1. 특정 조건 사용: 정확한 조건으로 쿼리 범위를 좁히세요
    execute_api_call("/service/tickets", "GET", { "conditions": "status/name='Open' AND dateEntered > [2023-01-01T00:00:00Z]" })
  2. 필드 선택 제한: 필요한 필드만 요청하세요
    execute_api_call("/service/tickets", "GET", { "conditions": "status/name='Open'", "fields": "id,summary,status,priority" })
  3. 큰 결과 페이지 나누기: 페이지 및 페이지 크기 매개변수 사용
    execute_api_call("/service/tickets", "GET", { "conditions": "status/name='Open'", "page": 1, "pageSize": 50 })

특허

본 소프트웨어는 독점적이며 기밀입니다. 무단 복제, 배포 또는 사용을 금지합니다.

감사의 말

  • MCP(Model Context Protocol) 프레임워크를 사용하여 구축됨
  • ConnectWise Manage API 지원

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that enables Claude to interact with the ConnectWise Manage API to perform operations like retrieving, creating, updating, and deleting tickets, companies, contacts, and other entities.
    Last updated -
    JavaScript
    MIT License
    • Apple
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that allows AI assistants to interact with Appwrite's API, providing tools to manage databases, users, functions, teams, and other resources within Appwrite projects.
    Last updated -
    84
    40
    Python
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that provides seamless interaction with Workato's API through custom AI tools, enabling management of recipes, connections, connectors, folders, and activity logs.
    Last updated -
    TypeScript
    MIT License
    • Apple
    • Linux
  • A
    security
    F
    license
    A
    quality
    A Model Context Protocol server that connects AI assistants like Claude to Notion workspaces, enabling them to view, search, create, and update Notion databases, pages, and content blocks.
    Last updated -
    12
    194
    JavaScript
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jasondsmith72/CWM-API-Gateway-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server