Deputy MCP

io.github.augbastosPublished by GitHub account augbastosv0.4.2Updated Nov 5, 2026

Deputy workforce data for AI agents: rosters, timesheets and shifts; read-only by default

Overview

AI-generated overview

Local MCP server that lets an AI assistant read your Deputy shifts, rosters and timesheets, with optional write actions like clocking in.

What you can do
  • Read your own Deputy data: identity, personal roster, next shift, timesheets, colleagues, calendar link and areas
  • Look up team information with manager access: team roster, who is working now, employee details, shift search
  • Act on shifts only when writes are enabled: clock in, clock out, set unavailability, claim an open shift
  • Sign in through a browser-based OAuth login tool
When to use it
Useful if your workplace schedules staff in Deputy and you want to ask an assistant things like when your next shift is, how many hours you worked last week, or who is on shift now, and optionally clock in or out from chat.
Requirements
Runs locally via uvx with uv and Python 3.11 or newer. Exactly one access mode: OAuth (DEPUTY_OAUTH_CLIENT_ID and DEPUTY_OAUTH_CLIENT_SECRET from a personal app, plus a browser login), an admin API token (DEPUTY_API_TOKEN with DEPUTY_BASE_URL), or a personal iCal feed (DEPUTY_CALENDAR_URL). Network access to Deputy; OAuth tokens stored in the OS keychain by default.
Before you install
Write tools exist only when DEPUTY_ALLOW_WRITES is set to true; claiming an open shift skips Deputy's approval step, so confirm before it happens. The API token, OAuth client secret and calendar URL are secrets, and the calendar link embeds a private token. DEPUTY_TOKEN_STORE can hold OAuth tokens in plaintext if no OS keychain is available. Manager tools, actions and token refresh are not yet verified on a live install.

Installation

In SourceWeft

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

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Deputy MCP

[CI] [Security] [License: MIT]

Ask Claude "when do I work next?" and get the answer from your Deputy roster.

Deputy MCP is a local MCP server that lets AI agents read your shifts, timesheets and team schedule, and, only if you turn it on, act on them. It runs on your machine, connects to Deputy, and works with a regular employee account.

What you can ask

  • "When do I work next?"
  • "How many hours did I work last week?"
  • "Who's on shift right now?" (manager access)
  • "Clock me in." (writes enabled)
  • "Take the open shift on Saturday." (writes enabled; asks you to confirm first)

Install

Needs uv and Python 3.11 or newer. Choose your access mode first:

ModeWho it's forStart here
OAuthAny employeeEmployee sign-in
API tokenDeputy adminsAdmin setup
Calendar feedNo API accessSet DEPUTY_CALENDAR_URL using the client setup; your own roster only, read-only

Employee OAuth

Create a personal app at https://once.deputy.com/my/oauth_clients with the redirect URI http://localhost:8823/callback. Create it there, not under your install's Settings → Developer: an app made inside an install fails sign-in with invalid_client. In Bash, replace the placeholders, sign in, then register the server with Claude Code:

bash
export DEPUTY_OAUTH_CLIENT_ID='your-client-id'export DEPUTY_OAUTH_CLIENT_SECRET='your-client-secret'uvx deputy-mcp loginclaude mcp add deputy \  -e DEPUTY_OAUTH_CLIENT_ID="$DEPUTY_OAUTH_CLIENT_ID" \  -e DEPUTY_OAUTH_CLIENT_SECRET="$DEPUTY_OAUTH_CLIENT_SECRET" \  -- uvx deputy-mcp

Login opens your browser and stores OAuth tokens in your OS keychain by default. Run login and Claude Code as the same OS user. No terminal (for example, the Claude Desktop bundle)? Set the two OAuth values and ask the assistant to sign you in: the deputy_login tool opens the same browser sign-in.

Admin API token

With your Deputy API token and install URL, register directly; no OAuth login is needed:

bash
claude mcp add deputy \  -e DEPUTY_API_TOKEN=your-deputy-token \  -e DEPUTY_BASE_URL=https://your-company.eu.deputy.com \  -- uvx deputy-mcp

Codex CLI

For your own roster, replace ... with your private calendar feed URL:

bash
codex mcp add deputy --env DEPUTY_CALENDAR_URL=... -- uvx deputy-mcp

The first uvx run downloads dependencies; if Codex reports the tools as unavailable, set startup_timeout_sec = 60 under [mcp_servers.deputy] in ~/.codex/config.toml.

Claude Desktop users: download the .mcpb bundle from the Releases page and drag it onto Settings → Extensions (double-clicking may not open it on Windows). Fill in one access mode under Configure, then ask Claude to sign you in. Other MCP clients and Docker: see other ways to install. All settings are listed in .env.example.

Tools

  • Your data (any account): deputy_whoami, deputy_get_my_roster, deputy_next_shift, deputy_get_my_timesheets, deputy_get_my_colleagues, deputy_get_my_calendar_url, deputy_get_areas
  • Team (manager access): deputy_get_team_roster, deputy_who_is_working, deputy_get_employee_info, deputy_search_shifts
  • Actions (only with DEPUTY_ALLOW_WRITES=true): deputy_clock_in, deputy_clock_out, deputy_set_unavailability, deputy_claim_open_shift

Safe by default

  • Read-only unless you set DEPUTY_ALLOW_WRITES=true; until then the action tools don't exist for the agent.
  • You confirm before a shift is claimed, since that skips Deputy's approval step.
  • No guessing: if a name matches several people, you get the list, not the first one.
  • Credential protection: by default, tokens go only to https://*.deputy.com and OAuth tokens live in your OS keychain; errors are scrubbed of secrets before an agent sees them.

Status

The everyday read tools and OAuth sign-in were tested against a real Deputy install with an employee account. Manager tools, actions and the OAuth token refresh are covered by automated tests but not yet verified on a live install. Not affiliated with Deputy.

More

License

MIT

Source: README.md at commit 4b9c7d4

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the server did not start.

Version history

2
  1. v0.4.2LatestOct 21, 2026
  2. v0.4.0Oct 21, 2026

Score

50% 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 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts