Homebase MCP by usefulapi

Read Homebase locations, employees, shifts, timecards, labor costs and time clock status.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
91%
命名品質
79%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'homebase_list_deleted_timecards' name length outside 3-30 range在 homebase_list_deleted_timecards 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,826Token(工具定義)
~1.6 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.99%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

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

它能做什麼

工具清單

工具(16)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢homebase_get_company

The Homebase company this API key belongs to: name, owner (id, name, email, phone) and created/updated times. GET /company.

輸入結構描述

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

List the locations (stores or sites) of the account with uuid, name, address, phone, website and time zone. The uuid is the id every other Homebase tool needs. GET /locations.

輸入結構描述

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

One location by uuid: name, address, phone, website, time zone and POS merchant id. GET /locations/{location_uuid}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    }
  },
  "required": [
    "location_uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_get_location_plan(location_uuid)

The Homebase subscription plan of a location: plan number, price, last update and trial state. GET /locations/{location_uuid}/plan.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    }
  },
  "required": [
    "location_uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_list_employees(location_uuid, with_archived, page, per_page)

List the employees of a location with contact details and their job: level, default role, additional roles, wage type and rate, payroll id and archive date. The time-clock PIN is never returned. GET /locations/{location_uuid}/employees.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    },
    "with_archived": {
      "description": "Include archived employees (default false).",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "location_uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_get_employee(location_uuid, employee_id, with_archived)

One employee of a location by user id, with contact details and job (role, wage type and rate, payroll id). The id is the job's user id from homebase_list_employees. GET /locations/{location_uuid}/employees/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    },
    "employee_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Homebase user id of the employee."
    },
    "with_archived": {
      "description": "Also find an archived employee (default false).",
      "type": "boolean"
    }
  },
  "required": [
    "location_uuid",
    "employee_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_list_shifts(location_uuid, start_date, end_date, open, with_note, ...)

List the scheduled shifts of a location in a date range: employee, role, department, start and end, published/open state, wage rate and scheduled labor hours (regular, overtime). Filter open shifts only. GET /locations/{location_uuid}/shifts.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    },
    "start_date": {
      "type": "string",
      "description": "Start of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "end_date": {
      "type": "string",
      "description": "End of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "open": {
      "description": "Only open shifts that any employee can claim.",
      "type": "boolean"
    },
    "with_note": {
      "description": "Include the shift note.",
      "type": "boolean"
    },
    "date_filter": {
      "description": "Which shift time the range applies to (default start_at).",
      "type": "string",
      "enum": [
        "start_at",
        "end_at",
        "created_at",
        "updated_at"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "location_uuid",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_get_shift(location_uuid, shift_id, with_note)

One shift of a location by id, with its labor data and optional note. GET /locations/{location_uuid}/shifts/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    },
    "shift_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Homebase shift id."
    },
    "with_note": {
      "description": "Include the shift note.",
      "type": "boolean"
    }
  },
  "required": [
    "location_uuid",
    "shift_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_list_deleted_shifts(location_uuid, start_date, end_date, page, per_page)

The ids of shifts deleted in a date range at a location, with their start, end and deletion time. Use it to keep a copy of the schedule in sync. GET /locations/{location_uuid}/shifts/deleted.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    },
    "start_date": {
      "type": "string",
      "description": "Start of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "end_date": {
      "type": "string",
      "description": "End of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "location_uuid",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_list_timecards(location_uuid, start_date, end_date, date_filter, page, ...)

List the timecards (worked time) of a location in a date range: employee, role, clock in and out, breaks, hours, labor cost, tips and approval state. Time-off hours are always 0 on timecards; use homebase_get_labor_by_employee for totals with time off. GET /locations/{location_uuid}/timecards.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    },
    "start_date": {
      "type": "string",
      "description": "Start of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "end_date": {
      "type": "string",
      "description": "End of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "date_filter": {
      "description": "Which timecard time the range applies to (default clock_in).",
      "type": "string",
      "enum": [
        "clock_in",
        "clock_out",
        "created_at",
        "updated_at"
      ]
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "location_uuid",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_get_timecard(location_uuid, timecard_id)

One timecard of a location by id: clock in and out, breaks, labor hours and cost, tips, approval state. GET /locations/{location_uuid}/timecards/{id}.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    },
    "timecard_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Homebase timecard id."
    }
  },
  "required": [
    "location_uuid",
    "timecard_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_list_deleted_timecards(location_uuid, start_date, end_date, page, per_page)

The ids of timecards deleted in a date range at a location, with clock in, clock out and deletion time. Use it to keep a copy of the timecards in sync. GET /locations/{location_uuid}/timecards/deleted.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    },
    "start_date": {
      "type": "string",
      "description": "Start of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "end_date": {
      "type": "string",
      "description": "End of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "location_uuid",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_get_labor(location_uuid, start_date, end_date, group_by)

Aggregate labor for a location in a date range, grouped by day or by hour: regular, overtime and paid hours, labor cost, tips, breaks and time off. GET /locations/{location_uuid}/labor.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    },
    "start_date": {
      "type": "string",
      "description": "Start of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "end_date": {
      "type": "string",
      "description": "End of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "group_by": {
      "description": "Group the totals by day (default) or by hour.",
      "type": "string",
      "enum": [
        "day",
        "hour"
      ]
    }
  },
  "required": [
    "location_uuid",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_get_labor_by_role(location_uuid, start_date, end_date)

Aggregate labor (hours, cost, tips, overtime) for a location in a date range, grouped by role. GET /locations/{location_uuid}/labor/by_role.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    },
    "start_date": {
      "type": "string",
      "description": "Start of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "end_date": {
      "type": "string",
      "description": "End of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    }
  },
  "required": [
    "location_uuid",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_get_labor_by_employee(location_uuid, start_date, end_date)

Aggregate labor (hours, cost, wage rate, tips, overtime, time off) for a location in a date range, grouped by employee. Use it for payroll totals. GET /locations/{location_uuid}/labor/by_employee.

輸入結構描述

{
  "type": "object",
  "properties": {
    "location_uuid": {
      "type": "string",
      "pattern": "^[A-Za-z0-9-]{1,64}$",
      "description": "Homebase location uuid (from homebase_list_locations)."
    },
    "start_date": {
      "type": "string",
      "description": "Start of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    },
    "end_date": {
      "type": "string",
      "description": "End of the range. ISO 8601: a date (2026-10-01) or a date-time with timezone (2026-10-01T09:00:00-05:00)."
    }
  },
  "required": [
    "location_uuid",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homebase_get_timeclock_status(job_id)

The current time-clock state of one job (employee at a location): clocked_in, on_break or clocked_out, the current shift, the shifts that can be clocked into and the breaks that can be started. The job id is the `job.id` of an employee from homebase_list_employees. GET /timeclock/status.

輸入結構描述

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Homebase job id (`job.id` on an employee)."
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本16 個工具