Homebase MCP by usefulapi
Read Homebase locations, employees, shifts, timecards, labor costs and time clock status.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen homebase_list_deleted_timecards
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"homebase": {
"url": "https://homebase.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://homebase.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (16)
🟢homebase_get_company
The Homebase company this API key belongs to: name, owner (id, name, email, phone) and created/updated times. GET /company.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
}Comunidad
Evidencia