Token导航 LogoToken导航TokenDH.com
check 36 logo
安全风控stdio官方级别未说明来源级核验

check 36

MCP Server

用于评估日本劳动法第36条规定的月度加班上限风险并提供恢复策略建议的合规工具。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude安全Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

YasuYasuonFire

提供方

YasuYasuonFire

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e ".[dev]"

详细介绍

36协议检查用MCP服务器

本仓库是一个MCP服务器,用于评估日本36协定(《劳动基准法》第36条)相关的每月上限达成风险,并提出补救措施(如休年假、设定每日工作时长上限)。

概要

输入当前月份的加班和休息日工作累计时间后,将输出以下两个上限的预计达成情况及补偿建议:

  • 每月上限45小时(仅加班)
  • 以80小时为基准(加班+假日工作,简易单月评价)

🆕 新功能(v2.0)

工作日(平日)自动计算功能

现已实现自动计算除去周六日的工作日天数!

  • workingDaysElapsedworkingDaysRemaining 无需输入
  • 自动仅计算工作日
  • 详情 工作日计算文档 请参照

使用示例

输入示例

简易使用方法(推荐)- 自动计算模式

{
  "totalWorkHoursToDate": 150.5,
  "holidayWorkHoursToDate": 8.0,
  "currentDate": "2025-04-18"
}

工作日数将自动计算(仅计算除周六日外的平日)。

详细使用方法 - 手动输入模式

{
  "totalWorkHoursToDate": 150.5,
  "holidayWorkHoursToDate": 8.0,
  "workingDaysElapsed": 15,
  "workingDaysRemaining": 8,
  "currentDate": "2025-04-18",
  "autoCalculateWeekdays": false
}

输入项说明

  • totalWorkHoursToDate: 截至前天(昨天)的总工作时间 累计(小时)【必填】

- 直接输入考勤系统的“总工作时间” - 包括加班和节假日在内的所有工作时间 - ⚠️ 不包括今天的(仅确定值)

  • holidayWorkHoursToDate: 截至前日的节假日工作 累计(时间)【必填】
  • workingDaysElapsed在前天之前工作天数【可选】

- 省略时自动计算(从月初到昨天的平日数) - 如需手动输入 autoCalculateWeekdays: false 进行指定

  • workingDaysRemaining包括今天月末剩余工作日数【可选】

- 省略时自动计算(从今天到月底的平日数) - 如需手动输入 autoCalculateWeekdays: false 进行指定

  • currentDate评估基准日(YYYY-MM-DD格式,省略时为今日)【可选】

- 用于计算月历天数

  • autoCalculateWeekdays工作日数自动计算(默认:true)【可选】

- true自动计算,不含周六日 - false使用手动输入值

计算机制

  • 自动计算每月法定工作时间:(月の暦日数 ÷ 7) × 40時間

- 例:30天 → 171.4小时

  • 自动计算加班时间:総労働時間 - 法定労働時間
  • 月末预测:昨日までの累計 + (残り日数 × 1日平均労働時間)

- 日平均 = 截至昨日的累计 ÷ 已过天数

输出示例

{
  "evaluation45": {
    "limit": 45,
    "totalWorkHoursToDate": 150.5,
    "projectedTotalWorkHours": 230.7,
    "projectedOvertimeHours": 53.3,
    "remainingToLimit": -8.3,
    "riskLevel": "LIMIT",
    "recoveryOptions": [
      {
        "paidLeaveDays": 0,
        "maxDailyWorkHours": 9.56,
        "description": "年休なし:残り8日間、1日あたり9.56時間以内"
      },
      {
        "paidLeaveDays": 1,
        "maxDailyWorkHours": 10.34,
        "description": "年休1日取得:残り7日間、1日あたり10.34時間以内"
      },
      {
        "paidLeaveDays": 2,
        "maxDailyWorkHours": 11.42,
        "description": "年休2日取得:残り6日間、1日あたり11.42時間以内"
      }
    ]
  },
  "evaluation80": {
    "limit": 80,
    "totalWorkHoursToDate": 150.5,
    "projectedTotalWorkHours": 230.7,
    "projectedOvertimeHours": 61.3,
    "remainingToLimit": 18.7,
    "riskLevel": "OK",
    "recoveryOptions": [
      {
        "paidLeaveDays": 0,
        "maxDailyWorkHours": 12.94,
        "description": "年休なし:残り8日間、1日あたり12.94時間以内"
      }
    ]
  },
  "references": {
    "appliedRules": [
      "月45時間上限(時間外のみ)",
      "80時間基準(休日労働含む、簡易単月評価)",
      "月の法定労働時間: 171.4時間(30日の月)"
    ]
  }
}

