Get the FREE Ultimate OpenClaw Setup Guide →

qb-time

A Message Control Protocol (MCP) server that provides unified access to QuickBooks Time API functionality. Developed with AI assistance.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio aallsbury-qb-time-mcp-server python ./qb-time-mcp-server/main.py \
  --env QB_TIME_ACCESS_TOKEN="your_quickbooks_time_access_token_here"

How to use

This MCP server consolidates QuickBooks Time API functionality into a single interface, exposing four primary tool sets: JobCode Tools, Timesheet Tools, User Tools, and Project Management Tools. With these tools, you can query and manage job codes, retrieve and filter timesheets, fetch user and group information, and access project-related data and activities. The server is designed to be used by external clients (such as Claude Desktop integrations or other automation) via the provided CLI entry point and environment configuration. To use it, provide your QuickBooks Time access token through the QB_TIME_ACCESS_TOKEN environment variable and run the server wrapper, which exposes the combined endpoints under the qb-time-tools namespace. The available methods cover common QuickBooks Time workflows, including filtering job codes by type or hierarchy, querying timesheets with date ranges and user filters, listing users and groups with various filters, and pulling project data along with related activities and settings.

How to install

Prerequisites:

  • Python 3.8+ installed on your system
  • Access to the project repository with the qb-time-mcp-server code

Step-by-step installation:

  1. Create and activate a Python virtual environment (optional but recommended): python -m venv venv source venv/bin/activate # on macOS/Linux venv\Scripts\activate # on Windows

  2. Install Python dependencies: pip install -r requirements.txt

  3. Create a .env file with your QuickBooks Time access token: QB_TIME_ACCESS_TOKEN=your_access_token_here NODE_ENV=development

  4. Run the MCP server (as configured in mcp_config):

    Example command if running directly; use your MCP runner tooling as appropriate

    python ./qb-time-mcp-server/main.py

  5. Verify the server is running and reachable by your MCP runner or client tooling, using the QB_TIME_ACCESS_TOKEN for authentication.

Additional notes

Notes and tips:

  • Ensure QB_TIME_ACCESS_TOKEN is kept secure and not committed to version control.
  • If you are integrating with Claude Desktop or other clients, configure the global settings to reference the qb-time-tools server with the correct Python path and environment variable.
  • The available tools (JobCode Tools, Timesheet Tools, User Tools, and Project Management Tools) include multiple filters and options described in the README; leverage these to minimize API calls and tailor responses to your use case.
  • If you encounter token-related authentication errors, regenerate a token in QuickBooks Time and update QB_TIME_ACCESS_TOKEN.
  • When testing locally, you can set NODE_ENV=development to enable verbose logging if the server supports it.

Related MCP Servers

Sponsor this space

Reach thousands of developers