Deputy MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.1Updated Nov 14, 2026

See rosters, timesheets, leave and staff in Deputy, and create shifts, leave and memos.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Hosted Deputy connector that lets an assistant read rosters, timesheets, leave and staff, and create shifts, leave requests and memos.

What you can do
  • Look up the signed-in user, locations and areas
  • Search and read employees, including contact, role and employment details
  • Search shifts and timesheets by time window, employee, area and approval state, and read single records
  • Search leave requests and an employee's unavailability
  • Query and describe any Deputy resource object for fields, filters and joins
  • Create, update and publish shifts; create leave requests, unavailability and memos; correct and approve timesheets
When to use it
Useful when a manager or scheduler wants to ask questions about who is working, what still needs approval, or pending leave, and to make small roster and timesheet changes from a chat client without opening Deputy.
Requirements
Remote MCP endpoint added by URL only; sign-in is via OAuth, and on first connect you supply your Deputy install host and a permanent Deputy access token. No local install. A free plan allows 50 tool calls per month; paid plans are billed per user through a checkout link.
Before you install
Write tools change Deputy data: shifts, publishing (which can notify employees by SMS or email), leave, unavailability, memos visible to staff immediately, and timesheet edits or approvals that flow toward payroll. Confirm before any write. Your Deputy install host and access token are stored per user by the third-party host, and usage is metered with paid upgrades and cancellations available through the assistant.

Installation

In SourceWeft

  1. Open Deputy MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fdeputy/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "deputy-by-usefulapi": {
      "type": "http",
      "url": "https://deputy.usefulapi.io/mcp"
    }
  }
}

README

Deputy MCP by usefulapi

Use Deputy from Claude, Cursor, or any MCP client — see rosters, timesheets, leave and staff, and create shifts, leave requests and memos. Hosted, no local install: connect with your own Deputy credentials.

Live endpoint: https://deputy.usefulapi.io/mcp · Homepage: https://usefulapi.io/deputy

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://deputy.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http deputy https://deputy.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "deputy": {      "url": "https://deputy.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Deputy credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/deputy/

On first connect you'll provide your Deputy install host (like acme.au.deputy.com) and a permanent access token (Deputy developer portal → OAuth Client → Get an Access Token). They're validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
deputy_whoamireadWho am I
deputy_list_locationsreadList locations
deputy_list_areasreadList areas
deputy_list_employeesreadList employees
deputy_get_employeereadGet one employee
deputy_list_shiftsreadList shifts
deputy_get_shiftreadGet one shift
deputy_list_timesheetsreadList timesheets
deputy_get_timesheetreadGet one timesheet
deputy_list_leavereadList leave requests
deputy_get_employee_unavailabilityreadGet an employee's unavailability
deputy_query_resourcereadQuery any Deputy resource
deputy_describe_resourcereadDescribe a Deputy resource
deputy_create_shiftwriteCreate a shift
deputy_update_shiftwriteUpdate a shift
deputy_publish_shiftswritePublish shifts
deputy_create_leave_requestwriteCreate a leave request
deputy_add_unavailabilitywriteAdd unavailability for an employee
deputy_create_memowritePost a memo
deputy_update_timesheetwriteUpdate a timesheet
deputy_approve_timesheetwriteApprove a timesheet
deputy_usage_statusmetaUsage status (free-tier meter)
deputy_request_featuremetaRequest a missing feature
deputy_upgrademetaUpgrade to Pro or Pro+
deputy_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)10,000 tool calls / month
Pro+ (per user)$39/mo or $390/yr (2 months free)100,000 tool calls / month

Each paid plan covers this server only. Ask your AI to run deputy_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with deputy_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with deputy_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Deputy.

Source: servers/deputy/README.md at commit f22f848

Tools

21

deputy_whoami

Who am I

Return the Deputy user the token belongs to — name, employee id, company and permissions. A cheap way to confirm DEPUTY_INSTALL and the token are right. Deputy: GET /api/v1/me.

Takes no parameters.

deputy_list_locations