输出项说明

各项评估(evaluation45evaluation80)包括以下内容:

  • limit上限值(45或80)
  • totalWorkHoursToDate截至昨日的总工作时间(输入值原样)
  • projectedTotalWorkHours月末预测的总工时
  • projectedOvertimeHours月末预测的加班(或加班+节假日)
  • remainingToLimit距离上限剩余时间(为负数则预计已超)
  • riskLevel风险等级

- OK绰绰有余 - WARN达到上限的80%以上 - LIMIT存在超过上限的风险

  • recoveryOptions多个恢复选项(排列)

- paidLeaveDays年假取得天数 - maxDailyWorkHours剩余期限内每日最高总工作时间 - description通俗易懂的说明文

重要由于对应弹性工作制,不计算“当前非工作时间”。仅基于预测进行评估。

执行图像

Claude Desktop的对话示例:

ユーザー: 昨日までの総労働時間が150.5時間、休日労働が8時間です。
        15日働いて、今日含めて残り8日です。上限チェックしてください。

Claude: check36.assess_current_month を実行します...

【結果】
■ 月45時間上限(時間外のみ)
- 昨日までの総労働時間: 150.5時間
- 月末予測の総労働時間: 230.7時間
- 月末予測の時間外労働: 53.3時間
- 45hまでの残り: -8.3時間(超過見込み)⚠️ LIMIT

超えないための選択肢:
  ① 年休なし:残り8日間、1日あたり9.56時間以内
  ② 年休1日取得:残り7日間、1日あたり10.34時間以内
  ③ 年休2日取得:残り6日間、1日あたり11.42時間以内

■ 80時間基準(休日労働含む)
- 昨日までの総労働時間: 150.5時間
- 月末予測の総労働時間: 230.7時間
- 月末予測の時間外+休日: 61.3時間
- 80hまでの残り: 18.7時間(余裕あり)✅ OK

超えないための選択肢:
  ① 年休なし:残り8日間、1日あたり12.94時間以内

【アドバイス】
このペースだと月45時間(時間外)を超過する見込みです。
年休を1〜2日取得するか、残り期間の労働時間を1日9.56時間以内に抑えることをお勧めします。
(フレックス制度を活用して、1日の労働時間を柔軟に調整できます)

设置

必要条件

  • Python 3.10及以上版本
  • pip 或 uv

安装

# リポジトリをクローン
git clone https://github.com/YasuYasuonFire/check_36.git
cd check_36

# 依存関係をインストール(開発用含む)
pip install -e ".[dev]"

# または venv を使用
python -m venv .venv
source .venv/bin/activate  # Windowsの場合: .venv\Scripts\activate
pip install -e ".[dev]"

执行测试

# 全テスト実行
pytest

# 詳細表示
pytest -v

# カバレッジ付き
pytest --cov=src/check36

启动MCP服务器

# サーバー起動
python -m src.check36.server

# または
python src/check36/server.py

Claude Desktop的使用方法

1. 克隆仓库

首先,克隆此存储库并确认路径:

# リポジトリをクローン
git clone https://github.com/YasuYasuonFire/check_36.git
cd check_36

# 現在のパスを確認(このパスを後で使います)
pwd
# 例: /Users/username/projects/check_36

