자연어를 사용하여 Clockify의 시간 기록, 프로젝트, 작업, 태그 및 클라이언트를 AI 클라이언트에서 관리할 수 있습니다.
다른 이름 themkn/clockify-mcp, @themkn/clockify-mcp
- 스타
- 1
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 13일
- 라이선스
- MIT
Clockify MCP란?
Clockify은(는) MCP server입니다. 자연어를 사용하여 Clockify의 시간 기록, 프로젝트, 작업, 태그 및 클라이언트를 AI 클라이언트에서 관리할 수 있습니다.
프로젝트 README에서 생성된 요약
Clockify MCP server 정보
이 MCP server를 사용하면 Claude Code를 Clockify 계정에 연결하여 터미널에서 시간 추적을 관리할 수 있습니다. 프리랜서와 팀은 개발 환경을 벗어나지 않고도 자연어를 사용하여 워크플로우를 제어할 수 있습니다. 이 서버를 통해 타이머를 시작하거나 중지하고, 프로젝트별로 특정 시간을 기록하며, 클라이언트, 작업, 태그 전체 카탈로그를 관리할 수 있습니다.
이 서버를 사용하려면 로컬 JSON 설정 파일에 개인 API key와 workspace ID를 제공해야 합니다. 실행을 위해 Node.js 24 이상의 버전이 필요합니다. 설정이 완료되면 AI 클라이언트는 start_timer, create_time_entry, list_projects와 같은 특정 도구를 사용하여 요청을 실행합니다. 서버가 프로젝트나 클라이언트에 대한 정확한 ID를 찾는 복잡한 과정을 처리하므로, 사용자는 일상적인 언어로 작업 내용을 설명하기만 하면 됩니다.
활용 사례
- 1활성 타이머 제어간단한 명령을 사용하여 AI 클라이언트에게 시간 측정 작업 세션을 시작하거나 종료하도록 지시할 수 있습니다.
- 2과거 작업 시간 기록AI에게 이전 날짜에 특정 프로젝트에 소요된 시간을 기록하도록 요청할 수 있습니다.
- 3프로젝트 메타데이터 정리자연어를 사용하여 새 프로젝트를 생성하거나 기존 시간 기록에 태그를 지정할 수 있습니다.
- 4최근 활동 감사기록된 시간의 요약이나 특정 날짜의 항목 목록을 요청할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
Clockify MCP 설치 방법
형식 확인: 2026년 11월 10일Cursor에 추가Goose에 추가Claude Code에 Clockify MCP 설치
$ claude mcp add clockify-mcp -- npx -y @themkn/clockify-mcpCursor에 Clockify MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"clockify-mcp": {
"command": "npx",
"args": [
"-y",
"@themkn/clockify-mcp"
]
}
}
}VS Code에 Clockify MCP 설치
.vscode/mcp.json
{
"servers": {
"clockify-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@themkn/clockify-mcp"
]
}
}
}VS Code CLI에 Clockify MCP 설치
$ code --add-mcp '{"name":"clockify-mcp","type":"stdio","command":"npx","args":["-y","@themkn/clockify-mcp"]}'Claude Desktop에 Clockify MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"clockify-mcp": {
"command": "npx",
"args": [
"-y",
"@themkn/clockify-mcp"
]
}
}
}Codex에 Clockify MCP 설치
$ codex mcp add clockify-mcp -- npx -y @themkn/clockify-mcpCodex config.toml에 Clockify MCP 설치
~/.codex/config.toml
[mcp_servers.clockify-mcp] command = "npx" args = ["-y", "@themkn/clockify-mcp"]
Gemini CLI에 Clockify MCP 설치
$ gemini mcp add -s user clockify-mcp npx -- -y @themkn/clockify-mcpGemini settings.json에 Clockify MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"clockify-mcp": {
"command": "npx",
"args": [
"-y",
"@themkn/clockify-mcp"
]
}
}
}자동 검사
2026년 11월 14일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능themkn/clockify-mcp is public and reachablegithub.com/themkn/clockify-mcp ↗통과
- 패키지가 이 저장소를 소스로 명시@themkn/clockify-mcp names themkn/clockify-mcp as sourcenpmjs.com/package/@themkn/clockify-mcp ↗통과
- 빌드 출처(Sigstore 증명)Sigstore attestation for @themkn/clockify-mcpnpmjs.com/package/@themkn/clockify-mcp/v/1.0.3#provenance ↗통과
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-13github.com/themkn/clockify-mcp ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from @themkn/clockify-mcp통과
- 패키지 및 해당 종속성에 중요한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 엔드포인트가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기clockify-mcp — Clockify MCP Server for Claude Code
An MCP server for Clockify time tracking. Start and stop timers, manage time entries, projects, tasks, tags, and clients — directly from Claude Code or any MCP-compatible client.
What is Clockify?
Clockify is a free time tracking tool used by freelancers and teams to log work hours, generate reports, and manage projects. It works across web, desktop, and mobile — and its generous free tier covers unlimited users and tracking. This MCP server lets you control Clockify with natural language through Claude, so you never have to leave your terminal.
Prerequisites
- A Clockify account — sign up for free (the free plan is all you need)
- A personal API key — once logged in, go to Profile settings → API → Generate
- Your workspace ID — visible in the Clockify URL after selecting a
workspace (e.g.
app.clockify.me/workspaces/<id>/...) - Node.js 24+
Install
npm install -g @themkn/clockify-mcp
The binary is called clockify-mcp regardless of the scoped package name.
(Or point Claude's MCP config at the built JS locally — see below.)
Configure
The server reads a JSON config from ~/.clockify-mcp/config.json. Create it
with permission 600:
mkdir -p ~/.clockify-mcp
chmod 700 ~/.clockify-mcp
cat > ~/.clockify-mcp/config.json <<'EOF'
{
"apiKey": "YOUR_CLOCKIFY_PERSONAL_API_KEY",
"workspaceId": "YOUR_WORKSPACE_ID"
}
EOF
chmod 600 ~/.clockify-mcp/config.json
Paste the API key and workspace ID from the prerequisites above. The server will refuse to start if the config file is group- or world-readable.
Hook into Claude Code
Add an entry to your Claude MCP config (typically ~/.config/claude/mcp.json
or the per-project .claude/mcp.json):
{
"mcpServers": {
"clockify": {
"command": "clockify-mcp"
}
}
}
Recommended permissions
By default Claude Code asks for permission on every Clockify tool call. A
blanket mcp__clockify__* allow works, but it also auto-approves destructive
calls like delete_time_entry. A tiered policy keeps the daily flow frictionless
while making destructive or rare operations explicit.
Add this to your ~/.claude/settings.json:
{
"permissions": {
"allow": [
"mcp__clockify__get_current_user",
"mcp__clockify__get_workspace",
"mcp__clockify__get_project",
"mcp__clockify__get_time_entry",
"mcp__clockify__get_running_timer",
"mcp__clockify__list_clients",
"mcp__clockify__list_projects",
"mcp__clockify__list_tasks",
"mcp__clockify__list_tags",
"mcp__clockify__list_time_entries",
"mcp__clockify__start_timer",
"mcp__clockify__stop_timer",
"mcp__clockify__create_time_entry",
"mcp__clockify__update_time_entry"
]
}
}
What this does:
- Reads + time-entry writes (the list above) run without prompting — these are the daily flow.
- Catalog writes (
create_project,update_client, etc.) and alldelete_*tools are not listed, so Claude Code will prompt before each call. Catalog edits are rare from the MCP and deletes should be deliberate.
If you want a stricter setup, keep a wildcard allow and add a deny block for
the destructive tools — deny blocks the call entirely (no prompt, no
override):
{
"permissions": {
"allow": ["mcp__clockify__*"],
"deny": [
"mcp__clockify__delete_client",
"mcp__clockify__delete_project",
"mcp__clockify__delete_task",
"mcp__clockify__delete_tag",
"mcp__clockify__delete_time_entry"
]
}
}
Tools
Grouped by resource:
| Resource | Tools |
|---|---|
| Time entries | list_time_entries, get_time_entry, create_time_entry, update_time_entry, delete_time_entry, start_timer, stop_timer, get_running_timer |
| Projects | list_projects, get_project, create_project, update_project, delete_project |
| Tasks | list_tasks, create_task, update_task, delete_task |
| Tags | list_tags, create_tag, update_tag, delete_tag |
| Clients | list_clients, create_client, update_client, delete_client |
| Meta | get_current_user, get_workspace |
Notes:
- All timestamps are ISO 8601 (
YYYY-MM-DDTHH:mm:ssZ). Claude interprets relative phrases like "yesterday 9am" before calling the tool. - Tools accept IDs, not names. Claude lists projects/tasks/tags/clients first, picks the matching id, then acts.
delete_projecttries a hard delete; if Clockify refuses because the project has time entries, the server archives it instead. The response reports{ "action": "deleted" }or{ "action": "archived" }.
Example prompts
Once the server is running, try asking Claude things like:
| Prompt | What happens |
|---|---|
| "Start a timer for the standup meeting" | Starts a running timer with that description |
| "Stop my timer" | Stops the currently running timer |
| "How many hours did I log this week?" | Lists recent time entries and totals them |
| "Log 2 hours yesterday for the Website Redesign project" | Creates a time entry on the right project |
| "Create a project called 'Brand Refresh' for client Acme" | Creates a new project linked to an existing client |
| "Show me all time entries from last Monday" | Fetches entries filtered by date |
| "Tag my last time entry with 'billable'" | Updates the most recent entry with a tag |
| "Delete the 'test-cleanup' tag" | Removes a tag by name |
| "What projects do we have?" | Lists all projects in the workspace |
| "Am I tracking time right now?" | Checks for a running timer |
Claude handles the translation from natural language to API calls — you just describe what you want in plain English.
Security
- The API key in
~/.clockify-mcp/config.jsongrants full access to your Clockify account. This server cannot narrow that scope — Clockify's API does not offer read-only personal tokens. Rotate the key if you suspect exposure. - The key is never logged or returned in any tool response. Errors are scrubbed defensively before being surfaced.
- The only network destination is
https://api.clockify.me; there is no telemetry. - Run the server as your user — never via
sudo.
Report vulnerabilities per SECURITY.md.
Development
npm install
npm run typecheck
npm test
npm run build
Optional: add npm run test:live later for integration tests against a real
workspace (not run in CI).
License
MIT — see LICENSE.
Clockify MCP 질문
Clockify MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add clockify-mcp -- npx -y @themkn/clockify-mcp를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
Clockify MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
API key와 workspace ID는 어떻게 설정하나요?
~/.clockify-mcp/config.json 경로에 apiKey와 workspaceId를 포함하는 JSON 설정 파일을 생성하세요.
프로젝트 삭제를 지원하나요?
네, 지원합니다. 다만 프로젝트에 시간 기록이 포함되어 있어 Clockify에서 완전 삭제를 차단할 경우, 서버가 대신 아카이브 처리합니다.