workiz

Manage Workiz jobs and leads: create, update, assign team members and convert leads to jobs.

我该使用它吗

质量与安全性

A
描述质量
96%
模式完整度
94%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~4,622token 数(工具定义)
~2.0 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 3.61%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "workiz": {
      "url": "https://workiz.usefulapi.io/mcp"
    }
  }
}

远程端点

https://workiz.usefulapi.io/mcpstreamable-http

它能做什么

工具清单

工具(19)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢workiz_list_jobs(start_date, offset, records, only_open, status)

List jobs, most recently scheduled first (sorted by JobDateTime, descending). Filter by start date, open-only, and status; page with offset/records (max 100). Without start_date Workiz returns the last 14 days. Workiz: GET /job/all/.

输入模式

{
  "type": "object",
  "properties": {
    "start_date": {
      "description": "Return records from this date (yyyy-MM-dd) until today. For jobs, Workiz defaults to the last 14 days when omitted.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "offset": {
      "description": "Record offset for paging (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "records": {
      "description": "Number of records to return, 1-100 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "only_open": {
      "description": "Only open records, excluding Done and Canceled statuses (Workiz default: true).",
      "type": "boolean"
    },
    "status": {
      "description": "Only these statuses, e.g. [\"Submitted\", \"In progress\"].",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workiz_get_job(uuid)

Fetch one job by UUID: schedule, status, client contact and address, totals and amount due, notes, tags and assigned team. Workiz: GET /job/get/{UUID}/.

输入模式

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "description": "The job's UUID (e.g. XYZ56X)."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workiz_list_leads(start_date, offset, records, only_open, status)

List leads, most recent first (sorted by LeadDateTime, descending). Filter by start date, open-only, and status; page with offset/records (max 100). Workiz: GET /lead/all/.

输入模式

{
  "type": "object",
  "properties": {
    "start_date": {
      "description": "Return records from this date (yyyy-MM-dd) until today. For jobs, Workiz defaults to the last 14 days when omitted.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "offset": {
      "description": "Record offset for paging (default 0).",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "records": {
      "description": "Number of records to return, 1-100 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "only_open": {
      "description": "Only open records, excluding Done and Canceled statuses (Workiz default: true).",
      "type": "boolean"
    },
    "status": {
      "description": "Only these statuses, e.g. [\"Submitted\", \"In progress\"].",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workiz_get_lead(uuid)

Fetch one lead by UUID: schedule, status, client contact and address, source, notes and assigned team. Workiz: GET /lead/get/{UUID}/.

输入模式

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "description": "The lead's UUID (e.g. XYZ56X)."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workiz_list_team

List the account's active team members: id, name, role, whether they are a field tech, email, service areas and skills. Use the name to assign people to jobs or leads. Workiz: GET /team/all/.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workiz_get_team_member(user_id)

Fetch one team member by user id: name, role, field-tech flag, email, service areas, skills and active status. Workiz: GET /team/get/{USER_ID}.

输入模式

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "minLength": 1,
      "description": "The user's id, from workiz_list_team."
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workiz_list_time_off(all)

List FUTURE time off (start, end, userName — 'Entire Business' for company-wide closures). Set all=true to include every user and company time off. Useful before scheduling. Workiz: GET /TimeOff/get/.

输入模式

{
  "type": "object",
  "properties": {
    "all": {
      "description": "Include all users' and company time off (Workiz default: false).",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢workiz_get_user_time_off(user_name)

List one team member's FUTURE time off, by their name. Workiz: GET /TimeOff/get/{USER_NAME}.

输入模式

{
  "type": "object",
  "properties": {
    "user_name": {
      "type": "string",
      "minLength": 1,
      "description": "The team member's name as Workiz shows it, e.g. Joe Acme."
    }
  },
  "required": [
    "user_name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workiz_create_job(JobDateTime, JobEndDateTime, ClientId, FirstName, LastName, ...)

WRITE: create a new job (schedule, client contact and address, type, source, notes). Returns the new job's UUID, ClientId and app link. Workiz: POST /job/create/.

输入模式

{
  "type": "object",
  "properties": {
    "JobDateTime": {
      "description": "Scheduled start. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
      "type": "string"
    },
    "JobEndDateTime": {
      "description": "Scheduled end. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
      "type": "string"
    },
    "ClientId": {
      "description": "Existing Workiz client id to attach this to.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "FirstName": {
      "description": "Client first name.",
      "type": "string"
    },
    "LastName": {
      "description": "Client last name.",
      "type": "string"
    },
    "Company": {
      "description": "Client company name.",
      "type": "string"
    },
    "Phone": {
      "description": "Primary phone, digits only, e.g. 6195555555.",
      "type": "string"
    },
    "PhoneExt": {
      "description": "Primary phone extension.",
      "type": "string"
    },
    "SecondPhone": {
      "description": "Secondary phone.",
      "type": "string"
    },
    "SecondPhoneExt": {
      "description": "Secondary phone extension.",
      "type": "string"
    },
    "Email": {
      "description": "Client email.",
      "type": "string"
    },
    "Address": {
      "description": "Street address, e.g. 123 W Main Street.",
      "type": "string"
    },
    "Unit": {
      "description": "Unit / apartment.",
      "type": "string"
    },
    "City": {
      "description": "City.",
      "type": "string"
    },
    "State": {
      "description": "State, e.g. CA.",
      "type": "string"
    },
    "PostalCode": {
      "description": "Postal / ZIP code.",
      "type": "string"
    },
    "Country": {
      "description": "Country code, e.g. US.",
      "type": "string"
    },
    "JobType": {
      "description": "Job type, e.g. Repair.",
      "type": "string"
    },
    "JobSource": {
      "description": "Lead/job source, e.g. Google.",
      "type": "string"
    },
    "Timezone": {
      "description": "Timezone, e.g. US/Pacific.",
      "type": "string"
    },
    "ServiceArea": {
      "description": "Service area, e.g. metro1.",
      "type": "string"
    },
    "CreatedBy": {
      "description": "Name recorded as the creator.",
      "type": "string"
    },
    "ReferralCompany": {
      "description": "Referral company, e.g. Thumbtack.",
      "type": "string"
    },
    "JobNotes": {
      "description": "Internal job notes.",
      "type": "string"
    },
    "Created": {
      "description": "Creation timestamp to record. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workiz_update_job(UUID, Status, SubStatus, JobDateTime, JobEndDateTime, ...)

WRITE: update fields on an existing job — status/sub-status, reschedule (JobDateTime/JobEndDateTime), contact, address, type, source, notes, tags. Only the fields you pass are sent. Workiz: POST /job/update/.

输入模式

{
  "type": "object",
  "properties": {
    "UUID": {
      "type": "string",
      "minLength": 1,
      "description": "The job's UUID (e.g. XYZ56X)."
    },
    "Status": {
      "description": "New job status, e.g. \"In progress\".",
      "type": "string"
    },
    "SubStatus": {
      "description": "New job sub-status.",
      "type": "string"
    },
    "JobDateTime": {
      "description": "New scheduled start. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
      "type": "string"
    },
    "JobEndDateTime": {
      "description": "New scheduled end. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
      "type": "string"
    },
    "ClientId": {
      "description": "Existing Workiz client id to attach this to.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "FirstName": {
      "description": "Client first name.",
      "type": "string"
    },
    "LastName": {
      "description": "Client last name.",
      "type": "string"
    },
    "Company": {
      "description": "Client company name.",
      "type": "string"
    },
    "Phone": {
      "description": "Primary phone, digits only, e.g. 6195555555.",
      "type": "string"
    },
    "PhoneExt": {
      "description": "Primary phone extension.",
      "type": "string"
    },
    "SecondPhone": {
      "description": "Secondary phone.",
      "type": "string"
    },
    "SecondPhoneExt": {
      "description": "Secondary phone extension.",
      "type": "string"
    },
    "Email": {
      "description": "Client email.",
      "type": "string"
    },
    "Address": {
      "description": "Street address, e.g. 123 W Main Street.",
      "type": "string"
    },
    "Unit": {
      "description": "Unit / apartment.",
      "type": "string"
    },
    "City": {
      "description": "City.",
      "type": "string"
    },
    "State": {
      "description": "State, e.g. CA.",
      "type": "string"
    },
    "PostalCode": {
      "description": "Postal / ZIP code.",
      "type": "string"
    },
    "Country": {
      "description": "Country code, e.g. US.",
      "type": "string"
    },
    "JobType": {
      "description": "Job type, e.g. Repair.",
      "type": "string"
    },
    "JobSource": {
      "description": "Lead/job source, e.g. Google.",
      "type": "string"
    },
    "Timezone": {
      "description": "Timezone, e.g. US/Pacific.",
      "type": "string"
    },
    "ServiceArea": {
      "description": "Service area, e.g. metro1.",
      "type": "string"
    },
    "CreatedBy": {
      "description": "Name recorded as the creator.",
      "type": "string"
    },
    "JobNotes": {
      "description": "Internal job notes.",
      "type": "string"
    },
    "Tags": {
      "description": "Job tags, e.g. [\"estimate\", \"callback\"].",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "UUID"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workiz_assign_job(UUID, User)

WRITE: assign a team member (by name) to a job. Reversible with workiz_unassign_job. Workiz: POST /job/assign/.

输入模式

{
  "type": "object",
  "properties": {
    "UUID": {
      "type": "string",
      "minLength": 1,
      "description": "The job's UUID (e.g. XYZ56X)."
    },
    "User": {
      "type": "string",
      "minLength": 1,
      "description": "The team member's NAME exactly as Workiz shows it (e.g. Alex Wilson) — see workiz_list_team."
    }
  },
  "required": [
    "UUID",
    "User"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workiz_unassign_job(UUID, User)

WRITE: remove a team member (by name) from a job. Reversible with workiz_assign_job. Workiz: POST /job/unassign/.

输入模式

{
  "type": "object",
  "properties": {
    "UUID": {
      "type": "string",
      "minLength": 1,
      "description": "The job's UUID (e.g. XYZ56X)."
    },
    "User": {
      "type": "string",
      "minLength": 1,
      "description": "The team member's NAME exactly as Workiz shows it (e.g. Alex Wilson) — see workiz_list_team."
    }
  },
  "required": [
    "UUID",
    "User"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workiz_create_lead(LeadDateTime, LeadEndDateTime, ClientId, FirstName, LastName, ...)

WRITE: create a new lead (client contact and address, requested time, job type, source, notes). Returns the new lead's UUID, ClientId and app link. Workiz: POST /lead/create/.

输入模式

{
  "type": "object",
  "properties": {
    "LeadDateTime": {
      "description": "Scheduled start of the lead appointment. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
      "type": "string"
    },
    "LeadEndDateTime": {
      "description": "Scheduled end of the lead appointment. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
      "type": "string"
    },
    "ClientId": {
      "description": "Existing Workiz client id to attach this to.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "FirstName": {
      "description": "Client first name.",
      "type": "string"
    },
    "LastName": {
      "description": "Client last name.",
      "type": "string"
    },
    "Company": {
      "description": "Client company name.",
      "type": "string"
    },
    "Phone": {
      "description": "Primary phone, digits only, e.g. 6195555555.",
      "type": "string"
    },
    "PhoneExt": {
      "description": "Primary phone extension.",
      "type": "string"
    },
    "SecondPhone": {
      "description": "Secondary phone.",
      "type": "string"
    },
    "SecondPhoneExt": {
      "description": "Secondary phone extension.",
      "type": "string"
    },
    "Email": {
      "description": "Client email.",
      "type": "string"
    },
    "Address": {
      "description": "Street address, e.g. 123 W Main Street.",
      "type": "string"
    },
    "Unit": {
      "description": "Unit / apartment.",
      "type": "string"
    },
    "City": {
      "description": "City.",
      "type": "string"
    },
    "State": {
      "description": "State, e.g. CA.",
      "type": "string"
    },
    "PostalCode": {
      "description": "Postal / ZIP code.",
      "type": "string"
    },
    "Country": {
      "description": "Country code, e.g. US.",
      "type": "string"
    },
    "JobType": {
      "description": "Job type, e.g. Repair.",
      "type": "string"
    },
    "JobSource": {
      "description": "Lead/job source, e.g. Google.",
      "type": "string"
    },
    "Timezone": {
      "description": "Timezone, e.g. US/Pacific.",
      "type": "string"
    },
    "ServiceArea": {
      "description": "Service area, e.g. metro1.",
      "type": "string"
    },
    "CreatedBy": {
      "description": "Name recorded as the creator.",
      "type": "string"
    },
    "ReferralCompany": {
      "description": "Referral company, e.g. Thumbtack.",
      "type": "string"
    },
    "LeadNotes": {
      "description": "Internal lead notes.",
      "type": "string"
    },
    "Created": {
      "description": "Creation timestamp to record. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workiz_update_lead(UUID, Status, LeadDateTime, LeadEndDateTime, ClientId, ...)

WRITE: update fields on an existing lead — status, schedule, contact, address, type, source, notes, tags. Only the fields you pass are sent. Workiz: POST /lead/update/.

输入模式

{
  "type": "object",
  "properties": {
    "UUID": {
      "type": "string",
      "minLength": 1,
      "description": "The lead's UUID (e.g. XYZ56X)."
    },
    "Status": {
      "description": "New lead status, e.g. \"In progress\".",
      "type": "string"
    },
    "LeadDateTime": {
      "description": "New scheduled start. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
      "type": "string"
    },
    "LeadEndDateTime": {
      "description": "New scheduled end. Date-time string, e.g. 2026-10-01T09:00:00.000Z.",
      "type": "string"
    },
    "ClientId": {
      "description": "Existing Workiz client id to attach this to.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "FirstName": {
      "description": "Client first name.",
      "type": "string"
    },
    "LastName": {
      "description": "Client last name.",
      "type": "string"
    },
    "Company": {
      "description": "Client company name.",
      "type": "string"
    },
    "Phone": {
      "description": "Primary phone, digits only, e.g. 6195555555.",
      "type": "string"
    },
    "PhoneExt": {
      "description": "Primary phone extension.",
      "type": "string"
    },
    "SecondPhone": {
      "description": "Secondary phone.",
      "type": "string"
    },
    "SecondPhoneExt": {
      "description": "Secondary phone extension.",
      "type": "string"
    },
    "Email": {
      "description": "Client email.",
      "type": "string"
    },
    "Address": {
      "description": "Street address, e.g. 123 W Main Street.",
      "type": "string"
    },
    "Unit": {
      "description": "Unit / apartment.",
      "type": "string"
    },
    "City": {
      "description": "City.",
      "type": "string"
    },
    "State": {
      "description": "State, e.g. CA.",
      "type": "string"
    },
    "PostalCode": {
      "description": "Postal / ZIP code.",
      "type": "string"
    },
    "Country": {
      "description": "Country code, e.g. US.",
      "type": "string"
    },
    "JobType": {
      "description": "Job type, e.g. Repair.",
      "type": "string"
    },
    "JobSource": {
      "description": "Lead/job source, e.g. Google.",
      "type": "string"
    },
    "Timezone": {
      "description": "Timezone, e.g. US/Pacific.",
      "type": "string"
    },
    "ServiceArea": {
      "description": "Service area, e.g. metro1.",
      "type": "string"
    },
    "CreatedBy": {
      "description": "Name recorded as the creator.",
      "type": "string"
    },
    "LeadNotes": {
      "description": "Internal lead notes.",
      "type": "string"
    },
    "Tags": {
      "description": "Lead tags, e.g. [\"estimate\", \"callback\"].",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "UUID"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workiz_assign_lead(UUID, User)

WRITE: assign a team member (by name) to a lead. Reversible with workiz_unassign_lead. Workiz: POST /lead/assign/.

输入模式

{
  "type": "object",
  "properties": {
    "UUID": {
      "type": "string",
      "minLength": 1,
      "description": "The lead's UUID (e.g. XYZ56X)."
    },
    "User": {
      "type": "string",
      "minLength": 1,
      "description": "The team member's NAME exactly as Workiz shows it (e.g. Alex Wilson) — see workiz_list_team."
    }
  },
  "required": [
    "UUID",
    "User"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workiz_unassign_lead(UUID, User)

WRITE: remove a team member (by name) from a lead. Reversible with workiz_assign_lead. Workiz: POST /lead/unassign/.

输入模式

{
  "type": "object",
  "properties": {
    "UUID": {
      "type": "string",
      "minLength": 1,
      "description": "The lead's UUID (e.g. XYZ56X)."
    },
    "User": {
      "type": "string",
      "minLength": 1,
      "description": "The team member's NAME exactly as Workiz shows it (e.g. Alex Wilson) — see workiz_list_team."
    }
  },
  "required": [
    "UUID",
    "User"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workiz_convert_lead_to_job(UUID)

WRITE (no API undo): convert a lead into a job. Creates a new job from the lead and returns its UUID and link; the API cannot reverse the conversion. Workiz: POST /lead/convert/.

输入模式

{
  "type": "object",
  "properties": {
    "UUID": {
      "type": "string",
      "minLength": 1,
      "description": "The lead's UUID (e.g. XYZ56X)."
    }
  },
  "required": [
    "UUID"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workiz_mark_lead_lost(uuid)

WRITE: mark a lead as lost. Reversible with workiz_activate_lead. Workiz: POST /lead/markLost/{UUID}/.

输入模式

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "description": "The lead's UUID (e.g. XYZ56X)."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴workiz_activate_lead(uuid)

WRITE: change a lost lead back to active. Workiz: POST /lead/activate/{UUID}/.

输入模式

{
  "type": "object",
  "properties": {
    "uuid": {
      "type": "string",
      "minLength": 1,
      "description": "The lead's UUID (e.g. XYZ56X)."
    }
  },
  "required": [
    "uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本19 个工具