# Worksnaps — how to use (mcp.ai)

Connect your Worksnaps account and use 14 tools for time tracking straight from your AI agent. Connect with your own API key. Worksnaps is a time-tracking service designed for remote work that offers detailed project and user activity insights.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_worksnaps?ms=1787295900000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `worksnaps_create_project`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/worksnaps`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/worksnaps/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/worksnaps/create/project` — Creates a new project in Worksnaps for tracking time and tasks. Use this tool when you need to set up a new project for time tracking. Projects serve as containers for tasks and time entries. Each pro
  - body: { name: string, description?: string }
- `POST https://api.mcp.ai/api/worksnaps/create/task` — Tool to create a new task in a specified project. Use after confirming project ID exists.
  - body: { name: string, user_id?: integer, due_date?: string, project_id: integer, description?: string }
- `POST https://api.mcp.ai/api/worksnaps/delete/task` — Permanently deletes a task from a Worksnaps project. This action is destructive and cannot be undone. Use GET_TASKS first to find the task_id, and GET_PROJECTS to find the project_id. Returns success=
  - body: { task_id: integer, project_id: integer }
- `POST https://api.mcp.ai/api/worksnaps/get/project/details` — Tool to retrieve details of a specific project. Use when you have a project_id and need its details.
  - body: { project_id: integer }
- `POST https://api.mcp.ai/api/worksnaps/get/project/report` — Retrieves time entries for a specific project using the Worksnaps Time Entries API. Returns individual time tracking records showing when users worked on the project. Use this to get detailed time tra
  - body: { task_ids?: string, user_ids?: string, project_id: integer, to_timestamp: integer, from_timestamp: integer, time_entry_type?: string }
- `POST https://api.mcp.ai/api/worksnaps/get/projects` — Tool to retrieve a paginated list of projects. Use after authenticating to list accessible projects.
  - body: { page?: integer, per_page?: integer }
- `POST https://api.mcp.ai/api/worksnaps/get/task/details` — Tool to retrieve details of a specific task within a project. Use after confirming project_id and task_id.
  - body: { task_id: integer, project_id: integer }
- `POST https://api.mcp.ai/api/worksnaps/get/tasks` — Tool to retrieve tasks for a specific project. Use when you have a project ID and need its tasks. Example: 'Get tasks for project 42'.
  - body: { page?: integer, status?: string, user_id?: integer, per_page?: integer, project_id: integer }
- `POST https://api.mcp.ai/api/worksnaps/get/user/account` — Tool to retrieve information about a specific user account. Use after confirming the user_id.
  - body: { user_id: integer }
- `POST https://api.mcp.ai/api/worksnaps/get/user/assignments` — Tool to retrieve a list of all user assignments for a specific project. Returns details about users assigned to the project including their roles, permissions, and contact information.
  - body: { project_id: integer }
- `POST https://api.mcp.ai/api/worksnaps/get/users` — Retrieves a list of all users in the Worksnaps account. Returns user details including id, login, name, email, time zone, and active status. Use this to get user IDs for other user-related operations.
- `POST https://api.mcp.ai/api/worksnaps/put/update/project` — Tool to update an existing project. Use when you have project_id and fields to modify.
  - body: { name?: string, status?: string, end_date?: string, client_id?: integer, project_id: integer, start_date?: string, description?: string }
- `POST https://api.mcp.ai/api/worksnaps/put/update/task` — Tool to update details of an existing task. Use when you have project_id, task_id, and fields to update.
  - body: { name?: string, status?: string, task_id: integer, due_date?: string, project_id: integer, description?: string }
- `POST https://api.mcp.ai/api/worksnaps/put/update/user/account` — Tool to update information for a specific user account. Use when modifying user details after confirming the user exists. Note: This can only be done by the user himself or by a trusted partner using 
  - body: { email?: string, user_id: integer, password?: string, last_name?: string, first_name?: string, timezone_id?: integer, password_confirmation?: string }

## Example prompts
- "What can I do in Worksnaps?"
- "Show me a summary of my Worksnaps account"

## More
- Page: https://mcp.ai/worksnaps
- Agent spec (llms.txt): https://mcp.ai/worksnaps/llms.txt
- Postman collection: https://mcp.ai/worksnaps/postman.json
