MCP server for Busy time tracking - log hours with natural language via Claude
npm install busy-mcp-serverAn MCP (Model Context Protocol) server for Busy time tracking. Log hours with natural language through Claude.
``bash`
npx busy-mcp-server
`bash`
npm install -g busy-mcp-server
1. Log in to Busy
2. Go to profile settings → API
3. Generate an API token with the following scopes:
- users:read - Required to find your user ID during setup
- projects:read - Required to list available projects
- hour_entries:read - Required to view your logged time
- hour_entries:write - Required to create, update, and delete entries
Add to your Claude Code MCP settings (~/.claude/settings.json):
`json`
{
"mcpServers": {
"busy": {
"command": "npx",
"args": ["busy-mcp-server"],
"env": {
"BUSY_API_TOKEN": "your-token-here"
}
}
}
}
When you first use the server, Claude will guide you through setup:
1. User ID - Found via email lookup or in your Busy URL: app.busy.no/timeline/{org}/users/{YOUR_ID}
2. Projects - Select which projects you work on
3. Aliases - Add shortcuts like "novem" for "Cube - Novem - Retainer"
Configuration is saved to ~/.config/busy-mcp/config.json.
Once configured, you can:
- Log time: "Log 2 hours to novem for code review"
- Check entries: "What did I log today?"
- Update entries: "Change that last entry to 3 hours"
- Delete entries: "Delete entry 12345"
| Tool | Description |
|------|-------------|
| create_time_entry | Log hours to a project |get_entries
| | View time entries for a date range |list_projects
| | Show configured projects and tags |update_entry
| | Modify an existing entry |delete_entry
| | Remove an entry |reconfigure` | Reset and run setup again |
|
- Recurring entries cannot be modified via the API. Edit them in the Busy web app.
MIT