关于 Ethereum Keystore Encryption
Keystore MCP Server 是一个 Ethereum keystore 加解密 MCP 服务,遵循 Web3 Secret Storage Definition Version 3 标准。它面向需要离线保管钱包私钥的用户,提供加密、解密、文件管理和密码更换等工具。
主要功能
- 01遵循 Web3 Secret Storage V3 格式
- 02支持 scrypt 与 PBKDF2 两种 KDF
- 03提供 9 个工具和 4 个资源
- 04包含 4 个提示词工作流
- 05keystore 文件以 0600 权限保存
适用场景
- 01为冷存储钱包生成加密 keystore 文件
- 02批量加密多个钱包私钥
- 03审计或迁移已有 keystore 文件
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 keystore 相关的 tools、resources 和 prompts。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Keystore MCP 服务
一个用于以太坊 keystore 加密、解密和管理的 Model Context Protocol (MCP) 服务,遵循 Web3 Secret Storage Definition Version 3 标准。
功能
工具(9)
encrypt_keystore- 将私钥加密为 Web3 Secret Storage V3 格式decrypt_keystore- 解密 keystore 以恢复私钥save_keystore_file- 使用标准以太坊命名保存 keystoreload_keystore_file- 加载并校验 keystore 文件get_keystore_info- 无需解密即可提取元数据validate_keystore- 校验 keystore 结构change_keystore_password- 修改密码并可选升级 KDFbatch_encrypt_keystores- 批量加密多个钱包keystore_to_private_key_file- 导出已解密的私钥(危险)
资源(4)
keystore://specification- Web3 Secret Storage V3 规范keystore://security-guide- 安全最佳实践keystore://kdf-comparison- Scrypt 与 PBKDF2 对比keystore://examples/{type}- 示例 keystore
提示词(4)
secure_wallet_backup- 引导式备份创建keystore_migration- 从旧格式迁移keystore_recovery- 恢复协助keystore_security_audit- 安全审计工作流
安装
pip install -e .
# Or with dev dependencies
pip install -e ".[dev]"
使用
运行服务
keystore-mcp-server
Claude Desktop 配置
{
"mcpServers": {
"keystore": {
"command": "keystore-mcp-server"
}
}
}
加密标准
Web3 Secret Storage V3
- KDF:scrypt(推荐)或 pbkdf2
- Cipher:AES-128-CTR
- MAC:Keccak-256
- UUID:版本 4
默认 Scrypt 参数
| 参数 | 值 | 描述 |
|---|---|---|
| N | 262144 (2^18) | CPU/内存开销 |
| r | 8 | 块大小 |
| p | 1 | 并行度 |
| dklen | 32 | 派生密钥长度 |
默认 PBKDF2 参数
| 参数 | 值 | 描述 |
|---|---|---|
| c | 262144 | 迭代次数 |
| prf | hmac-sha256 | PRF |
| dklen | 32 | 派生密钥长度 |
安全
⚠️ 重要安全注意事项:
- 切勿分享 keystore 密码 - 与私钥同等对待
- 使用强密码 - 至少 12 个字符,包含大小写字母、数字、符号
- 安全存储文件 - 文件以 0600 权限创建
- 气隙隔离操作 - 高价值钱包请离线使用
- 备份 keystore - 将加密备份存储在多个位置
示例
加密私钥
result = await encrypt_keystore(
private_key="0x...",
password="strong-password-123",
kdf="scrypt"
)
解密 Keystore
result = await decrypt_keystore(
keystore=keystore_json,
password="strong-password-123"
)
保存 Keystore 文件
result = await save_keystore_file(
keystore=keystore_json,
directory="./keystores"
)
# Creates: UTC--2024-01-15T10-30-00.000Z--address.json
测试
pytest tests/ -v
许可证
MIT License
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。