mcpField
S
Shutter Mcp

Shutter Mcp

本地服务
github.com/shutter-network安全061 周前更新

关于 Shutter Mcp

Shutter Mcp 是一款实验性 MCP 服务,可创建指定未来时间才能解密的消息,适用于延时通信。其演示加密和测试网部署不适合敏感或生产数据。

主要功能

  1. 01加密并设定未来解锁时间
  2. 02解析自然语言时间表达
  3. 03接受 Unix 时间戳和日期
  4. 04检查消息是否可解密
  5. 05时间锁到期后解密
  6. 06说明时间锁加密原理

适用场景

  1. 01在竞拍结束前隐藏出价
  2. 02安排公告在未来公开
  3. 03为未来的自己准备消息

MCP 相关

它向 MCP 客户端提供时间锁加密工具,包括加密、状态检查、解密、时间戳转换和原理说明。文档列出了 Claude Web 和 VS Code 集成方式。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"ShutterMCP": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

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

安装包
ocibuild

工具

还没有获取到工具列表

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

详细介绍

Shutter MCP

一个 Model Context Protocol(MCP)服务,使用 Shutter Network 提供时间锁加密功能。该服务允许用户加密消息,只有在指定的未来时间之后才能解密,从而实现无需信任的延时通信。

功能

  • 时间锁加密:加密消息,并在未来的时间戳解锁
  • 自然语言时间解析:使用“从现在起 3 个月”等表达式
  • Unix 时间戳支持:直接输入时间戳以精确指定时间
  • 支持 Claude Web、VS Code MCP
  • 全面的错误处理:提供易于理解的错误消息和指导
  • 可用于生产环境:支持 Docker、健康检查和监控

重要说明

ALPHA SOFTWARE:这是使用 Shutter Network 测试网部署(Gnosis Chiado)的实验性软件。请勿用于生产环境或处理敏感数据。此加密实现仅用于演示。

当前限制:

  • 演示用加密算法(并非生产级 Shutter 加密)
  • 测试网部署(仅限 Chiado 测试网)
  • 不保证数据持久化
  • API 可能随时更改,恕不另行通知

在线部署

服务 URL:https://shutter-mcp-b76e270d48c5.herokuapp.com/ 健康检查:https://shutter-mcp-b76e270d48c5.herokuapp.com/health MCP 端点:https://shutter-mcp-b76e270d48c5.herokuapp.com/mcp

快速开始

Claude Web 集成
  1. 打开 Claude Web 设置

  2. 添加自定义集成

    • 点击“添加自定义集成”
    • 输入 URL:https://shutter-mcp-b76e270d48c5.herokuapp.com/mcp
    • 点击“添加”
  3. 测试集成

    • 开始新的对话
    • 尝试:“将这条消息加密,并在 3 个月后解锁:你好,未来!”
    • 或者:“解释时间锁加密的工作原理”
VS Code MCP 集成
  1. 安装 MCP 扩展

    • 打开 VS Code
    • 安装“Model Context Protocol”扩展
    • 或从市场安装:ms-vscode.vscode-mcp
  2. 配置 MCP 服务

    • 打开 VS Code 设置(Ctrl+,)
    • 搜索“MCP”
    • 添加服务配置:
      {
        "mcp.servers": {
          "shutter-timelock": {
            "url": "https://shutter-mcp-b76e270d48c5.herokuapp.com/mcp",
            "name": "Shutter Timelock Encryption"
          }
        }
      }
      
  3. 测试集成

    • 打开命令面板(Ctrl+Shift+P)
    • 输入“MCP: Call Tool”
    • 选择“timelock_encrypt”并提供参数

本地开发设置

如需在本地运行服务进行开发:

先决条件
  • Python 3.11 或更高版本
  • pip(Python 包管理器)
安装
  1. 克隆或下载此仓库

    git clone <your-repo-url>
    cd shutter-mcp-server
    
  2. 运行部署脚本

    ./scripts/deploy.sh
    
  3. 启动服务

    ./scripts/start.sh
    

服务将在 http://localhost:5002 上提供,MCP 端点为 http://localhost:5002/mcp。

本地集成设置

进行本地开发时,请将配置更新为使用:

  • Claude Web:http://localhost:5002/mcp
  • VS Code:http://localhost:5002/mcp
Docker 部署
# Build and run with Docker Compose
docker-compose up -d

# Or build and run manually
docker build -t shutter-mcp-server .
docker run -p 5002:5002 shutter-mcp-server

测试示例

Claude Web 测试命令:

Encrypt this message to unlock in 1 hour: Secret meeting at 3pm
Check decryption status for identity: 0x1234...
Explain how timelock encryption works

VS Code 测试命令:

  • 通过命令面板使用 MCP 工具
  • 使用未来的时间戳测试时间锁加密
  • 验证健康检查端点的响应

可用工具

timelock_encrypt(message, unlock_time)

使用 Shutter Network 通过时间锁加密消息。

参数:

  • message(字符串):要加密的文本消息
  • unlock_time(字符串):消息可解密的时间
    • 自然语言:“从现在起 3 个月”“从现在起 1 年”
    • Unix 时间戳:“1721905313”
    • 绝对日期:“2024-12-25”“January 15, 2025”

