Combined QuickBooks Time API server for seamless access to job, timesheet, user, project, and report tools
The QuickBooks Time MCP Server serves as a combined interface, leveraging the Model Context Protocol (MCP) to provide access to all functionalities offered by the QuickBooks Time API through a single unified endpoint. This server integrates and orchestrates four distinct servers—JobCode Tools, Reports & Core Tools, Timesheet Tools, and User Tools—to deliver comprehensive control over time tracking, project management, user management, and reporting in QuickBooks Time.
The QuickBooks Time MCP Server offers a wide array of capabilities through the Model Context Protocol (MCP). These include:
The QuickBooks Time MCP Server leverages the Model Context Protocol (MCP) to establish a standardized communication protocol with AI applications through JSON-RPC. This ensures seamless data exchange between the server and compatible AI tools such as Claude Desktop, Continue, Cursor, etc. The server listens for JSON-RPC requests on stdin/stdout.
The core of the implementation involves setting up dependency management via pip to install required libraries, creating an environment file with QuickBooks Time access credentials, and configuring it within the given AI application (like Claude Desktop) using a specific JSON format. Below is an example configuration:
{
"globalShortcut": "Ctrl+Q",
"mcpServers": {
"qb-time-tools": {
"command": "python",
"args": [
"./qb-time-mcp-server/main.py"
],
"env": {
"QB_TIME_ACCESS_TOKEN": "your_quickbooks_time_access_token_here",
"NODE_ENV": "development"
}
}
}
}
To install and run the QuickBooks Time MCP Server, follow these steps:
Install Dependencies:
pip install -r requirements.txt
Create an Environment File:
Create a .env file to store your QuickBooks Time access token:
QB_TIME_ACCESS_TOKEN=your_access_token_here
NODE_ENV=development
Start the Server:
python main.py
The server will start and listen on stdin/stdout for JSON-RPC requests.
In an AI-driven workflow, time tracking is crucial. The QuickBooks Time MCP Server can integrate into the development cycle of applications that require real-time time tracking updates directly from QuickBooks Time. For instance, a developer might use the get_current_timesheets endpoint to retrieve active timesheet data and sync it with their project management tools in real-time.
Agile teams often need detailed reports on how their time is spent across various projects. The QuickBooks Time MCP Server can generate these reports efficiently, allowing developers to filter by jobcode, user, group, and other parameters. For example, the get_payroll endpoint provides customizable payroll reports based on start and end dates.
The QuickBooks Time MCP Server is designed to work seamlessly with various MCP clients such as Claude Desktop, Continue, Cursor, etc. The following compatibility matrix shows which features are supported by each client:
| MCP Client | Resources | Tools | Prompts |
|---|---|---|---|
| Claude Desktop | ✅ | ✅ | ✅ |
| Continue | ✅ | ✅ | ✅ |
| Cursor | ❌ | ✅ | ❌ |
Here's an example configuration snippet for integrating the QuickBooks Time MCP Server with Claude Desktop:
{
"globalShortcut": "Ctrl+Q",
"mcpServers": {
"qb-time-tools": {
"command": "python",
"args": [
"./qb-time-mcp-server/main.py"
],
"env": {
"QB_TIME_ACCESS_TOKEN": "your_quickbooks_time_access_token_here",
"NODE_ENV": "development"
}
}
}
}
The QuickBooks Time MCP Server is optimized for performance with real-time data processing and API requests. It supports various AI clients like Claude Desktop, ensuring a smooth and efficient integration experience.
Here's the compatibility matrix to support various development needs:
| MCP Client | Resources | Tools | Prompts |
|---|---|---|---|
| Claude Desktop | ✅ | ✅ | ✅ |
| Continue | ✅ | ✅ | ✅ |
| Cursor | ❌ | ✅ | ❌ |
To visually represent the communication flow, here is a Mermaid diagram illustrating the interaction between an AI application (like Claude Desktop), the QuickBooks Time MCP Server, and its associated QuickBooks Time data source.
graph TD
A[AI Application] -->|MCP Client| B[MCP Protocol]
B --> C[MCP Server]
C --> D[Data Source/Tool]
style A fill:#e1f5fe
style C fill:#f3e5f5
style D fill:#e8f5e8
Ensure that your environment variables, particularly the QB_TIME_ACCESS_TOKEN, are securely managed. Misconfigurations or exposure can lead to unauthorized access. Implementing proper authentication and authorization mechanisms is crucial.
Can you provide a command example for starting the QuickBooks Time MCP Server?
python main.py
What compatibility matrix shows which features are supported by each client? Check the table under "Integration with MCP Clients" section.
How can I ensure security of my QuickBooks Time Access Token?
Store your QB_TIME_ACCESS_TOKEN in a secure environment and avoid hardcoding it into scripts or public repositories.
Can you integrate Cursor into AI workflows using the QuickBooks Time MCP Server? Currently, only tools compatibility is supported for Cursor as indicated by the compatibility matrix (Tools Only).
What are some practical use cases where this server could be utilized? Real-time time tracking and customized reporting for Agile teams are two significant use cases.
To contribute to or develop on the QuickBooks Time MCP Server, ensure you have:
requirements.txt.Follow these steps to set up your development environment:
git clone https://github.com/your-repo-url.git
cd quickbooks-time-mcp-server
pip install -r requirements.txt
# Optionally, create a `.env` file and add your QuickBooks Time access token.
Fork the Repository: Go to the repository page on GitHub and click "Fork" to make a copy of it in your own account.
Clone Your Forked Repository:
git clone https://github.com/your-username/quickbooks-time-mcp-server.git
cd quickbooks-time-mcp-server
Create and Switch to a New Branch:
git checkout -b feature-branch
Make Changes: Use git add . followed by git commit -m "Your description of changes".
Push to Original Topic: Push your branch to GitHub with the command:
git push origin feature-branch
Create Pull Request: Click on the “New pull request” button and follow the prompts to create a pull request.
For more information on integrating the QuickBooks Time MCP Server with your applications, or for further details about the Model Context Protocol (MCP), refer to:
By understanding and using this protocol, developers can enhance their applications with real-time data processing and management capabilities provided by the QuickBooks Time API.
This comprehensive documentation outlines how to integrate and use the QuickBooks Time MCP Server as a powerful tool for developers building AI applications and seeking seamless integration through the Model Context Protocol.
RuinedFooocus is a local AI image generator and chatbot image server for seamless creative control
Learn to set up MCP Airflow Database server for efficient database interactions and querying airflow data
Simplify MySQL queries with Java-based MysqlMcpServer for easy standard input-output communication
Explore CoRT MCP server for advanced self-arguing AI with multi-LLM inference and enhanced evaluation methods
Build stunning one-page websites track engagement create QR codes monetize content easily with Acalytica
Access NASA APIs for space data, images, asteroids, weather, and exoplanets via MCP integration