2. 添加到MCP配置文件

~/Library/Application Support/Claude/claude_desktop_config.json 进行编辑。

⚠️ 重要注意事项:

  • cwd 在……方面上述确认的实际路径请指定
  • command 请根据您所使用的Python环境进行相应更改

模式1:使用系统自带的Python时

{
  "mcpServers": {
    "check36": {
      "command": "python3",
      "args": ["-m", "check36.server"],
      "cwd": "/Users/username/projects/check_36"
    }
  }
}

模式2:使用pyenv的情况

{
  "mcpServers": {
    "check36": {
      "command": "/Users/username/.pyenv/shims/python",
      "args": ["-m", "check36.server"],
      "cwd": "/Users/username/projects/check_36"
    }
  }
}

确认pyenv路径的方法:

which python
# 例: /Users/username/.pyenv/shims/python

模式3:使用venv(虚拟环境)的情况

{
  "mcpServers": {
    "check36": {
      "command": "/Users/username/projects/check_36/.venv/bin/python",
      "args": ["-m", "check36.server"],
      "cwd": "/Users/username/projects/check_36"
    }
  }
}

创建venv时:

cd /Users/username/projects/check_36
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

模式4:使用uv(推荐)

{
  "mcpServers": {
    "check36": {
      "command": "uv",
      "args": ["run", "--directory", "/Users/username/projects/check_36", "python", "-m", "check36.server"],
      "cwd": "/Users/username/projects/check_36"
    }
  }
}

使用紫外线时的准备:

# uvのインストール(未インストールの場合)
curl -LsSf https://astral.sh/uv/install.sh | sh

# プロジェクトディレクトリで依存関係をインストール
cd /Users/username/projects/check_36
uv sync

3. 设置确认要点

务必确认:

  1. cwd 该路径是否与实际的克隆目标一致
  2. command 确认Python路径是否正确(which python (以确认)
  3. JSON格式是否正确(如逗号、括号是否遗漏等)
  4. 如果已设置其他MCP服务器,请用逗号分隔

设置多个MCP服务器的示例:

{
  "mcpServers": {
    "other-server": {
      "command": "...",
      "args": ["..."]
    },
    "check36": {
      "command": "python3",
      "args": ["-m", "check36.server"],
      "cwd": "/Users/username/projects/check_36"
    }
  }
}

4. 重启Claude Desktop

请完全退出Claude Desktop应用程序并重新启动。

5. 使用示例

像这样对克劳德说话:

今月の総労働時間が150.5時間、休日労働が8時間です。
15日働いて、今日含めて残り8日です。上限チェックしてください。

Claude自动地 assess_current_month_tool 调用并显示结果。

文件

  • docs/requirements/README.md: 文档目录
  • docs/requirements/01_legal_baseline.md:法律上限·术语定义
  • docs/requirements/02_functional_requirements.md: 功能需求
  • docs/requirements/03_nonfunctional_requirements.md: 非功能性需求
  • docs/requirements/04_mcp_interface_spec.md: MCP接口规范
  • docs/requirements/05_data_model.md:数据模型与输入模板
  • docs/requirements/06_risks_constraints.md: 风险与限制
  • schemas/: 输入输出模式
  • templates/: 输入模板示例
  • IMPLEMENTATION_PLAN.md: 实施计划

开发

项目构成

check_36/
├── src/check36/
│   ├── __init__.py
│   ├── server.py       # MCPサーバーエントリポイント
│   ├── models.py       # Pydanticモデル
│   ├── calculator.py   # コア計算ロジック
│   └── utils.py        # ユーティリティ関数
├── tests/
│   └── test_calculator.py
├── pyproject.toml
└── README.md

代码质量检查

# 型チェック
mypy src/check36

# リンター
ruff check src/check36

# フォーマット
ruff format src/check36

目录标签

目录标签

PythonClaude安全劳动法合规本地部署加班管理风险评估人力资源工具自动化计算

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP