内容
# jobber-mcp
**适用于 [Jobber](https://getjobber.com/) 的模型上下文协议(MCP)服务器** — 家政服务业务管理软件(暖通空调、管道、园艺等)。
通过 Claude、Cursor 或任何 MCP 客户端与 Jobber 进行通信。读取客户、作业、报价、发票;创建新客户并添加备注。通过 OAuth2 承载令牌使用 GraphQL API。
本项目是针对 [Jobber 开发者 API](https://developer.getjobber.com/docs/) 构建的。之前没有适用于 Jobber 的 MCP — 这是第一个。
## 您可以用它做什么
```
您: "显示分配给 Alex 的所有活动作业。"
Claude: *list_jobs(status="active") 然后按 assignedTo 筛选*
您: "查找所有等待响应超过 7 天的报价。"
Claude: *list_quotes(status="awaiting_response") 然后按 createdAt 筛选*
您: "向客户 12345 添加备注: '更换了电容器,系统运行正常。'"
Claude: *add_client_note with body*
您: "创建一个新客户: Sarah Chen, sarah@example.com, 555-0101。"
Claude: *create_client*
```
## 安装
```bash
pip install -e .
```
## 配置
您需要一个 OAuth2 访问令牌。通过 [Jobber OAuth 流](https://developer.getjobber.com/docs/) 获取 — 注册您的应用程序,完成安装流程,存储返回的令牌。
```bash
export JOBBER_ACCESS_TOKEN="..."
```
对于多租户应用程序,运行多个 MCP 服务器实例 — 每个实例都有自己的令牌。Jobber 的令牌会过期;您需要在后端刷新令牌并重启 MCP 服务器。
## 与 Claude Desktop 一起使用
```json
{
"mcpServers": {
"jobber_mcp": {
"command": "jobber_mcp",
"env": {
"JOBBER_ACCESS_TOKEN": "..."
}
}
}
}
```
## 工具
| 工具 | 类型 | 功能 |
| --- | --- | --- |
| `health_check` | 诊断 | 验证令牌 |
| `list_clients` | 读取 | 房主 / 企业 |
| `list_jobs` | 读取 | 工作订单(按状态筛选) |
| `list_quotes` | 读取 | 报价(按状态筛选) |
| `list_invoices` | 读取 | 发票(按状态筛选) |
| `create_client` | 写入 | 新客户 |
| `add_client_note` | 写入 | 客户记录备注 |
## 为什么使用 GraphQL 而不是 REST?
Jobber 的 API 仅支持 GraphQL。优势在于:一个 HTTP 端点,请求您需要的确切字段,不会过度获取或获取不足。MCP 工具使用最小的字段选择,以便代理获取所需的数据,而不会出现分页混乱。
## 开发
```bash
pip install -e ".[dev]"
pytest
jobber_mcp
```
---
## 需要为您的 SaaS 自定义 MCP?
我为垂直 SaaS 构建生产级 MCP 服务器 — 保险、牙科、兽医、法律、物业管理、家政服务。典型的合作周期:2-4 周,$25K-$120K。源代码所有,MIT 许可,无供应商锁定。
参见 [sanjibani/mcp-services](https://github.com/sanjibani/mcp-services) 或发送电子邮件至 sanjibani@users.noreply.github.com。
---
*包含在 [sanjibani 垂直 MCP 产品组合](https://github.com/sanjibani?q=-mcp) 中 — 另见 [hawksoft-mcp](https://github.com/sanjibani/hawksoft-mcp),[open-dental-mcp](https://github.com/sanjibani/open-dental-mcp),[ezyvet-mcp](https://github.com/sanjibani/ezyvet-mcp),[jobber-mcp](https://github.com/sanjibani/jobber-mcp),[paid-skills](https://github.com/sanjibani/paid-skills),[mcp-vertical-template](https://github.com/sanjibani/mcp-vertical-template)。*
---
MIT.
## 致谢
- Jobber 提供 GraphQL API 和 OAuth2 流
- 使用 [mcp-vertical-template](https://github.com/sanjibani/mcp-vertical-template) 构建(GraphQL 客户端是 REST 模板的一个小变体)
- 灵感来自 [sanjibani/hawksoft-mcp](https://github.com/sanjibani/hawksoft-mcp) 和 [sanjibani/ezyvet-mcp](https://github.com/sanjibani/ezyvet-mcp)
## 另见
- [Jobber API 文档](https://developer.getjobber.com/docs/)
- [Jobber 开发者中心](https://developer.getjobber.com/)
- [模型上下文协议](https://modelcontextprotocol.io)
- [更多 sanjibani 垂直 MCP](https://github.com/sanjibani?q=-mcp)