1. 服务概述
一句话简介:ConnectWise Sell REST API的FastMCP HTTP服务器包装器,提供12个工具管理报价、行项目、标签、客户、条款、模板、经常性收入和税码
- 服务名称:connectwise-sell-mcp
- 版本号:最新版本(通过PyPI发布)
- 开发者/提供方:Mfrostbutter
- 协议类型:MCP (Model Context Protocol)
2. 核心功能
该MCP服务提供12个工具,分为三大类:
2.1 报价管理(5个工具)
- list_quotes:列出所有报价
- get_quote:获取特定报价的详细信息
- get_quote_versions:获取报价的版本信息
- copy_quote:从现有报价或模板复制创建新报价
- update_quote:更新现有报价
2.2 报价详情(4个工具)
- get_quote_items:获取报价中的行项目
- get_quote_tabs:获取报价的标签页信息
- get_quote_customers:获取报价关联的客户信息
- get_quote_terms:获取报价的条款信息
2.3 参考数据(3个工具)
- get_templates:获取报价模板列表
- get_recurring_revenues:获取经常性收入项目
- get_tax_codes:获取税码信息
3. 使用场景
该服务适合在以下情况下使用:
- 报价管理:列出、查看和管理ConnectWise Sell中的报价
- 报价创建:从模板或现有报价创建新报价(注意:不能从头创建)
- 报价更新:更新现有报价的详细信息、行项目和条款
- 客户管理:查看和管理报价关联的客户信息
- 模板浏览:浏览可用的报价模板,选择合适的模板创建报价
- 财务分析:查看经常性收入和税码信息,进行财务分析
4. 接入方式
4.1 服务端点
该服务支持两种传输模式:
| 模式 | 设置方式 | 适用场景 |
|---|---|---|
| HTTP(默认) | MCP_TRANSPORT=http | 持久服务器,跨会话或团队成员共享 |
| stdio | MCP_TRANSPORT=stdio | Cursor、VS Code、Zed、Continue等stdio客户端 |
4.2 认证与权限
该服务使用ConnectWise Sell API的HTTP Basic认证:
- 认证方式:HTTP Basic Auth
- 凭据格式:base64(accessKey+username:password)
- API用户:必须是Sell API用户(非普通用户)
4.3 数据格式
服务使用以下数据格式:
- 请求格式:JSON
- 响应格式:JSON
- API基础URL:https://sellapi.quosalsell.com(可自定义)
4.4 环境变量配置
| 变量名 | 必需 | 默认值 | 说明 |
|---|---|---|---|
| SELL_ACCESS_KEY | 是 | - | 从Sell URL参数中获取的访问密钥 |
| SELL_USERNAME | 是 | - | Sell API用户名(必须是API用户) |
| SELL_PASSWORD | 是 | - | Sell API密码 |
| SELL_BASE_URL | 否 | https://sellapi.quosalsell.com | API基础URL(可自定义) |
| MCP_AUTH_TOKEN | 否 | - | MCP客户端认证的Bearer令牌 |
| SELL_MCP_PORT | 否 | 8086 | HTTP监听端口 |
4.5 服务器配置
HTTP模式配置(Claude Desktop、Claude Code):
{ "mcpServers": { "connectwise-sell": { "type": "http", "url": "http://localhost:8086/mcp", "headers": { "Authorization": "Bearer your_token_here" } } } }stdio模式配置(Cursor、VS Code、Zed、Continue):
{ "mcpServers": { "connectwise-sell": { "command": "uvx", "args": ["connectwise-sell-mcp"], "env": { "SELL_ACCESS_KEY": "your_access_key", "SELL_USERNAME": "your_api_username", "SELL_PASSWORD": "your_password", "MCP_TRANSPORT": "stdio" } } } }5. 接口定义
| 工具名称 | 功能描述 | 参数说明 |
|---|---|---|
list_quotes | 列出所有报价 | 可选过滤参数 |
get_quote | 获取特定报价详情 | quote_id: 报价ID |
get_quote_versions | 获取报价版本信息 | quote_id: 报价ID |
copy_quote | 复制创建新报价 | source_quote_id: 源报价ID或模板ID |
update_quote | 更新报价 | quote_id: 报价ID, update_data: 更新数据 |
get_quote_items | 获取报价行项目 | quote_id: 报价ID |
get_quote_tabs | 获取报价标签页 | quote_id: 报价ID |
get_quote_customers | 获取报价客户 | quote_id: 报价ID |
get_quote_terms | 获取报价条款 | quote_id: 报价ID |
get_templates | 获取报价模板列表 | 无参数 |
get_recurring_revenues | 获取经常性收入 | 可选过滤参数 |
get_tax_codes | 获取税码信息 | 可选过滤参数 |
6. 快速开始
6.1 环境要求
- Python 3.8或更高版本
- ConnectWise Sell账户和API凭据
- uvx(推荐)或pip包管理器
6.2 获取API凭据
如何找到访问密钥:
- 登录ConnectWise Sell
- 查看URL,找到类似
accessKey=XXXXXXXX的参数 - 该值即为您的
SELL_ACCESS_KEY
6.3 安装步骤
方法1:使用uvx安装(推荐)
uvx connectwise-sell-mcp方法2:使用pip安装
pip install connectwise-sell-mcp connectwise-sell-mcp方法3:从源码安装
git clone https://github.com/Mfrostbutter/connectwise-sell-mcp cd connectwise-sell-mcp cp .env.example .env # 编辑.env文件,填入SELL_*凭据 python3 -m venv venv source venv/bin/activate # Linux/macOS # 或 venv\Scripts\activate # Windows pip install -r requirements.txt python3 server.py # 验证:curl http://localhost:8086/health6.4 配置环境变量
创建.env文件:
SELL_ACCESS_KEY=your_access_key_here SELL_USERNAME=your_api_username SELL_PASSWORD=your_api_password MCP_TRANSPORT=http SELL_MCP_PORT=80866.5 使用示例
示例1:列出最近的报价 "列出我最近的报价" 示例2:从模板创建新报价 "从模板创建一个新报价,使用模板ID 12345" 示例3:查看报价详情 "获取报价ID 67890的详细信息" 示例4:更新报价 "更新报价ID 67890,将状态改为已发送"7. 注意事项
重要提醒
- 报价创建限制:报价不能通过Sell API从头创建,新报价必须从现有报价或模板复制。使用
get_templates浏览模板,然后使用copy_quote创建 - API用户要求:必须是Sell API用户,普通用户凭据无法使用
- 认证格式:服务器自动构造复合凭据 base64(accessKey+username:password)
传输模式选择
- HTTP模式:适合持久服务器,可跨会话或团队成员共享
- stdio模式:适合Cursor、VS Code、Zed、Continue等stdio客户端,服务器按会话生成,无端口,无持久进程
作为系统服务运行
创建systemd服务文件/etc/systemd/system/connectwise-sell-mcp.service:
[Unit] Description=ConnectWise Sell MCP After=network.target [Service] User=mcp WorkingDirectory=/opt/connectwise-sell-mcp EnvironmentFile=/opt/connectwise-sell-mcp/.env ExecStart=/opt/connectwise-sell-mcp/venv/bin/python3 server.py Restart=always [Install] WantedBy=multi-user.target相关项目
- connectwise-mcp:ConnectWise Manage MCP服务器(工单、协议、公司、时间、财务)
总结
connectwise-sell-mcp是一个功能完整的ConnectWise Sell API包装器,提供了12个工具覆盖报价管理的各个方面。通过支持HTTP和stdio两种传输模式,它可以灵活地集成到各种MCP客户端中。需要注意的是,由于Sell API的限制,新报价必须从模板或现有报价复制创建,这要求用户在使用前先了解可用的模板。