Read-only Deputy coverage, workload, timesheet, availability, and staffing signals.
A read-only Model Context Protocol server that turns Deputy workforce records into five grounded, operational workflows for AI assistants.
The tools answer those questions directly instead of exposing Deputy's endpoint catalogue.
The examples below use fictional records and compact the structured response to the fields a manager can act on.
{
"period": { "start": "2026-07-20", "end": "2026-07-26", "timezone": "Europe/London" },
"findings": [{ "kind": "coverage_gap", "sources": [{ "resource": "Roster", "id": 1001 }], "rule": "active roster has fewer than 2 people" }],
"limits": []
}
{ "period": { "start": "2026-07-20", "end": "2026-07-26", "timezone": "Europe/London" }, "findings": [{ "worker_id": 7, "planned_hours": 43.5, "threshold_hours": 40, "sources": [{ "resource": "Timesheet", "id": 2007 }, { "resource": "Roster", "id": 1007 }], "rule": "completed plus remaining rostered hours exceeds threshold" }], "limits": [] }
{ "period": { "start": "2026-07-20", "end": "2026-07-26", "timezone": "Europe/London" }, "findings": [{ "kind": "start_time_variance", "roster_id": 1002, "minutes": 22, "tolerance_minutes": 15, "sources": [{ "resource": "Roster", "id": 1002 }, { "resource": "Timesheet", "id": 2002 }], "rule": "timesheet start differs from roster beyond tolerance" }], "limits": [] }
{ "period": { "start": "2026-07-20", "end": "2026-07-26", "timezone": "Europe/London" }, "findings": [{ "kind": "recorded_unavailability_conflict", "sources": [{ "resource": "Roster", "id": 1002 }, { "resource": "EmployeeAvailability", "id": 4001 }], "rule": "roster interval overlaps recorded unavailability" }], "limits": [] }
{ "period": { "start": "2026-07-20", "end": "2026-07-26", "timezone": "Europe/London" }, "findings": [{ "location": "North", "day": "2026-07-21", "rostered_hours": 16, "completed_hours": 12, "assigned": 3, "unassigned": 1, "sources": [{ "resource": "Roster", "id": 1008 }, { "resource": "Timesheet", "id": 2008 }], "rule": "group roster and timesheet hours by location and local day" }], "limits": [] }
Every finding names its period, source record identifiers, and the rule or threshold that produced it. Empty data gives a confidence limit rather than a false all-clear.
@hyperdrift-io/mcp-service-kit; Deputy keeps its provider and workflow logic.See SECURITY.md and PRIVACY.md for the complete contracts.
Node.js 22 and pnpm are required. The quickest safe inspection uses the public package and fictional fixture data:
DEPUTY_MODE=fixture pnpm dlx @hyperdrift-io/deputy-workforce-mcp@latest
For a visible tool-list and tool-call proof, see the fixture demonstration. The package is also distributed through the official MCP Registry and as a one-file MCP Bundle on Smithery. Maintainers can reproduce the local bundle with:
pnpm mcpb:pack
To work from source:
git clone https://github.com/hyperdrift-io/deputy-workforce-mcp.git
cd deputy-workforce-mcp
pnpm install
pnpm build
DEPUTY_MODE=fixture node dist/stdio.js
Fixture mode contains fictional Worker 01-style records and is safe for evaluation. To connect a
Deputy installation, copy .env.example to .env.local, choose DEPUTY_MODE=live, and provide a
customer-owned base URL and OAuth access token. Live resource shapes still require the first
sandbox verification recorded in docs/DEPUTY_API.md.
Example client configuration:
{
"mcpServers": {
"deputy-workforce": {
"command": "node",
"args": ["/absolute/path/to/deputy-workforce-mcp/dist/stdio.js"],
"env": { "DEPUTY_MODE": "fixture" }
}
}
}
The same five tools can run over authenticated streamable HTTP. Remote mode requires an MCP bearer token of at least 32 bytes, authenticates before parsing requests, limits bodies to 1 MiB, and uses bounded in-memory rate protection.
DEPUTY_MODE=fixture \
MCP_BEARER_TOKEN="replace-with-at-least-32-random-bytes" \
PORT=3013 \
pnpm start
GET /healthPOST /mcpSee docs/DEPLOYMENT.md before operating a remote instance.
The server registers exactly five tools:
find_coverage_gapsflag_overtime_risklist_timesheet_exceptionsfind_availability_conflictssummarise_staffingInputs, rules, and output limits are documented in docs/TOOLS.md.
Fixture mode, stdio, and authenticated streamable HTTP are operational. Live Deputy mode remains explicitly pending a customer-owned sandbox token and field-shape verification. The public API is still in prototype discovery and may evolve from real workflow feedback.
Deputy Workforce Operations MCP is the flagship public implementation from MCP Maker: Hyperdrift turns established SaaS APIs into secure, production-ready AI integrations.
The open-source core remains useful on its own. MCP Maker offers managed deployment, security hardening, custom workflows, and operational support for organisations that want a production integration tailored to their environment.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @hyperdrift-io/deputy-workforce-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-hyperdrift-io-deputy-workforce-mcp": {
"command": "npx",
"args": [
"-y",
"@hyperdrift-io/deputy-workforce-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup reference@hyperdrift-io/deputy-workforce-mcpnpmio.github.hyperdrift-io/deputy-workforce-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.