@d4works/mcp-clockify
v0.3.1
Published
MCP server for Clockify time tracking
Downloads
50
Maintainers
Readme
MCP Clockify Server
MCP server for Clockify time tracking integration with Claude.
Features
- Start/Stop Timer - Track time on tasks identified by prefix (e.g., ABC-123)
- Auto-create Tasks - Create new tasks when they don't exist
- Time Multiplication - Duplicate time entries for billing adjustments
- Self-configuration - Guided setup wizard for workspace and project selection
Installation
1. Get your Clockify API key
2. Create or update .env file in your project
CLOCKIFY_API_KEY=your_api_key_here3. Add to your project .mcp.json
{
"mcpServers": {
"clockify": {
"command": "bash",
"args": [
"-c",
"export $(cat .claude/.env.local | xargs) && npx -y @d4works/mcp-clockify@latest"
]
}
}
}The source .env command loads your CLOCKIFY_API_KEY from the .env file before starting the server.
4. Restart Claude Code and configure
After restart, tell Claude to configure CLockify
The configuration wizard will guide you through selecting your workspace, project, task prefix, and language.
Available Tools
| Tool | Description |
| ------------------------ | -------------------------------------------- |
| test-connection | Test Clockify API connection |
| get-running-timer | Check if a timer is running |
| start-timer | Start timer for a task |
| stop-timer | Stop running timer |
| multiply-time | Duplicate last time entry |
| create-task | Create new task in Clockify |
| assign-task-to-running | Assign or change task on a running timer |
| reconfigure | Change workspace/project settings |
Smart Timer Handling
When you try to start a timer while another is already running, the server will prompt you with options:
If the running timer has a task:
- Stop running timer and start new one
- Keep running timer
If the running timer has no task assigned:
- Assign task to running timer (keeps the current time)
- Stop running timer and start new one
- Keep running timer
No changes are made without your explicit confirmation.
Usage Examples
Start tracking:
Start timer for task 123 with description "Implementing login form"Stop timer:
Stop the timerCheck status:
What timer is currently running?Development
Publishing a new release
# Login to npm (if not already logged in)
npm login
# Push changes and tag
git push && git push --tags
# Verify package contents
npm publish --dry-run
# Publish to npm
npm publish --access publicLicense
MIT
