项目简介

这是一个演示项目,展示了如何构建一个基于 Model Context Protocol (MCP) 的服务器,该服务器与一个独立运行的同态加密 (FHE) 后端服务协作,提供隐私保护的图像处理功能。用户可以通过 MCP 服务器应用图像滤镜,而敏感的图像数据在处理过程中始终保持加密状态,FHE 后端服务器永远不会看到未加密的原始图像内容。

主要功能点

  • 隐私保护的图像处理: 利用同态加密技术,在加密数据上执行图像滤镜计算。
  • 提供 MCP 工具: 向连接的 LLM 客户端暴露可调用的功能,例如获取可用滤镜、处理图片、解密处理结果等。
  • 工作流程管理: MCP 服务器负责处理来自客户端的请求,下载图像、生成加密密钥、将加密数据发送给 FHE 服务器进行处理,并管理处理结果。
  • 支持多种滤镜: 实现多种常见的图像滤镜效果,如反色、黑白、模糊、锐化等。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/deeppowers/Deeppowers-Demo.git
    cd Deeppowers-Demo
  2. 安装依赖: 确保您已安装 Python 3.11.4+ 和 'uv' 包管理器(通常通过 'pip install uv' 安装)。然后安装项目依赖:
    uv add "mcp[cli]"
  3. 生成FHE文件: 生成同态加密处理所需的开发文件:
    uv run generate_dev_files.py
  4. 安装MCP服务器到客户端: 将此 MCP 服务器安装到您的 MCP 客户端环境(例如 Claude Desktop)。具体命令可能因客户端不同而略有差异。通常您会使用 MCP 客户端提供的命令行工具或界面进行安装,例如:
    uv run mcp install mcp_server.py
    如果上述命令在您的客户端环境中无效,请参考客户端文档或尝试运行项目提供的示例脚本,并根据您的实际项目路径进行调整。

服务器配置

要使 MCP 客户端能够连接并使用此服务器,您需要在客户端的 MCP 配置中添加一个服务定义。这个定义通常是 JSON 格式,告诉客户端如何启动和连接到您的 MCP 服务器。

您需要配置一个 MCP 服务,其中包含:

  • 'name' (服务器名称,例如:"FHE图像处理服务器")
  • 'command' (用于启动 MCP 服务器进程的命令)
  • 'args' (传递给命令的参数)
  • 以及可能的工作目录 (cwd) 等。

根据本项目,您可以将 'command' 设置为 '["uv", "run", "mcp"]','args' 设置为 '["run", "mcp_server.py"]'。确保工作目录设置为项目的根目录,以便 'uv run mcp_server.py' 命令能够正确找到脚本文件。

例如,一个配置示意的概念如下(具体填写方式请参考您的 MCP 客户端文档): 服务器名称:'FHE图像处理服务器' 启动命令:'uv' 命令参数:'run mcp_server.py' 工作目录:指向您克隆的 'Deeppowers-Demo' 仓库路径

基本使用方法

  1. 启动FHE后端服务器: 在项目根目录的终端中运行 FHE 后端服务器:
    uv run fhe_server.py
    该服务器默认会在 'http://localhost:8000' 启动并监听请求。请保持此终端窗口开启。
  2. 启动MCP客户端: 启动您的 MCP 客户端(例如 Claude Desktop)。客户端将根据您在“服务器配置”步骤中添加的配置,启动并连接到 MCP 服务器(即 'mcp_server.py' 脚本)。
  3. 通过客户端调用工具: 在 MCP 客户端中,您现在可以发现并调用此 MCP 服务器提供的工具:
    • 调用 'get_available_filters()' 获取当前支持的图像滤镜列表。
    • 调用 'process_image_with_fhe(image_url, filter_name)'。提供您想要处理的图片的 URL 和选择的滤镜名称。服务器将处理图片并在FHE后端完成计算后,返回一个包含 'user_id'、'filter_name' 和 'output_id' 的结果。
    • 调用 'decrypt_output_image(user_id, filter_name, output_id)'。提供上一步骤返回的 'user_id', 'filter_name', 和 'output_id'。服务器将解密处理结果并返回一个可以直接查看处理后图片的 URL。

信息

分类

AI与计算