mcpField
J
JWT Tools

JWT Tools

本地服务
basitalisandhu.github.io安全1今天更新

关于 JWT Tools

JWT Tools 是供开发者检查、验证和签署 JSON Web Token 的 MCP 服务,适用于令牌审查与测试。它明确区分未验证的解码和使用密钥执行的验证。

主要功能

  1. 01解码令牌并标记风险声明
  2. 02验证 HS* 和 RS* 签名
  3. 03为测试样例签署令牌
  4. 04报告声明与签名有效性

适用场景

  1. 01未经验证地检查令牌声明
  2. 02使用提供的密钥检查令牌
  3. 03创建用于测试的签名令牌

MCP 相关

该 MCP 服务向 MCP 客户端提供解码、验证和签署 JWT 的工具。它使用 stdio 传输,不会开放端口。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"basitalisandhu-mcp-jwt-tools": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/basitalisandhu/mcp-jwt-tools:0.3.0"
]
}
}
}
启动命令docker run -i --rm ghcr.io/basitalisandhu/mcp-jwt-tools:0.3.0

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/basitalisandhu/mcp-jwt-tools:0.3.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

jwt-tools MCP 服务

解码 JSON Web Token,但不验证令牌(并在输出中明确说明),标记风险算法和声明;在你提供密钥时验证 HS256/384/512 和 RS256/384/512 签名;还可以为测试样例签发令牌。仅使用 node:crypto;不访问网络或文件。

属于 dev-mcp-servers 项目。仅使用 Stdio 传输;服务不会监听端口。

工具

工具输入返回内容
decode_jwttoken、now?、max_ttl_hours?标头、载荷、ISO 时间戳和检测结果:alg 为 none 或缺失、签名为空、标头中存在 jku/x5u/jwk、已过期、尚未生效、缺少 exp/iat/aud/iss/sub/jti、有效期超过阈值(默认 24 h)、毫秒级时间戳、名称类似机密信息的声明。始终报告 verified: false。
verify_jwttoken、key、algorithm、audience?、issuer?、now?、clock_tolerance_seconds?仅检查指定算法的签名(如果令牌标头中的算法不同,则会直接失败,不进行加密检查,从而阻止算法混淆),然后检查 exp(必需)、nbf、aud、iss。返回 valid、signature_valid、claims_valid 和原因。
sign_test_jwtpayload、key、algorithm、expires_in_seconds?、now?为测试签署一个声明对象。HS* 使用共享密钥,RS* 使用 PEM 私钥。

安装

Claude Code:

claude mcp add jwt-tools -- docker run --rm -i ghcr.io/basitalisandhu/mcp-jwt-tools:0.2.2

添加 -s user,即可在每个项目中使用。任何读取 .mcp.json 的客户端(Claude Code、Claude Desktop、Cursor):

{
  "mcpServers": {
    "jwt-tools": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/basitalisandhu/mcp-jwt-tools:0.2.2"]
    }
  }
}

按此处所示固定版本,避免更新在你未察觉的情况下更改编辑器中运行的内容。该软件包尚未发布到 npmjs.com,因此 npx 无法使用;请参阅仓库 README,了解 GitHub Packages npm。从代码检出目录中,在仓库根目录运行 npm install && npm run build 后,使用 "command": "node", "args": ["<path>/packages/jwt-tools/dist/index.js"]。

访问内容

  • 网络:无。
  • 本地文件:无。密钥仅用于单次调用,不会保存。
  • 遥测:无。

说明

  • HMAC 比较使用 crypto.timingSafeEqual。
  • RS* 验证接受 PEM 公钥、证书或私钥(会派生出公钥部分)。
  • JWE(加密的五段式)令牌会被拒绝;ES* 和 PS* 令牌可以解码,但无法在此处验证。

构建和测试

npm install        # at the repository root
npm run build -w @basitalisandhu/mcp-jwt-tools
npm test -w @basitalisandhu/mcp-jwt-tools

测试使用 node:test 和 SDK 的内存传输;不会访问网络。

许可证

MIT。参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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