List locations

List the install's locations (workplaces). Deputy calls a location a Company; its Id is what other tools take as location_id. Deputy: GET /api/v1/resource/Company.

Takes no parameters.

deputy_list_areas

List areas

List areas (Deputy OperationalUnits — the rosterable sections of a location, e.g. Kitchen, Front of house). Shifts and timesheets belong to an area. Optionally only one location's areas. Deputy: GET /api/v1/resource/OperationalUnit, or POST .../OperationalUnit/QUERY when filtered.

Parametersmaxstartactivelocation_id

deputy_list_employees

List employees

Search employees by name, location or active status. Returns Id, DisplayName, Company (main location), Active, StartDate, Role and more. Deputy: POST /api/v1/resource/Employee/QUERY.

Parametersmaxstartactivelocation_idname_contains

deputy_get_employee

Get one employee

Fetch one employee's details as a supervisor sees them — contact, locations, role and employment. Deputy: GET /api/v1/supervise/employee/{id}.

Parametersemployee_idrequired

deputy_list_shifts

List shifts

Search the roster (scheduled shifts) by time window, employee, area, and published/open state. Each record has StartTime/EndTime (unix), StartTimeLocalized, Employee (0 or null when open), OperationalUnit (area), Published, Open, Cost and _DPMetaData with names. Deputy: POST /api/v1/resource/Roster/QUERY.

Parameterstomaxfromopenstartarea_idpublishedemployee_id

deputy_get_shift

Get one shift

Fetch one shift (Roster record) by id. Deputy: GET /api/v1/resource/Roster/{id}.

Parametersshift_idrequired

deputy_list_timesheets

List timesheets

Search timesheets (actual worked time) by time window, employee, area and approval state. Each record has StartTime/EndTime (unix; EndTime null while in progress), TotalTime (hours), Cost, TimeApproved, PayRuleApproved, IsInProgress, IsLeave, Roster (linked shift) and Exported. Deputy: POST /api/v1/resource/Timesheet/QUERY.

Parameterstomaxfromstartarea_idemployee_idin_progresspay_approvedtime_approved

deputy_get_timesheet

Get one timesheet

Fetch one timesheet's full details, including breaks and approval state. Deputy: GET /api/v1/supervise/timesheet/{id}/details.

Parameterstimesheet_idrequired

deputy_list_leave

List leave requests

Search leave requests by employee, location, status and time window. Status: 0 awaiting approval, 1 approved, 2 declined, 3 cancelled, 4 date approved without pay, 5 pay approved without date. Start/End are unix; LeaveRule is the leave type id. Deputy: POST /api/v1/resource/Leave/QUERY.

Parameterstomaxfromstartstatusemployee_idlocation_id

deputy_get_employee_unavailability

Get an employee's unavailability

List the times one employee has marked themselves (or been marked) unavailable to work — check before rostering them. Deputy: GET /api/v1/supervise/unavail/{employeeId}.

Parametersemployee_idrequired

deputy_query_resource

Query any Deputy resource

Run a Resource API search on any business object (leave types, pay rules, public holidays, memos, events, shift templates, pay lines, availability, sales data, …). `search` is Deputy's clause map, e.g. {"s1":{"field":"Employee","data":12,"type":"eq"}}; operators: eq ne gt lt ge le is 'is not' in 'not in' starts contains. Use deputy_describe_resource to see an object's fields and joins. Read-only. Deputy: POST /api/v1/resource/{Object}/QUERY.

Parametersmaxjoinsortstartobjectrequiredsearch

deputy_describe_resource

Describe a Deputy resource

Return a Resource API object's field list, field types and joinable associations — what deputy_query_resource can filter, sort and join on. Deputy: GET /api/v1/resource/{Object}/INFO.

Parametersobjectrequired

deputy_create_shift

Create a shift

Add a shift to the roster, assigned to an employee or left open. Created as a DRAFT unless publish is true (publishing can notify the employee). Deputy returns an empty 200 on success — use deputy_list_shifts to find the new shift's id. Deputy: POST /api/v1/supervise/roster.

