ConnectWise API 网关 MCP 服务器
使用说明
项目简介
ConnectWise API 网关 MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,专注于简化与 ConnectWise Manage API 的集成和交互。它充当 LLM 客户端与 ConnectWise API 之间的桥梁,提供了便捷的 API 发现、执行和管理能力,旨在提升开发者和 AI 助手使用 ConnectWise API 的效率。
主要功能点
- API 发现: 通过关键词或自然语言搜索 ConnectWise Manage API 的可用接口。
- 简化 API 执行: 使用友好的参数处理方式执行 ConnectWise API 调用,并自动管理错误。
- 快速记忆系统: 保存和检索常用的 API 查询,优化工作流程,无需重复输入复杂的参数。
- 原始 API 访问: 支持发送自定义的原始 API 请求,提供更灵活的控制。
安装步骤
-
克隆仓库:
git clone https://github.com/jasondsmith72/CWM-API-Gateway-MCP.git cd CWM-API-Gateway-MCP -
安装 Python 包:
pip install -e . -
构建 API 数据库: 首次使用或 ConnectWise API 定义更新时,需要构建 API 数据库。请先下载 ConnectWise API 定义文件 'manage.json',然后运行以下命令:
python build_database.py path/to/manage.json请将 'path/to/manage.json' 替换为您实际的 'manage.json' 文件路径。
-
配置 API 凭据: 设置以下环境变量,用于 ConnectWise API 的身份验证:
CONNECTWISE_API_URL=https://your-instance.connectwise.com/v4_6_release/apis/3.0 # 您的 ConnectWise 实例 API URL CONNECTWISE_COMPANY_ID=your_company_id # 您的公司 ID CONNECTWISE_PUBLIC_KEY=your_public_key # 您的公共密钥 CONNECTWISE_PRIVATE_KEY=your_private_key # 您的私有密钥 CONNECTWISE_AUTH_PREFIX=yourprefix+ # 可选:默认为 "microtech+"
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)集成,您需要在客户端的配置文件中添加服务器配置信息。以下是一个 'claude_desktop_config.json' 示例,展示了如何配置 'api_gateway' 服务器:
{ "mcpServers": { "api_gateway": { "command": "python", "args": ["path/to/api_gateway_server.py"], "env": { "CONNECTWISE_API_URL": "https://your-instance.connectwise.com/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+" } } } }
配置参数说明:
- server name: 'api_gateway' (服务器名称,可以自定义)
- command: 'python' (运行服务器的命令)
- args: '["path/to/api_gateway_server.py"]' (服务器启动脚本路径,请将 'path/to/api_gateway_server.py' 替换为实际路径)
- env: 环境变量配置,包含 ConnectWise API 凭据,请根据您的实际信息填写。
基本使用方法
服务器启动后,MCP 客户端可以通过 JSON-RPC 协议调用服务器提供的工具 (Tools) 来与 ConnectWise API 交互。
常用工具示例:
- 'search_api_endpoints(query)': 根据关键词 'query' 搜索 API 接口。例如,搜索 "tickets" 相关的接口。
- 'natural_language_api_search(query)': 使用自然语言 'query' 搜索 API 接口。例如,搜索 "find all open service tickets"。
- 'execute_api_call(path, method, params, data)': 执行 API 调用。例如,获取打开的服务单:'execute_api_call("/service/tickets", "GET", {"conditions": "status/name='Open'"})'。
- 'list_fast_memory()': 列出所有保存在快速记忆中的 API 查询。
- 'save_to_fast_memory(path, method, description, params, data)': 将 API 查询保存到快速记忆,方便后续快速调用。
更多工具和使用示例请参考仓库 README 文档。