使用说明
项目简介
ZIONFHE安全计算MCP服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,专注于提供基于同态加密技术ZIONFHE的安全计算能力。它通过MCP协议将安全计算功能以标准化的方式提供给LLM客户端,允许LLM安全地执行代码、加密和解密数据,而无需直接访问原始敏感信息。
主要功能点
- 安全代码执行: 允许LLM客户端请求服务器在同态加密环境下执行代码,保护代码和数据的隐私性。
- 数据加密: 提供数据加密工具,支持对标量数据和DataFrame数据进行同态加密,确保数据在传输和存储过程中的安全。
- 数据解密: 提供数据解密工具,用于解密经过同态加密的数据,以便在需要时获取原始数据。
- 工具化集成: 所有安全计算功能均以MCP Tool的形式注册,方便LLM客户端通过标准化的MCP协议调用。
- SSE传输协议: 支持SSE (Server-Sent Events) 传输协议,实现与客户端的实时通信。
安装步骤
-
克隆仓库:
git clone https://github.com/joyecai/zionfhe_mcp_server_test cd zionfhe_mcp_server_test -
配置API密钥:
- 联系开发者获取API密钥。
- 在项目根目录下创建 '.env' 文件。
- 在 '.env' 文件中配置 'ZIONFHE_APIKEY' 环境变量,替换 '<YOUR APIKEY>' 为实际的API密钥。
ZIONFHE_APIKEY=<YOUR APIKEY> - (可选) 如果需要配置FHE计算服务器的URL,可以在 '.env' 文件中添加 'COMPUTE_SERVER_URL' 环境变量。如果未配置,可能使用默认值或需要在代码中查找默认配置。
COMPUTE_SERVER_URL=<FHE计算服务器URL> # 可选配置,如果FHE计算服务器地址不是默认地址 -
安装 uv 包管理器:
pip install uv -
更新依赖包:
uv sync -
运行 MCP 服务器:
uv run --env-file .env main.pyMCP 服务器将在 '8000' 端口启动,并使用 SSE 协议。
服务器配置 (MCP 客户端配置)
为了让MCP客户端连接到此服务器,您需要提供以下配置信息给客户端。以下是 JSON 格式的配置信息示例,请根据您的实际情况进行调整。
{ "serverName": "zionfhe_mcp_server", // 服务器名称,可以自定义 "command": "uv", // 运行服务器的命令 "args": [ // 运行服务器的命令参数 "run", "--env-file", ".env", "main.py" ], "transport": "sse", // 使用 SSE 传输协议 "port": 8000 // 服务器监听端口 // "host": "::" // (可选) 如果需要指定监听地址,可以在这里配置,例如 "127.0.0.1" 或 "::" }
配置信息参数注释:
- 'serverName': MCP服务器的名称,客户端用以标识不同的服务器连接配置。您可以自定义设置,例如 "zionfhe_server"。
- 'command': 启动服务器的可执行命令。根据安装步骤,这里使用 'uv' 包管理器来运行Python脚本。
- 'args': 启动服务器命令的参数列表。
- '"run"': 'uv run' 命令用于运行Python脚本。
- '"--env-file"': 指定加载环境变量的文件。
- '".env"': 指定环境变量文件为项目根目录下的 '.env' 文件。
- '"main.py"': 指定要运行的Python脚本为 'main.py'。
- 'transport': 指定MCP客户端与服务器通信使用的传输协议,这里配置为 '"sse"' (Server-Sent Events)。
- 'port': 指定MCP服务器监听的端口号,默认为 '8000'。
- 'host': (可选) 指定服务器监听的IP地址。'"::"' 表示监听所有可用的IPv6和IPv4地址。如果需要限制监听地址,可以设置为 '"127.0.0.1"' (仅监听本地IPv4) 或其他IP地址。
请注意: MCP客户端需要根据此配置信息来启动和连接到 ZIONFHE 安全计算 MCP 服务器。确保客户端能够正确解析和使用这些配置参数。
基本使用方法
- 启动 MCP 服务器 (按照上述安装步骤)。
- 配置并启动 MCP 客户端,并加载上面提供的服务器配置信息。
- 在 MCP 客户端中,您应该能够发现服务器注册的 Tools,例如 'fhe_code_execute', 'fhe_encrypt', 'fhe_decrypt' 等。
- 通过 MCP 客户端向服务器发送 JSON-RPC 请求,调用相应的 Tool,并传递所需的参数 (例如,要执行的代码、要加密的数据等)。
- 服务器将处理请求,执行相应的安全计算操作,并通过 JSON-RPC 响应将结果返回给客户端。
具体Tool的使用方法和参数,请参考 'main.py' 文件中 '@mcp.tool()' 装饰器下方每个函数的文档字符串 (docstring)。
信息
分类
AI与计算