Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Deputy in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
AnythingMCP is listed in Claude's connector directory: add it to Claude in one click (opens in a new tab), then sign in and choose which MCP servers Claude may use.
Summary
Deputy workforce management for one install: employees, locations and areas, rosters (shifts) with copying and publishing, timesheets with clock on and off and approval, leave and unavailability, memos, manager notes and any other record through the resource query API. Connects with a permanent token.
Try asking
Example prompts for Deputy
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Deputy, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Deputy + Claude
Deputy workforce management for one install: employees, locations and areas, rosters (shifts) with copying and publishing, timesheets with clock on and off and approval, leave and unavailability, memos, manager notes and any other record through the resource query API. Connects with a permanent token.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
DEPUTY_HOST, DEPUTY_ACCESS_TOKEN
Step 1 — Get credentials
Setting up takes about 5 minutes and needs a Deputy system administrator.
- Note your install address from the browser bar when you are logged in, for example
mycompany.au.deputy.com(regionsau,eu,uk, andnafor the US). Put it intoDEPUTY_HOSTwithouthttps://and without a path. - Open
https://<your install address>/exec/devapp/oauth_clients, add an OAuth client (any name and description; the client id itself is not used), then click Get an Access Token. - Copy the permanent token right away (it is shown only once) into
DEPUTY_ACCESS_TOKEN. Install the connector:deputy_get_meis the install check.
The token works only on the install that issued it and acts as the user who created it, with that user's permissions. A system administrator sees every location.
Personal data: employee records hold names, dates of birth, contact details, addresses and pay data. Ask only for what the task needs.
Deputy's words: a location (workplace) is a Company, an area (department) an OperationalUnit, a shift a Roster, actual worked time a Timesheet and a leave type a LeaveRules record.
What it reads:
- The token user:
deputy_get_meand their own shifts, timesheets, leave, unavailability, locations and colleagues (deputy_get_my_rosters,deputy_get_my_timesheets,deputy_get_my_leave,deputy_get_my_unavailability,deputy_get_my_locations,deputy_get_my_colleagues). - Structure and people:
deputy_list_locations,deputy_list_areas(each area belongs to a location; shifts and timesheets use area ids),deputy_list_employees,deputy_get_employee,deputy_query_employeesfor filters, anddeputy_get_employee_shift_statusfor who is working right now. - Schedule:
deputy_list_rosterscovers 12 hours back to 36 hours ahead;deputy_query_rostersany period, employee or area (filter onDate,Employee,OperationalUnit). - Time:
deputy_query_timesheetsanddeputy_get_timesheet(slots, breaks, pay lines, comments and approval state). - Leave and availability:
deputy_query_leave,deputy_get_employee_leave,deputy_get_employee_unavailabilityanddeputy_query_availability. Leave types come fromdeputy_query_resourcewithobjectLeaveRules. - Everything else (teams, public holidays, events, training, custom fields, sales data, pay periods and more):
deputy_get_resource_infolists an object's fields,deputy_query_resourcesearches it anddeputy_get_resourcereads one record.
What it writes:
- Schedule:
deputy_save_shiftadds a shift or, withroster_id, updates one;deputy_copy_rosterscopies a date range of some areas forward (for example last week to this week);deputy_publish_rosterspublishes shifts with the chosen notification (notify1 SMS and email, 2 SMS, 3 email, 4 none, 5 ask employees to confirm). - Time:
deputy_start_timesheet,deputy_pause_timesheet(calling it again ends the break) anddeputy_end_timesheetclock an employee on and off;deputy_save_timesheetadds or fixes a finished timesheet;deputy_approve_timesheetapproves time so it can be exported to payroll. - Leave and availability:
deputy_add_leave(status 0 waits for manager approval, 1 records leave that is already approved and affects timesheets and balances),deputy_update_leave(approve, decline or cancel withstatus1, 2 or 3) anddeputy_add_unavailability(once or repeating, for example every second Monday). - Employees:
deputy_add_employee,deputy_update_employee,deputy_invite_employee(emails a login invitation),deputy_terminate_employee(they can no longer log in or be rostered; reversible) anddeputy_reactivate_employee. - Notes and news:
deputy_post_journaladds a private manager note to an employee's profile;deputy_post_memoposts to a location's news feed, optionally to selected users and asking them to confirm they read it.
Publishing shifts, invitations and memos reach real employees, so check the shifts and the notification before you ask for them.
Switched off at install: deputy_delete_employee, deputy_discard_rosters and deputy_discard_timesheet. They cannot be undone; a workspace admin switches them on when the team needs them. Terminating an employee is the reversible alternative to deleting one.
Query tools: deputy_query_* and deputy_query_resource send POST but only read. The search body holds clauses that must all match, for example {"s1":{"field":"Date","type":"ge","data":"2026-11-01"},"s2":{"field":"Date","type":"le","data":"2026-11-07"}}, with the operators eq, ne, gt, ge, lt, le, in, not in, starts, contains, is and is not. sort ({"Date":"asc"}) and join (["EmployeeObject"]) are optional.
Data formats: ids are integers. StartTime, EndTime and the start and end inputs are Unix timestamps in seconds; Date fields are local dates of the location (2026-11-03T00:00:00+11:00), so times are converted with the location's time zone. A roster with Employee 0 is an open shift, Published false a draft. Timesheet state is in TimeApproved, PayRuleApproved, Discarded and IsInProgress; TotalTime is in hours. Leave Status: 0 awaiting approval, 1 approved, 2 declined, 3 cancelled, 4 pay approved. Adding or updating a shift answers 200 with an empty body; the AI checks the result with deputy_query_rosters.
Paging: an answer holds at most 500 records. Query tools take max (up to 500) and start (offset); when a page is full, the AI calls again with start raised by max. The list tools without paging return everything Deputy allows in one answer.
Common errors: 401 means a wrong token or a token of another install, 403 a permission the token's user lacks, 404 a wrong install address or record id, 400 a bad field name in a filter (check it with deputy_get_resource_info).
The connector does not export timesheets to a payroll system itself, does not create locations or areas and does not delete anything while the delete tools are switched off.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Claude
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Recommended path: works on claude.ai web without editing any config file.
- In Claude, open Customize → Connectors.
- Click +, then Add custom connector.
- Enter a name, e.g.
Deputy, and the remote MCP server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID, then click Add. - Click Connect and sign in to AnythingMCP (OAuth) to allow access.
All tools below appear in your chat: start typing prompts.
Available tools
| Tool | What it does |
|---|---|
deputy_get_me | Who the token belongs to: user and employee id, name, company (location) ids, permissions and the install's settings |
deputy_get_my_rosters | Upcoming shifts of the token's own user (when am I next working), with times, area and location |
deputy_get_my_timesheets | Timesheets of the token's own user, newest first, with start and end times, breaks and approval state |
deputy_get_my_leave | Leave requests of the token's own user, with dates, leave type, hours and status |
deputy_get_my_unavailability | Unavailability periods the token's own user has entered (when am I unavailable) |
deputy_get_my_locations | Locations (workplaces) the token's own user can work in, with their areas |
deputy_get_my_colleagues | Colleagues of the token's own user (who do I work with): names, photos and contact details shared in Deputy |
deputy_list_employees | All employees the token may see, with id, name, main location (Company), role, active flag, start date, contact and payroll id |
deputy_get_employee | One employee by id: name, locations, role, contact details, start and termination date, payroll id |
deputy_query_employees | Search employees with filters, sorting and paging, e.g. active staff of one location: search… |
deputy_get_employee_shift_status | Whether an employee is working right now: current or next shift, open timesheet and break state |
deputy_list_locations | All locations (Deputy calls them Company records: workplaces with name, code, address id, time zone and active flag) |
deputy_list_areas | All areas (operational units / departments) with name, location (Company), colour and active flag |
deputy_list_rosters | Shifts (rosters) from 12 hours ago to 36 hours ahead across the install: employee, area, start and end (Unix seconds), published flag |
deputy_query_rosters | Search shifts (rosters) for any period, employee or area, e.g. one day: search {"s1":{"field":"Date","type":"eq","data":"2026-11-03"}}; a… |
deputy_query_timesheets | Search timesheets (actual worked time): employee, area, start and end (Unix seconds), total hours, cost, TimeApproved, PayRuleApproved… |
deputy_get_timesheet | One timesheet with its full details: slots, breaks, pay lines, comments and approval state |
deputy_query_leave | Search leave requests: employee, leave rule (type), location, DateStart, DateEnd, Days, TotalHours, Status (0 awaiting approval, 1… |
deputy_get_employee_leave | Leave requests of one employee with dates, type, hours and status |
deputy_get_employee_unavailability | Unavailability periods of one employee (one-off and recurring), with start, end and comment |
deputy_query_availability | Search availability and unavailability records of employees (EmployeeAvailability): employee, start and end (Unix seconds), type and… |
deputy_query_resource | Search any other Deputy resource with the same filter body as the other query tools: leave rules, teams, public holidays, events, memos… |
deputy_get_resource | Read one record of any Deputy resource by id, e.g. a Roster, Leave, LeaveRules or Company record |
deputy_get_resource_info | Field list of a Deputy resource: field names and types, and the joinable related objects |
deputy_add_employee | Add an employee to a location |
deputy_update_employee | Change fields of an employee record through the resource API |
deputy_invite_employee | Email the employee an invitation to log in to Deputy and use the app (sends a message) |
deputy_terminate_employee | Terminate an employee: they can no longer log in or be rostered |
deputy_reactivate_employee | Re-activate a terminated employee so they can be rostered again |
deputy_delete_employee | Delete an employee's account and data from Deputy |
deputy_post_journal | Add a journal entry (a private manager note) to an employee's profile |
deputy_add_leave | Create a leave request for an employee |
deputy_update_leave | Approve, decline or cancel a leave request (Status), or change its dates and comment |
deputy_add_unavailability | Record when an employee cannot work, once or repeating (e.g. every second Monday) |
deputy_save_shift | Add a shift, or update one when roster_id is given |
deputy_publish_rosters | Publish shifts so employees see them, with the chosen notification |
deputy_copy_rosters | Copy the shifts of a date range of some areas forward (e.g. last week to this week) |
deputy_discard_rosters | Discard (remove) shifts from the schedule |
deputy_start_timesheet | Clock an employee on in an area now: starts a running timesheet for them |
deputy_end_timesheet | Clock an employee off (ends a running timesheet), with an optional unscheduled meal break |
deputy_pause_timesheet | Start or end a break on a running timesheet (calling it again ends the break) |
deputy_save_timesheet | Create a finished timesheet, or update one when timesheet_id is given: times, area, breaks and comment, optionally approved at once |
deputy_approve_timesheet | Approve a timesheet (time approval) so it can be exported to payroll |
deputy_discard_timesheet | Discard a timesheet so it is not paid |
deputy_post_memo | Post a memo to the news feed of a location, optionally to selected locations or users, and optionally asking them to confirm they read it |
Example prompts
- "Who is working at the Sydney store right now, and who starts next?"
- "Show next week's roster for the Kitchen area, including open shifts."
- "List last week's timesheets that are not approved yet, with employee and total hours."
- "Copy last week's shifts of the Bar area to this week and show me the drafts before publishing."
- "Which leave requests are awaiting approval this month?"
FAQ
Does it work with Claude Code as well as Claude Desktop? Yes, point both at https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID.
Next steps
- Connector landing page
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
- Connect to Microsoft Copilot
Was this guide helpful?