Clockify MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Clockify MCP Serverlist my projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Clockify MCP Server
A scoped Clockify MCP server for mcp.sco-mo.com. Exposes a fixed read/write
tool set plus a code-defined structure scaffold that replaces Clockify's
paid-gated project templates. The structure lives as code (lib/structure.ts) —
a single source of truth that's editable, re-runnable, and version-controlled.
v0.1 DRAFT. The
STRUCTUREconfig is a draft pending Oel's Excel reconciliation. The mechanism is built; do not runscaffoldStructureagainst the live workspace yet (see Build sequence).
Stack
Next.js App Router route handler +
mcp-handler(Vercel adapter)Pipeline: GitHub → Vercel → Cloudflare, custom domain
mcp.sco-mo.comClockify base API:
https://api.clockify.me/api/v1
MCP endpoint (streamable-http): https://mcp.sco-mo.com/api/mcp
Health probe (open): https://mcp.sco-mo.com/api/health
Related MCP server: clockify-mcp
Environment variables
Set these in the Vercel dashboard (never in code, never committed):
Var | Value | Notes |
| the raw | Sent as |
|
| Fixed target workspace. |
| a strong random token | Guards the endpoint. Clients send |
.env is git-ignored. Copy .env.example → .env.local for local dev.
If MCP_BEARER_TOKEN is unset the endpoint fails closed (401), never open.
Tools — the complete scoped set (do not add to this)
Read — getCurrentUser, listUsers, listTimeEntries, getTimeEntry,
listProjects, listClients, listTasks, listTags
Write — upsertTimeEntry, upsertProject, upsertClient, upsertTask,
upsertTag, archiveProject, archiveClient, deleteProject (gated),
deleteClient (gated), scaffoldStructure, newProjectFromShape
Delete discipline (the one irreversible surface)
Clockify enforces archive-before-delete.
deleteProject/deleteClientverify the target is archived and refuse otherwise.Both require an explicit
confirm: trueargument (typed asliteral(true)), and are never called by an unattended agent — the review gate.Deleting a project removes it from time entries but leaves the underlying time data intact.
scaffoldStructure
Idempotent, additive-only reconcile of the workspace toward STRUCTURE:
creates any missing client/project/task/tag, skips what exists, never deletes.
dryRun defaults to true — it returns the plan without writing. Pass
dryRun: false to apply. Idempotency is by name.
newProjectFromShape
The template replacement. Instantiates a project + its standard task list from a
shape in STRUCTURE.shapes (e.g. matter). Creates the client if a clientName
is given and missing.
Local development
npm install
cp .env.example .env.local # fill in the three vars
npm run dev # http://localhost:3000/api/mcp
npm run typecheckSmoke-test the endpoint (expects 401 without the token):
curl -s http://localhost:3000/api/healthDeploy
Push to GitHub; import into Vercel (framework auto-detected as Next.js).
Add the three environment variables in Vercel → Settings → Environment Variables.
Add the domain
mcp.sco-mo.com(Vercel → Domains); point Cloudflare DNS per the existing pipeline.Redeploy. Verify
GET /api/healthreturnsconfigalltrue.
Build sequence
✅ Now: server, scoped tool set, delete gate, and
scaffoldStructure/newProjectFromShapebuilt and deployed.⛔ Do not run
scaffoldStructurewithdryRun:falseagainst the live workspace yet.Oel sends the Excel of the existing structure. Reconcile
lib/structure.tsagainst it — Scottmoore project granularity, kill dead old-company projects, confirm the Personal breakdown.Then run
scaffoldStructureto build/adjust the live workspace, and archive/delete old-company remnants (delete gated, oneconfirmeach).
This server cannot be deployed
Maintenance
Related MCP Connectors
- TimequipOAuthcom.timequip
Manage Timequip projects, tasks, comments, members, and dashboards through MCP.
- mcp-serverOAuthio.klokin
MCP server exposing klokin time-tracking operations (employees, time entries, stores) to AI clients.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
A MCP server built for developers enabling Git based project management with project and personal…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server that enables AI agents to interact with Clockify time tracking via curated workflows and a generic API tool for managing workspaces, projects, tasks, and time entries.15MIT
- AlicenseBqualityCmaintenanceMCP server for Clockify time tracking, enabling CRUD operations on workspaces, projects, tasks, clients, tags, users, and time entries.36MIT
- FlicenseNot gradedqualityBmaintenanceA modular MCP server integrating Clockify, WakaTime, and Azure DevOps for time tracking, work item management, and time logging via a unified API.1-
- AlicenseNot gradedqualityBmaintenanceAn MCP server that lets LLMs interact with your Clockify workspace for time-tracking automation and reporting, enabling natural language logging of time entries, querying entries, and generating reports.MIT