mcpField
B
Business Days & SLA

Business Days & SLA

远程服务
github.com/Vessark生产力013 周前更新
代码仓库

关于 Business Days & SLA

Business Days & SLA 是面向支持、计费和运营团队的离线日期计算 MCP 服务,处理节假日相关的工作日和 SLA 时限,也可解析 cron 与 RFC 5545 重复规则;不会调度或运行任务。

主要功能

  1. 01查询工作日和节假日
  2. 02计算工作日偏移与区间
  3. 03计算工作时段内的 SLA 截止时间
  4. 04验证并解释 cron 表达式
  5. 05解析重复规则并列出发生时间

适用场景

  1. 01查找节假日后的下一个工作日
  2. 02按营业时段计算 SLA 截止时间
  3. 03检查 cron 表达式的下次触发时间
  4. 04展开 RFC 5545 规则以查看后续日期

MCP 相关

它通过 MCP 工具提供日期、SLA、cron 和重复规则计算。服务使用内置公共节假日规则离线运行;cron 和重复规则解析不会调度或执行任务。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://vessark.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

business-days-mcp

MCP 服务质量

一个用于处理日期计算的 MCP 服务,满足支持、计费和运营团队的实际需求:某天是否为工作日、这个 SLA 何时到期、银行假日后的下一个工作日是哪天——此外,还支持 cron 和重复规则解析,以处理同类工作的重复性部分。

它可离线运行。不会发起网络请求、存储数据或调用模型——所有答案都根据内置的公共假日规则计算得出。

功能

工作日和 SLA——支持约 150 个国家及其下属地区的假日规则(英格兰和苏格兰有所不同;美国各州也有所不同),由 holidays 软件包提供。

工具回答的问题
is_business_day这天是工作日吗?如果不是,是周末还是某个命名假日?
next_business_day / previous_business_day某个日期前后的下一个/上一个工作日
add_business_days从某个日期起前进或后退 ±N 个工作日
business_days_between两个日期之间有多少个工作日(左闭右开)
first_business_day_of_month / last_business_day_of_month月初和月末的边界日期
sla_due_time只计算开放时段时,N 个工作小时的 SLA 何时到期?

Cron 和重复规则——仅解析。 不会安排、存储或执行任何任务;没有计时器,也没有任务存储。如果你想要某项任务按计划运行,这就不是你要找的工具。

工具回答的问题
validate_cron_expression / explain_cron_expression这个 cron 表达式有效吗?用英语来说是什么意思?
next_cron_occurrences接下来会在什么时候触发?
validate_recurrence_rule / explain_recurrence_rule对 RFC 5545 RRULE 进行同样的验证和解释
next_recurrence_occurrences展开 RRULE,获取接下来的发生时间

安装和运行

托管端点无需安装——请参阅客户端配置。如果要自行运行,uvx 会获取并运行它:

uvx --from git+https://github.com/Vessark/business-days-mcp business-days-mcp

从克隆的仓库运行:

git clone https://github.com/Vessark/business-days-mcp
cd business-days-mcp
uv sync && uv run business-days-mcp
uv run pytest                         # the tests are the documentation

客户端配置

托管版本——无需安装

最快的接入方式。工具相同,无需安装,也无需凭据:

{
  "mcpServers": {
    "vessark": {
      "url": "https://vessark.com/mcp"
    }
  }
}
自行运行

如果你不想依赖他人的服务可用性,可以在本地运行——代码完全相同,而且绝不会访问网络:

{
  "mcpServers": {
    "business-days": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/Vessark/business-days-mcp",
        "business-days-mcp"
      ]
    }
  }
}

示例

// is_business_day — 2026-12-28, UK
{"date": "2026-12-28", "country": "GB"}
→ {"is_business_day": false, "reason": "holiday: Boxing Day (substitute day)"}

// sla_due_time — 8 business hours from Monday 16:00
{"start": "2026-07-27T16:00", "business_hours": 8}
→ {"due": "2026-07-28T16:00:00", "started_within_business_hours": true}

// explain_cron_expression
{"expression": "30 9 * * MON-FRI"}
→ {"explanation": "At 09:30, on Monday through Friday."}

设计说明

每个工具都是其参数的纯函数,因此测试套件大多由表格构成。无效输入会作为常规的类型化结果返回,绝不会抛出异常——如果模型传入了错误参数,会收到易读的原因说明并能自行修正。所有可由调用方影响的循环都有执行上限,因此任何请求都无法触发高成本计算。错误消息绝不会复述你发送的内容,因此该服务无法被用来向他人的 Agent 转发文本。

明确说明而不加掩饰的已知限制:默认工作周为周一至周五,因此按周日到周四为工作日的国家在这一假设下会得到错误结果;假日数据仅覆盖底层数据集已知的年份,超出该范围的日期会被拒绝,而不会被默默当作普通工作日处理。

相关项目

fbdo/business-day-mcp 已支持工作日和假日计算,且早于本服务。如果这就是你的全部需求,请使用它——它还提供时区感知的“今天”及假日列表功能,而本服务不提供这些功能。

本服务的设计重点不同:计算仅包含工作时间的 SLA 计时,以及处理同类工作重复性部分的 cron / RRULE 解析。工作日工具确有重叠,名称也都是惯用叫法;两个服务均采用 MIT 许可证,且都基于出色的 holidays 软件包构建。

发布

在 pyproject.toml 和 server.json 中更新版本号,然后推送匹配的标签:

git tag v0.2.0 && git push origin v0.2.0

这会运行测试套件,检查标签与两个版本字段是否一致,发布到 PyPI,并重新发布到 MCP registry。两者都使用 GitHub OIDC——PyPI 通过 Trusted Publishing 实现——因此此仓库、密钥存储或任何机器上都没有 API 令牌。

关于

由 Vessark 构建并维护。本仓库中的工具属于免费层,并以 MIT 许可证开源。Vessark 的工作区工具——也就是在已连接的工作区中运行的工具——是商业产品,不开源。

欢迎提交问题和拉取请求。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。