worksnaps-mcp
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., "@worksnaps-mcp Log 6 hours offline time to Worksnaps project 3456 task 12"
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.
@mhdd_24/worksnaps-mcp
MCP server for Worksnaps time tracking from Cursor chat. Verify your API token, list projects and tasks, and log offline time without opening the Worksnaps web UI.
Same architecture as Timelog / Flyway / Notepad++ / Caffeine / Workspace Build MCP packages.
Full documentation: docs/WIKI.md
How it works (30 seconds)
You (chat)
→ worksnaps-mcp
→ Worksnaps REST API (XML over HTTPS)
→ GET /me.xml | /projects.xml | /tasks.xml
→ POST /projects/{id}/time_entries.xml (offline time)Configure
WORKSNAPS_API_TOKEN(Profile & Settings → Web Service API in Worksnaps)Say "list Worksnaps projects" to pick a project ID
Say "list tasks for project 1234" to pick a task ID
Say "log 480 minutes to Worksnaps project 1234 task 56" with an optional comment
Related MCP server: YesDev MCP Server
Prerequisites
Requirement | Notes |
Node.js 18+ | Uses native |
Worksnaps API token | Profile & Settings → Web Service API → Show my API Token |
Project + task IDs | Use |
Install
Option A — npm (after publish)
npm install -g @mhdd_24/worksnaps-mcpOption B — npx
npx @mhdd_24/worksnaps-mcpOption C — clone and build
git clone https://github.com/Mhdd-24/Worksnaps-MCP.git
cd Worksnaps-MCP
npm install
npm run build
node dist/index.jsConfigure Cursor
Edit ~/.cursor/mcp.json:
{
"mcpServers": {
"worksnaps": {
"command": "npx",
"args": ["-y", "@mhdd_24/worksnaps-mcp"],
"env": {
"WORKSNAPS_API_TOKEN": "<your-api-token>",
"WORKSNAPS_DEFAULT_PROJECT_ID": "1234",
"WORKSNAPS_DEFAULT_TASK_ID": "5678"
}
}
}
}Local development:
"command": "node",
"args": ["C:/path/to/worksnaps-mcp/dist/index.js"]Reload MCP after saving.
Tools
Tool | Purpose |
| Resolve current user from API token ( |
| List accessible projects |
| List tasks in a project |
| Create offline time entry for yourself |
Chat examples
"Run whoami on Worksnaps"
"List Worksnaps projects"
"List tasks for Worksnaps project 3456"
"Log 6 hours offline time to Worksnaps project 3456 task 12 — comment: Sprint development"
Environment variables
Variable | Required | Purpose |
| Yes* | API token (Basic auth username; password ignored) |
| No | Default project for |
| No | Default task for |
| No | API base URL (default |
*Can be passed as token per tool call instead.
Notes
log_timecreates offline time entries (Worksnaps API: POST/projects/{project_id}/time_entries.xml).from_timestampis aligned to a 10-minute boundary (Worksnaps API requirement).Default
startHouris 9 (local time) when only a date is provided.
License
ISC
Available Tools
4 toolslist_projectsB
List Worksnaps projects the current user can access (GET /projects.xml).
Inputs: token.
list_tasksB
List tasks in a Worksnaps project (GET /projects/{projectId}/tasks.xml).
Inputs: projectId (required), token.
log_timeA
Log offline time to Worksnaps for yourself (POST /projects/{projectId}/time_entries.xml). Requires projectId, taskId, and minutes.
Inputs: minutes (required), date, token, taskId, +3 more.
whoamiA
Resolve the current Worksnaps user from the API token (GET /me.xml). Returns user id, login, name, and email.
Inputs: token.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool targets a distinct resource: projects, tasks, time entries, and user identity. There is no ambiguity between them.
Most tools follow a verb_noun pattern (list_projects, list_tasks, log_time). 'whoami' deviates slightly but is still an imperative verb. Overall consistent.
With 4 tools, the server is focused and well-scoped for its purpose. Each tool serves a clear need without bloat.
The tool surface lacks read operations for logged time entries and lacks CRUD for projects and tasks. Users cannot retrieve, update, or delete time entries, which is a significant gap.
Maintenance
Related MCP Connectors
Manage projects, tasks, time tracking, and team collaboration through natural language.
Time tracking you talk to: log, check and fix your work hours from your AI assistant.
Connects AI assistants to TrackingTime for querying time entries, projects, tasks, customers, and team data using natural language.
Read your tracked time and projects, pause tracking or add a note, from Claude or ChatGPT.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables natural language time tracking and reporting for Harvest, including automatic leave requests, project/task matching, and date parsing.510 npm5MIT
- AlicenseNot gradedqualityDmaintenanceAutomatically logs developer work hours and manages tasks, projects, requirements, and daily reports through YesDev project management platform. Enables programmers to track time and update project progress through conversational AI in development tools like Cursor and VSCode.10 npm5MIT
- FlicenseNot gradedqualityDmaintenanceEnables logging time to Tempo (Jira time tracker) via natural language in Claude Desktop or OpenCode.-
- AlicenseAqualityDmaintenanceEnables time tracking and management in Clockify through natural language commands. Supports creating time entries, managing projects, clients, and tags.1316 npmMIT