LabscoMCP early access ↗
aallsburyMCP SERVER

QuickBooks Time

Ask QuickBooks Time who is on the clock, what was logged against which job code, and how the job code tree is arranged.

by aallsbury ↗HR, Recruiting & WorkforceCommunity

LABSCO SUMMARY

Timesheet questions answered without the reporting screen.

Four separate integrations collapsed into one server, with the filters that matter — date range, user, job code, modification time — available on the call. That is what turns "how many hours went to this client last month" into a single question.

What it is

A single MCP server covering the QuickBooks Time API, combining what used to be four separate servers — job codes, reports and core, timesheets, and users — behind one interface.

What you get

  • Job codes retrieved with real filtering: by name with wildcard matching, by active status, by type (regular, PTO, paid or unpaid break) and by parent
  • A single job code fetched by id, and the job code hierarchy as a structure rather than a flat list
  • Timesheets pulled over a date range, narrowed by user, group, job code or payroll ids
  • Change-based filtering — modified before or since a timestamp — for syncing rather than re-reading everything
  • On-the-clock status, for the question that has to be answered right now
  • Pagination controls throughout, so a wide date range comes back in pages rather than one dump

Requirements

Python with the packages in requirements.txt, and a QuickBooks Time access token supplied as QB_TIME_ACCESS_TOKEN in a .env file or in the client config.

Setup effort

Build from source — get the source, then follow the project's own run instructions