Homebase MCP by usefulapi
Read Homebase locations, employees, shifts, timecards, labor costs and time clock status.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin homebase_list_deleted_timecards
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"homebase": {
"url": "https://homebase.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://homebase.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (16)
🟢homebase_get_company
The Homebase company this API key belongs to: name, owner (id, name, email, phone) and created/updated times. GET /company.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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}.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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}.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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}.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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}.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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"
}Community
Nachweis