Homebase MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi
Read Homebase locations, employees, shifts, timecards, labor costs and time clock status.
16 tools: 16 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads16Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http homebase https://homebase.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
16 tools
Only reads 16Claude Code: allow
homebase_get_companyThe Homebase company this API key belongs to: name, owner (id, name, email, phone) and created/updated times.No findings
Why it is in this group
- The name "homebase_get_company" says "get": a word for reading.
Description, as the server wrote it The Homebase company this API key belongs to: name, owner (id, name, email, phone) and created/updated times. GET /company.
Annotations the server declares
- title: Get company
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_get_employeeOne employee of a location by user id, with contact details and job (role, wage type and rate, payroll id).No findings
Why it is in this group
- The name "homebase_get_employee" says "get": a word for reading.
Description, as the server wrote it 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}.
Annotations the server declares
- title: Get employee
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_get_laborAggregate 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.No findings
Why it is in this group
- The name "homebase_get_labor" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get labor report
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_get_labor_by_employeeAggregate labor (hours, cost, wage rate, tips, overtime, time off) for a location in a date range, grouped by employee.No findings
Why it is in this group
- The name "homebase_get_labor_by_employee" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get labor report by employee
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_get_labor_by_roleAggregate labor (hours, cost, tips, overtime) for a location in a date range, grouped by role.No findings
Why it is in this group
- The name "homebase_get_labor_by_role" says "get": a word for reading.
Description, as the server wrote it Aggregate labor (hours, cost, tips, overtime) for a location in a date range, grouped by role. GET /locations/{location_uuid}/labor/by_role.
Annotations the server declares
- title: Get labor report by role
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_get_locationOne location by uuid: name, address, phone, website, time zone and POS merchant id.No findings
Why it is in this group
- The name "homebase_get_location" says "get": a word for reading.
Description, as the server wrote it One location by uuid: name, address, phone, website, time zone and POS merchant id. GET /locations/{location_uuid}.
Annotations the server declares
- title: Get location
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_get_location_planThe Homebase subscription plan of a location: plan number, price, last update and trial state.No findings
Why it is in this group
- The name "homebase_get_location_plan" says "get": a word for reading.
Description, as the server wrote it The Homebase subscription plan of a location: plan number, price, last update and trial state. GET /locations/{location_uuid}/plan.
Annotations the server declares
- title: Get location plan
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_get_shiftOne shift of a location by id, with its labor data and optional note.No findings
Why it is in this group
- The name "homebase_get_shift" says "get": a word for reading.
Description, as the server wrote it One shift of a location by id, with its labor data and optional note. GET /locations/{location_uuid}/shifts/{id}.
Annotations the server declares
- title: Get shift
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_get_timecardOne timecard of a location by id: clock in and out, breaks, labor hours and cost, tips, approval state.No findings
Why it is in this group
- The name "homebase_get_timecard" says "get": a word for reading.
Description, as the server wrote it 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}.
Annotations the server declares
- title: Get timecard
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_get_timeclock_statusThe 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 ca…No findings
Why it is in this group
- The name "homebase_get_timeclock_status" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: Get time clock status
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_list_deleted_shiftsThe ids of shifts deleted in a date range at a location, with their start, end and deletion time.No findings
Why it is in this group
- The name "homebase_list_deleted_shifts" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List deleted shifts
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_list_deleted_timecardsThe ids of timecards deleted in a date range at a location, with clock in, clock out and deletion time.No findings
Why it is in this group
- The name "homebase_list_deleted_timecards" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List deleted timecards
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_list_employeesList 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.No findings
Why it is in this group
- The name "homebase_list_employees" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List employees
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_list_locationsList the locations (stores or sites) of the account with uuid, name, address, phone, website and time zone.No findings
Why it is in this group
- The name "homebase_list_locations" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List locations
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_list_shiftsList 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).No findings
Why it is in this group
- The name "homebase_list_shifts" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List shifts
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homebase_list_timecardsList 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.No findings
Why it is in this group
- The name "homebase_list_timecards" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- title: List timecards
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.3.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http homebase https://homebase.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__homebase__homebase_get_company",
"mcp__homebase__homebase_list_locations",
"mcp__homebase__homebase_get_location",
"mcp__homebase__homebase_get_location_plan",
"mcp__homebase__homebase_list_employees",
"mcp__homebase__homebase_get_employee",
"mcp__homebase__homebase_list_shifts",
"mcp__homebase__homebase_get_shift",
"mcp__homebase__homebase_list_deleted_shifts",
"mcp__homebase__homebase_list_timecards",
"mcp__homebase__homebase_get_timecard",
"mcp__homebase__homebase_list_deleted_timecards",
"mcp__homebase__homebase_get_labor",
"mcp__homebase__homebase_get_labor_by_role",
"mcp__homebase__homebase_get_labor_by_employee",
"mcp__homebase__homebase_get_timeclock_status"
],
"ask": [],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as homebase. Review it before you use it.