示例:

timelock_encrypt("Secret auction bid: $50,000", "2024-12-31 23:59:59")
check_decryption_status(identity)

检查时间锁加密的消息是否已可解密。

参数:

  • identity(字符串):timelock_encrypt 返回的身份标识
decrypt_timelock_message(identity, encrypted_data)

如果时间锁已到期,则解密时间锁加密的消息。

参数:

  • identity(string):timelock_encrypt 返回的标识
  • encrypted_data(string):timelock_encrypt 返回的加密数据
get_unix_timestamp(time_expression)

将时间表达式转换为 Unix 时间戳。

参数:

  • time_expression(string):要转换的时间(默认值:"now")
explain_timelock_encryption()

获取关于时间锁加密及其用法的全面说明。

时间锁加密的工作原理

时间锁加密可以加密一条消息,使其只能在特定时间之后解密。Shutter Network 使用:

  • 阈值密码学:分布式生成和管理密钥
  • 去中心化 Keyper:由多个节点组成的网络,共同管理解密密钥
  • 基于时间的释放:仅在指定时间戳之后释放密钥
  • 无需信任的运行方式:任何单一参与方都无法提前解密消息

使用场景

  • 密封投标拍卖:在拍卖结束前隐藏报价
  • 延时公告:安排未来揭晓
  • 死者开关:如果你没有签到,消息就会解锁
  • 比赛揭晓:在比赛结束前隐藏答案
  • 未来通信:给未来的自己发送消息

配置

环境变量
  • PORT:服务端口(默认值:5002)
  • SHUTTER_API_BASE:Shutter API 端点(默认值:Chiado 测试网)
  • SHUTTER_REGISTRY_ADDRESS:Registry 合约地址
自定义配置

编辑 src/server.py 以修改:

  • API 端点
  • 超时值
  • 错误处理行为
  • 其他工具

测试

运行示例脚本以测试功能:

python examples/usage_example.py

健康检查端点:

curl https://shutter-mcp-b76e270d48c5.herokuapp.com/health

本地测试:

curl http://localhost:5002/health

项目结构

shutter-mcp-server/
├── src/
│   └── server.py              # Main server implementation
├── scripts/
│   ├── deploy.sh              # Deployment script
│   └── start.sh               # Start script
├── examples/
│   └── usage_example.py       # Usage examples
├── docs/
│   └── API.md                 # API documentation
├── requirements.txt           # Python dependencies
├── Dockerfile                 # Docker configuration
├── docker-compose.yml         # Docker Compose configuration
├── Procfile                   # Heroku process configuration
├── deploy-heroku.ps1          # PowerShell deployment script
└── README.md                  # This file

安全注意事项

重要:这是存在显著限制的 Alpha 软件:

  • 演示实现:当前加密仅用于演示
  • 仅限测试网:使用 Chiado 测试网,不适用于生产数据
  • 不具备生产级加密:尚未实现完整的 Shutter 加密算法
  • 实验阶段:API 和功能可能会在不另行通知的情况下更改
  • 不保证数据安全:不保证数据持久性或可用性

用于生产环境:

  • 实现正确的 Shutter 加密算法
  • 主网部署可用后使用主网
  • 添加身份验证和访问控制
  • 实施妥善的密钥管理
  • 在生产部署中使用 HTTPS

故障排除

服务无法启动
  • 检查 Python 版本(需要 3.11+)
  • 确认已安装所有依赖项:pip install -r requirements.txt
  • 检查端口是否可用:lsof -i :5002(Linux/Mac)或 netstat -an | findstr :5002(Windows)
Claude 集成问题
  • 确保可从互联网访问服务
  • 确认 MCP 端点返回正确的响应:curl https://shutter-mcp-b76e270d48c5.herokuapp.com/mcp
  • 检查跨域请求的 CORS 配置
VS Code 集成问题
  • 确认 MCP 扩展已安装并启用
  • 检查 VS Code 设置中的服务配置
  • 开发时使用本地服务:http://localhost:5002/mcp
Shutter API 错误
  • 确认网络连接正常
  • 检查 Shutter Network 状态
  • 确保时间戳在未来

开发

添加新工具
  1. 使用 @mcp.tool() 装饰器定义工具函数
  2. 添加全面的文档字符串,说明参数
  3. 包含适当的错误处理和用户指导
  4. 使用示例脚本进行测试
修改时间解析

编辑 ShutterTimelock 类中的 parse_time_expression 方法,以支持其他时间格式。

贡献

  1. Fork 此仓库
  2. 创建功能分支
  3. 进行更改
  4. 添加测试和文档
  5. 提交拉取请求

许可证

MIT 许可证——详情请参阅 LICENSE 文件。

致谢

支持

  • 问题:提交 GitHub issue
  • 文档:参见 docs/ 目录
  • 示例:查看 examples/ 目录

版本:2.1.0
最后更新:2025 年 8 月
兼容性:Claude Web、VS Code MCP、MCP Protocol 2024-11-05

评论

支持 Markdown

第一次接触 MCP?

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

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