关于 buildutilities-mcp
buildutilities-mcp 是面向开发者的本地 MCP 服务,提供确定性实用工具,不需要网络连接、账户或 API 密钥。工具可执行哈希、正则匹配、Cron 时间计算和文本分析等精确操作。
主要功能
- 01生成 UUID、密码和令牌
- 02编解码 Base64 与 URL
- 03计算哈希和 HMAC 签名
- 04转换时间戳并计算 Cron 运行时间
- 05格式化 JSON 并读取 JWT 内容
- 06执行正则匹配及文本计数或比较
适用场景
- 01为开发工作生成随机凭据
- 02检查摘要或 Webhook 签名
- 03计算跨时区的 Cron 下次运行时间
- 04验证正则匹配或精确统计文本
MCP 相关
向 MCP 客户端提供开发实用工具。服务在本地运行,不进行网络请求。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
20收录的工具列表 · 更新于 1 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| count | integer | 否 | 要生成的 UUID 数量 |
| uppercase | boolean | 否 | 将其以大写形式返回 |
详细介绍
buildutilities-mcp
将确定性开发工具作为 MCP 工具提供。完全在你的机器上运行——不进行网络调用、不收集遥测数据、不需要 API 密钥或账号。
来自 buildutilities.com 的创建者。
为什么选择这些工具,而不是其他工具
大模型已经擅长大多数文本处理,而它用不上的工具只会白白消耗上下文窗口。因此,这个服务有意专注于模型确实不擅长的操作:
- 随机性。 模型无法生成真正的随机数。让它生成 UUID 或密码,得到的只会是从训练分布中抽取的内容——不同会话间可能重复,有时甚至会原封不动地取自公开代码示例。对于任何与安全相关的用途,这都是实实在在的缺陷。
- 精确摘要和字节。 模型无法计算 SHA-256,因此会编造一个看似合理的值。对于它实际上没有记住的内容,Base64 编码结果会悄无声息地出错。
- 运行正则表达式。 询问某个模式是否匹配时,模型会对模式进行推理,而不是实际执行,因此会报告不存在的匹配,也会漏掉实际存在的匹配。
- 对长文本进行精确计数,以及跨时区和夏令时进行日历运算——包括“这个 cron 表达式下次何时触发”这类问题,模型会信心十足地给出错误答案。
这里的所有功能都是纯函数:参数相同,结果相同,没有状态,也没有副作用。
安装
Claude Code
claude mcp add buildutilities -- npx -y buildutilities-mcp
Claude Desktop、Cursor 或任何使用 JSON 配置的客户端
{
"mcpServers": {
"buildutilities": {
"command": "npx",
"args": ["-y", "buildutilities-mcp"]
}
}
}
需要 Node 18 或更高版本。若要在没有 MCP 客户端的情况下查看工具列表:
npx -y buildutilities-mcp --help
工具
模型无法伪造的随机性
| 工具 | 功能 |
|---|---|
generate_uuid | 通过操作系统 CSPRNG 生成密码学安全的随机 UUID v4。 |
generate_password | 生成随机密码,并确保每个启用的字符集至少包含一个字符。 |
generate_token | 为 API 密钥、会话 ID、nonce 和盐生成随机令牌,支持十六进制、base64url 或字母数字格式。 |
精确字节和摘要
| 工具 | 功能 |
|---|---|
base64_encode | 编码为 Base64,支持标准或 URL 安全模式。 |
base64_decode | 解码 Base64;遇到无效输入时报告错误,而不是返回乱码。 |
url_encode | 进行百分号编码,支持组件或完整 URI 模式。 |
url_decode | 解码百分号编码,并报告格式错误的输入。 |
hash_text | 生成 md5、sha1、sha256、sha384 或 sha512 摘要,并对已损坏的算法发出警告。 |
hmac_sign | 使用密钥对消息进行 HMAC 签名,适用于 webhook 和请求签名。 |
hmac_verify | 以恒定时间检查消息是否与预期签名匹配。 |
日历运算
| 工具 | 功能 |
|---|---|
convert_timestamp | 将 Unix 纪元时间转换为任意 IANA 时区的可读时间;自动检测秒或毫秒。 |
cron_next_runs | 根据 5 字段 cron 表达式和指定时区计算后续运行时间。 |
文档、令牌与差异
| 工具 | 功能 |
|---|---|
format_json | 精确美化或压缩 JSON;解析出错时提供行号和列号。 |
decode_jwt | 读取 JWT 的标头、负载和过期时间。仅解码,绝不验证。 |
diff_text | 逐行比较文本,标记新增和删除的内容。 |
实际运行,而不是预测
| 工具 | 功能 |
|---|---|
test_regex | 实际执行模式,并返回每个匹配及其索引和捕获组。 |
escape_regex | 转义字符串,使其可用作正则表达式字面量。 |
analyze_text | 精确统计字符数、词数、行数、句子数、段落数和字节数。 |
slugify | 生成 URL 安全的 slug,并转写重音字符。 |
check_color_contrast | 精确计算 WCAG 2.2 对比度,并指出通过了哪些 AA/AAA 阈值。 |
不支持的功能
- 不会验证 JWT 签名。
decode_jwt会读取令牌,但无法判断令牌是否真实有效。切勿将其输出用作身份验证依据。 - 虽然包含 md5 和 sha1,但它们并不安全。 它们用于校验和及旧系统互操作,工具也会在输出中说明这一点。
- Cron 仅支持标准的 5 字段格式。 遇到非标准语法(
L、W、#、?)时会直接拒绝,而不是猜测,因为看似合理但错误的计划比报错更糟。夏令时开始时钟表向前拨导致的时间缺口内的时间仍会列出;真实的 cron 实现对此情况意见不一。
无网络声明经过测试
test/no-network.test.ts 中的三个测试会强制执行这一要求,因此不会在不知不觉中失效:
- 没有源文件导入
node:net、http、https、dns、tls或dgram,也没有调用fetch。 - 运行目录中的所有工具时,不会加载任何与网络相关的原生绑定。
- 软件包恰好声明了两个运行时依赖项(MCP SDK 和 zod);添加第三个依赖项会导致测试套件失败,并强制重新检查。
npm test # 48 tests
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。