Jobber MCP服务驱动

一个为Jobber现场服务管理API提供MCP兼容接口的服务驱动,使AI助手能够通过自然语言交互管理客户、任务调度、报价和发票等业务操作。

  • by Onsite-Intelligence
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 Onsite-Intelligence/Jobber-mcp

使用说明

jobber mcp服务器

MCP服务器 临时工 现场服务管理API-客户管理、作业调度、报价、发票和服务请求接收。专为在家庭服务中工作的AI代理而构建。

这是什么?

这是一个“驱动程序”,允许任何兼容MCP的AI助手(Claude等)在Jobber帐户中读写数据。 MCP(模型上下文协议) 是一个开放标准,它为人工智能模型提供了一种结构化的方式来调用外部工具——可以把它想象成人工智能和业务软件之间的USB端口。

随着这台服务器的运行,人工智能代理可以通过自然对话搜索客户端、创建作业、检查日程、发送报价等。

快速安装

克劳德代码(推荐):

claude mcp add jobber --scope user \
  -e JOBBER_CLIENT_ID=your_id \
  -e JOBBER_CLIENT_SECRET=your_secret \
  -e JOBBER_ACCESS_TOKEN=your_token \
  -e JOBBER_REFRESH_TOKEN=your_refresh \
  -- npx -y jobber-mcp-server

克劳德桌面:

添加到您的 claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "jobber": {
      "command": "npx",
      "args": ["-y", "jobber-mcp-server"],
      "env": {
        "JOBBER_CLIENT_ID": "your_client_id",
        "JOBBER_CLIENT_SECRET": "your_client_secret",
        "JOBBER_ACCESS_TOKEN": "your_access_token",
        "JOBBER_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

对话示例

一旦连接,只需自然地与克劳德交谈:

  • “寻找客户约翰·史密斯” --电话 jobber_search_clients 按名称查找匹配的客户端
  • “明天安排了什么工作?” --电话 jobber_get_schedule 取消明天的访问和任务
  • “为主街123号的Sarah创建一个报价——炉子检查,150美元” --电话 jobber_create_client + jobber_create_quote 建立客户并起草估算
  • “显示所有未付发票” --电话 jobber_list_invoices 已过滤为未清余额

可用工具

客户

工具 说明
jobber_search_clients 按姓名、电子邮件或电话搜索客户
jobber_get_client 获取完整的客户详细信息、房产和最近的工作
jobber_create_client 创建新客户端
jobber_update_client 更新现有客户的信息

请求:

工具 说明
jobber_create_request 创建带有可选注释的新服务请求
jobber_list_requests 列出带分页的服务请求
jobber_get_request 获取服务请求的完整详细信息

乔布斯

工具 说明
jobber_list_jobs 列出具有状态/日期筛选器的作业
jobber_get_job 获取工作详细信息,包括行项目和访问
jobber_create_job 使用行项目创建新作业
jobber_update_job_status 向作业添加注释

调度

工具 说明
jobber_get_schedule 获取日期范围的日程表
jobber_create_visit 为现有工作安排一次访问
jobber_get_availability 检查团队成员的可用时间段

语录

工具 说明
jobber_create_quote 用行项目创建报价草案
jobber_list_quotes 列出带页码的报价

发票

工具 说明
jobber_list_invoices 列出发票的状态和金额
jobber_get_invoice 获取包含行项目的完整发票详细信息

正在获取Jobber API凭据

  1. 在以下网址创建开发人员帐户 developer.getjobber.com
  2. 创建一个新应用程序——选择用例所需的范围(客户、作业、报价、发票、日程安排)
  3. 注意你的 客户端ID 和 客户端密钥 从应用程序设置
  4. 完成OAuth2授权流程以获取您的令牌:
    • 将Jobber帐户所有者重定向到 https://api.getjobber.com/api/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT&response_type=code
    • 在他们授权后,Jobber使用 ?code= 参数
    • 将代码替换为令牌: POST https://api.getjobber.com/api/oauth/token 和 grant_type=authorization_code,您的客户ID/机密和代码
    • 响应包含您的 access_token 和 refresh_token

注: 这 scripts/extract-tokens.py 该脚本用于从现有的FirstVisitAI数据库中提取令牌,它本身不处理OAuth流。

从源代码安装

先决条件

  • Node.js 18+
  • A. Jobber开发者应用
  • OAuth2凭据(客户端ID、客户端密钥、访问令牌、刷新令牌)

克隆和构建

git clone https://github.com/Onsite-Intelligence/Jobber-mcp.git
cd Jobber-mcp
npm install
npm run build

配置

复制示例环境文件并填写您的Jobber凭据:

cp .env.example .env

你的 .env 应该看起来像这样:

JOBBER_CLIENT_ID=your_client_id
JOBBER_CLIENT_SECRET=your_client_secret
JOBBER_ACCESS_TOKEN=your_access_token
JOBBER_REFRESH_TOKEN=your_refresh_token

连接到Claude Code(源代码)

{
  "mcpServers": {
    "jobber": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/Jobber-mcp",
      "env": {
        "JOBBER_CLIENT_ID": "your_client_id",
        "JOBBER_CLIENT_SECRET": "your_client_secret",
        "JOBBER_ACCESS_TOKEN": "your_access_token",
        "JOBBER_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

通过HTTP连接(用于远程/托管使用)

以HTTP模式启动服务器:

TRANSPORT=http HTTP_PORT=3000 jobber-mcp

MCP端点将在 http://localhost:3000/mcp.

配置

变量 必填 默认 描述
JOBBER_CLIENT_ID 是 -- Jobber开发者应用程序中的OAuth2客户端ID
JOBBER_CLIENT_SECRET 是 -- OAuth2客户端机密
JOBBER_ACCESS_TOKEN 是 -- OAuth2访问令牌(授权后获得)
JOBBER_REFRESH_TOKEN 是 -- OAuth2刷新令牌
TRANSPORT 没有 stdio 运输方式: stdio 或 http
HTTP_PORT 没有 3000 HTTP传输端口
HTTP_HOST 没有 localhost HTTP传输主机

许可证管理

Jobber访问令牌将在约1小时后过期。此服务器自动处理令牌刷新:

  1. 在每次API调用之前,服务器检查令牌是否在5分钟内过期
  2. 在401响应中,服务器刷新令牌并重试
  3. 成功刷新后,新令牌为 写回你的 .env 文件 自动地
  4. 令牌也会记录到stderr作为回退

如果 .env 文件不存在或不可写,服务器退回到仅记录stderr并发出警告。

这 scripts/extract-tokens.py 如果您需要引导凭据,该实用程序可以从现有的Jobber集成中提取令牌。

速率限制

Jobber的API每分钟允许60个请求。服务器跟踪请求时间戳,并在接近限制时自动延迟。如果收到429响应,它将以指数回退方式重试(最多3次尝试)。

许可证

麻省理工学院