关于 JWT Tools
JWT Tools 是供开发者检查、验证和签署 JSON Web Token 的 MCP 服务,适用于令牌审查与测试。它明确区分未验证的解码和使用密钥执行的验证。
主要功能
- 01解码令牌并标记风险声明
- 02验证 HS* 和 RS* 签名
- 03为测试样例签署令牌
- 04报告声明与签名有效性
适用场景
- 01未经验证地检查令牌声明
- 02使用提供的密钥检查令牌
- 03创建用于测试的签名令牌
MCP 相关
该 MCP 服务向 MCP 客户端提供解码、验证和签署 JWT 的工具。它使用 stdio 传输,不会开放端口。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/basitalisandhu/mcp-jwt-tools:0.3.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/basitalisandhu/mcp-jwt-tools:0.3.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
jwt-tools MCP 服务
解码 JSON Web Token,但不验证令牌(并在输出中明确说明),标记风险算法和声明;在你提供密钥时验证 HS256/384/512 和 RS256/384/512 签名;还可以为测试样例签发令牌。仅使用 node:crypto;不访问网络或文件。
属于 dev-mcp-servers 项目。仅使用 Stdio 传输;服务不会监听端口。
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
decode_jwt | token、now?、max_ttl_hours? | 标头、载荷、ISO 时间戳和检测结果:alg 为 none 或缺失、签名为空、标头中存在 jku/x5u/jwk、已过期、尚未生效、缺少 exp/iat/aud/iss/sub/jti、有效期超过阈值(默认 24 h)、毫秒级时间戳、名称类似机密信息的声明。始终报告 verified: false。 |
verify_jwt | token、key、algorithm、audience?、issuer?、now?、clock_tolerance_seconds? | 仅检查指定算法的签名(如果令牌标头中的算法不同,则会直接失败,不进行加密检查,从而阻止算法混淆),然后检查 exp(必需)、nbf、aud、iss。返回 valid、signature_valid、claims_valid 和原因。 |
sign_test_jwt | payload、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。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。