Parametersopenarea_idrequiredcommentpublishend_timerequiredconfirmedstart_timerequiredemployee_idforce_overwritemealbreak_minutes

deputy_update_shift

Update a shift

Change an existing shift's times, area, employee, break or comment. Send the full intended shift (same fields as create) — Deputy's update is the add call with the shift id. Deputy: POST /api/v1/supervise/roster with intRosterId.

Parametersopenarea_idrequiredcommentpublishend_timerequiredshift_idrequiredconfirmedstart_timerequiredemployee_idforce_overwritemealbreak_minutes

deputy_publish_shifts

Publish shifts

Publish draft shifts so employees see them, choosing how they are notified: 1 SMS and email, 2 SMS, 3 email, 4 no notification, 5 confirmation required. Only the listed shift ids are published. Deputy: POST /api/v1/supervise/roster/publish.

Parametersshift_idsrequirednotify_moderequired

deputy_create_leave_request

Create a leave request

Add a leave request for an employee. By default it waits for manager approval (status 0); pass status 1 only when your system is the source of truth and the leave is already approved. Deputy tracks leave in hours, so give exact start and end times. Find leave type ids with deputy_query_resource on LeaveRules. Deputy: POST /api/v1/resource/Leave.

Parametersstatuscommentrequiredend_daterequiredend_timerequiredstart_daterequiredstart_timerequiredemployee_idrequiredlocation_idrequiredleave_rule_idrequiredapproval_comment

deputy_add_unavailability

Add unavailability for an employee

Record a time an employee cannot work (one-off, or recurring with an RFC 5545-style rule such as FREQ WEEKLY, INTERVAL 1, BYDAY MO). Auto-scheduling then skips them. Deputy: POST /api/v1/supervise/unavail.

Parameterscommentend_timerequiredrecurrencestart_timerequiredemployee_idrequired

deputy_create_memo

Post a memo

Post a memo to a location's news feed, optionally requiring staff to confirm they read it, or targeted to specific locations or users. Visible to staff immediately. Deputy: PUT /api/v1/supervise/memo.

Parameterscontentrequireduser_idslocation_idrequiredlocation_idsrequire_confirm

deputy_update_timesheet

Update a timesheet

Correct an existing timesheet's start/end time, area, meal break or supervisor comment. Times cannot be in the future. Deputy: POST /api/v1/supervise/timesheet/update.

Parametersarea_idrequiredcommentend_timerequiredstart_timerequiredtimesheet_idrequiredmealbreak_minutes

deputy_approve_timesheet

Approve a timesheet

Approve one timesheet's times as a supervisor. Approved timesheets flow toward payroll export, so check it first with deputy_get_timesheet. Deputy: POST /api/v1/supervise/timesheet/approve.

Parameterstimesheet_idrequired

Version history

24
  1. v1.39.1LatestNov 13, 2026
  2. v1.38.0Nov 12, 2026
  3. v1.37.3Nov 11, 2026
  4. v1.36.3Nov 7, 2026
  5. v1.35.3Nov 5, 2026
  6. v1.35.2Nov 5, 2026
  7. v1.35.1Nov 4, 2026
  8. v1.35.0Nov 3, 2026
  9. v1.34.1Nov 3, 2026
  10. v1.33.0Nov 1, 2026
  11. v1.31.0Oct 31, 2026
  12. v1.30.0Oct 31, 2026
  13. v1.29.2Oct 30, 2026
  14. v1.29.0Oct 30, 2026
  15. v1.24.0Oct 26, 2026
  16. v1.21.3Oct 25, 2026
  17. v1.21.0Oct 25, 2026
  18. v1.20.0Oct 24, 2026
  19. v1.17.0Oct 23, 2026
  20. v1.16.4Oct 22, 2026
  21. v1.16.3Oct 21, 2026
  22. v1.11.1Oct 9, 2026
  23. v1.10.0Oct 9, 2026
  24. v1.0.0Sep 30, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations