deputy-workforce-mcp について
deputy-workforce-mcpは、Deputyの管理者向けの読み取り専用MCPサーバーです。人員データを5種類の運用ワークフローにまとめ、結果に根拠レコードと判定ルールを付けます。
主な機能
- 01シフトの人員不足を検出
- 02時間外労働リスクを確認
- 03タイムシートの例外を列挙
- 04勤務可能時間との競合を検出
- 05拠点・日別の人員配置を集計
活用シーン
- 01シフトが最低人数を満たすか確認
- 02実績と予定の合計時間が基準を超える従業員を特定
- 03タイムシートとシフトの時刻を照合
- 04休暇や勤務不可時間と重なるシフトを確認
MCP 対応
MCPクライアントに、人員不足、時間外労働リスク、タイムシートの例外、勤務可能時間との競合、人員配置集計を行う5つの読み取り専用ツールを提供します。stdioと認証付きストリーミングHTTPに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @hyperdrift-io/deputy-workforce-mcpDEPUTY_MODEUse fixture for fictional evaluation data or live for a Deputy installation.DEPUTY_BASE_URLCustomer-specific Deputy installation URL; required in live mode.DEPUTY_ACCESS_TOKENシークレットCustomer-owned Deputy OAuth access token; required in live mode.DEPUTY_AUTH_SCHEMEシークレットAuthorization scheme for the issued Deputy token.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
5掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| end_date | string | はい | 最後の現地カレンダー日付。形式は YYYY-MM-DD で、この日付を含みます。 |
| timezone | string | はい | 運用日をグループ化するための IANA タイムゾーン。 |
| start_date | string | はい | 最初の現地カレンダー日付。形式は YYYY-MM-DD。 |
| location_ids | array | いいえ | |
| minimum_people | integer | いいえ |
詳細
Deputy Workforce Operations MCP
Deputy の従業員記録を、根拠に基づく 5 つの業務ワークフローに変換する、読み取り専用の Model Context Protocol サーバーです。
Deputy の管理者が質問できること
- 「7 月 20 日から 26 日までの人員不足はどこですか?最低 2 人とした場合で教えてください」
- 「完了済みの業務量とシフト予定の業務量を合算したとき、40 時間の計画上のしきい値を超えるのはどれですか?」
- 「許容誤差を 15 分として、タイムシートの例外を表示してください」
- 「記録された勤務不可の時間帯、または承認済みの休暇と重複するシフト予定はどれですか?」
- 「今週の勤務地別・日別の人員配置を要約してください」
これらの質問には Deputy のエンドポイント一覧をそのまま公開するのではなく、ツールが直接回答します。
結果の例
以下の例では架空の記録を使用し、管理者が対応できるフィールドに構造化レスポンスを絞っています。
人員不足
{
"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": [] }
すべての検出結果には、その対象期間、ソースレコードの識別子、および検出の根拠となったルールまたはしきい値が記載されます。データが空の場合は、誤って問題なしと判断するのではなく、信頼度の限界を示します。
安全性とデータの取り扱い
- すべてのツールは読み取り専用で、冪等であり、破壊的な処理を行いません。
- サーバーがシフト、タイムシート、休暇、給与、従業員データを作成または変更することはありません。
- 業務量のしきい値は業務計画上の指標であり、給与、雇用、法律に関する助言ではありません。
- テレメトリーには、ツールの引数、従業員 ID と勤務地 ID、日付、結果の内容、トークンを含めません。
- デプロイ所有者が PostHog プロジェクトトークンを提供しない限り、標準の MCP 分析は無効です。プライバシーの許可リストは PRIVACY.md に記載されています。
- V1 はデプロイ単位のシングルテナントです。1 つのインスタンスにつき、Deputy のインストール環境と MCP ベアラートークンをそれぞれ 1 つ使用します。
- 認証、制限付き HTTP トランスポート、レート制限、構造化結果、stdio のライフサイクルには、MCP Maker の共有
@hyperdrift-io/mcp-service-kitを使用します。Deputy 固有のプロバイダーとワークフローのロジックは、Deputy 側で保持します。
完全な仕様については、SECURITY.md と PRIVACY.md をご覧ください。
ローカルへのインストール
Node.js 22 以降が必要です。npm は Node.js に同梱されています。最も手軽で安全に動作を確認するには、公開パッケージと架空のフィクスチャデータを使用します。
DEPUTY_MODE=fixture npx -y @hyperdrift-io/deputy-workforce-mcp@latest
ツール一覧の表示とツール呼び出しを確認するには、フィクスチャのデモをご覧ください。このパッケージは公式 MCP Registry と、Smithery の単一ファイル MCP Bundle でも配布されています。メンテナーは次の手順でローカルバンドルを再現できます。
npm run mcpb:pack
ソースから作業する場合:
git clone https://github.com/hyperdrift-io/deputy-workforce-mcp.git
cd deputy-workforce-mcp
npm install
npm run build
DEPUTY_MODE=fixture node dist/stdio.js
フィクスチャモードには、Worker 01 のような架空の記録が含まれており、評価に安全に使用できます。Deputy のインストール環境に接続するには、.env.example を .env.local にコピーし、DEPUTY_MODE=live を設定して、顧客が所有するベース URL と OAuth アクセストークンを指定します。ライブ環境のリソースの形状については、docs/DEPUTY_API.md に記載されている最初のサンドボックス検証が必要です。
クライアント設定の例:
{
"mcpServers": {
"deputy-workforce": {
"command": "node",
"args": ["/absolute/path/to/deputy-workforce-mcp/dist/stdio.js"],
"env": { "DEPUTY_MODE": "fixture" }
}
}
}
リモートデプロイ
同じ 5 つのツールを、認証付きのストリーミング可能な HTTP 経由で実行できます。リモートモードでは 32 バイト以上の MCP ベアラートークンが必要です。リクエストの解析前に認証を行い、リクエスト本文を 1 MiB に制限し、メモリー内の制限付きレート保護を使用します。
DEPUTY_MODE=fixture \
MCP_BEARER_TOKEN="replace-with-at-least-32-random-bytes" \
PORT=3013 \
npm start
- ヘルスチェック:
GET /health - MCP:認証付き
POST /mcp
リモートインスタンスを運用する前に、docs/DEPLOYMENT.md をご覧ください。
ツールリファレンス
サーバーには、次の 5 つのツールだけが登録されます。
find_coverage_gapsflag_overtime_risklist_timesheet_exceptionsfind_availability_conflictssummarise_staffing
入力、ルール、出力上限については、docs/TOOLS.md に記載されています。
ステータス
フィクスチャモード、stdio、認証付きストリーミング可能 HTTP は稼働しています。Deputy のライブモードは、顧客が所有するサンドボックストークンとフィールド形状の検証が完了するまで、明示的に保留されています。公開 API は引き続きプロトタイプとして検討中であり、実際のワークフローからのフィードバックに応じて変更される可能性があります。
MCP Maker の提供第 001 弾として構築
Deputy Workforce Operations MCP は、MCP Maker が初めて公開した主要な実装です。Hyperdrift は、確立された SaaS API を、安全で本番環境に対応した AI 統合へと変換します。
オープンソースのコアは、それ単体でも引き続き役立ちます。MCP Maker は、自社の環境に合わせた本番環境向けの統合を必要とする組織向けに、マネージドデプロイ、セキュリティ強化、カスタムワークフロー、運用サポートを提供します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。