连接MCP
ConnectWise MCP服务器,配备HTTP网关和Cloudflare隧道。
结构
.
├── deploy/
│ ├── cwm-mcp/ # Core MCP tools (ConnectWise API gateway)
│ ├── http-gateway/ # HTTP gateway (OAuth + token auth)
│ └── supergateway/ # Legacy/optional
├── docs/
│ ├── README.md # Docs index
│ ├── chatgpt-connector.md # ChatGPT connector setup
│ ├── claude-setup.md # Claude MCP setup
│ ├── azure-ad-checklist.md # Azure AD setup checklist
│ ├── troubleshooting.md # Common issues and checks
│ └── n8n-setup.md # n8n setup
└── README.md建筑
┌──────────────────────────┐ HTTPS ┌──────────────────────┐ HTTP ┌──────────────────────┐
│ MCP Clients │────────────▶│ Cloudflare Tunnel │──────────▶│ HTTP Gateway (FastAPI)│
│ (ChatGPT / Claude / etc) │ │ connectwisemcp... │ │ - OAuth 2.1 + PKCE │
└──────────────────────────┘ └──────────────────────┘ │ - DCR endpoints │
│ - Azure AD login │
│ - /mcp + /sse │
└───────────┬──────────┘
│
▼
┌──────────────────────┐
│ MCP Tools (cwm-mcp) │
│ ConnectWise API │
└──────────────────────┘Docker设置(网关+隧道)
Docker设置位于 deploy/http-gateway/docker-compose.yml 并运行:
mcp-gateway(FastAPI HTTP网关)cloudflared(Cloudflare隧道)
步骤:
- 复制env模板并填写值:
cp deploy/http-gateway/.env.example deploy/http-gateway/.env所需值:
MCP_STATIC_TOKEN(强随机令牌)JWT_SECRET_KEY(OAuth令牌需要)CONNECTWISE_*变量CLOUDFLARE_TUNNEL_TOKEN
- 构建+运行:
cd deploy/http-gateway
docker compose up -d --build- 验证:
curl http://127.0.0.1:8000/health笔记:
- 网关绑定到
127.0.0.1:8000并且仅通过Cloudflare公开。 - 确保您的Cloudflare隧道路由
connectwisemcp.funcshun.com对于这项服务。
本地macOS安装(Homebrew+Docker)
如果您想在本地运行MCP网关并将Claude连接到 127.0.0.1.
- 安装Homebrew+工具:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install git
brew install --cask docker打开 Docker 桌面版 一次,等待它开始。
- 克隆仓库:
git clone https://github.com/luckyludev/ConnectwiseMCP.git
cd ConnectwiseMCP- 配置本地环境:
cp deploy/http-gateway/.env.example deploy/http-gateway/.env编辑 deploy/http-gateway/.env 并设置:
MCP_STATIC_TOKEN(强随机令牌)JWT_SECRET_KEY(强随机秘密)CONNECTWISE_*价值观SERVER_URL=http://127.0.0.1:8000MCP_RESOURCE_URL=http://127.0.0.1:8000
- 启动本地网关(Docker):
cd deploy/http-gateway
docker compose up -d --build mcp-gateway验证:
curl http://127.0.0.1:8000/health- 在Claude中添加本地MCP服务器:
- 姓名:
ConnectwiseMCP (Local) - 服务器URL:
http://127.0.0.1:8000/sse - 认证: 持有者代币
- 令牌: 你的
MCP_STATIC_TOKEN
如果您也想要Cloudflare隧道,请设置CLOUDFLARE_TUNNEL_TOKEN并运行docker compose up -d --build没有服务名称。
快速启动(令牌认证)
- 本地测试:
curl -H "Authorization: Bearer YOUR_TOKEN" http://127.0.0.1:8000/mcp- 通过Cloudflare进行测试:
curl -H "Authorization: Bearer YOUR_TOKEN" https://connectwisemcp.funcshun.com/mcp复制/粘贴JSON-RPC示例
列出工具:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}调用工具:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "search_api_endpoints",
"arguments": {
"query": "tickets",
"max_results": 5
}
}
}OAuth+客户端指南
- ChatGPT
docs/chatgpt-connector.md - 克劳德:
docs/claude-setup.md - n8n:
docs/n8n-setup.md - Copilot工作室+Azure:
docs/copilot-studio-azure.md - Azure AD检查表:
docs/azure-ad-checklist.md - 故障排除:
docs/troubleshooting.md
安全说明
- 不要承诺
.env文件夹。 - 旋转以前提交的所有凭据。
遗产
deploy/supergateway 保留以供参考。
