项目简介

这是一个基于Model Context Protocol (MCP) 实现的服务器,用于集成Azure AI Vision的人脸活体检测功能。它将Azure AI Vision的特定功能封装为MCP工具,允许Agentic AI(如大型语言模型客户端)通过标准的MCP协议与之交互,进行人脸活体检测或活体检测加身份验证。

主要功能点

  • 启动活体检测会话: 通过调用服务器提供的工具, Agentic AI可以发起一个新的Azure AI Vision人脸活体检测流程,服务器会返回一个供用户操作的URL。
  • 启动活体检测并验证身份会话: 如果配置了用于比对的验证图片,Agentic AI可以启动一个结合活体检测和与预设图片进行身份比对的会话,服务器同样返回操作URL。
  • 获取会话结果: Agentic AI可以根据会话ID查询已完成的活体检测(或活体检测加验证)会话的结果,服务器将返回活体检测的判定(真脸/欺骗脸)以及身份验证的比对结果(如果执行了验证)。
  • 保存会话图片: 服务器可以配置在获取结果时自动下载并保存该次会话中的人脸图片。

安装步骤

  1. 确保你的环境中已安装 Node.js。
  2. 从GitHub克隆此仓库到本地:
    git clone https://github.com/Azure-Samples/azure-ai-vision-face-mcp-server.git
  3. 进入服务器代码所在目录(根据仓库结构,可能是 'azure-ai-vision-face-mcp-server/liveness-server-typescript')。
  4. 安装项目依赖:
    npm install
  5. 编译 TypeScript 代码(如果需要,具体请参考项目根目录的 README):
    npm run build 
    或者如果使用 'ts-node' 直接运行,则跳过此步。

服务器配置

MCP客户端需要配置如何启动此MCP服务器进程。此服务器通过标准输入输出(Stdio)与客户端通信。

MCP客户端的配置通常是一个JSON对象,包含启动命令和参数。例如:

  • 'serverName': 服务器在MCP网络中的名称,此项目硬编码为 'liveness-server'。
  • 'command': 启动服务器进程的可执行命令,例如 'node' 或 'ts-node'。
  • 'args': 传递给 'command' 的参数列表,通常是服务器主程序的路径。

请注意:此服务器依赖多个环境变量来配置Azure AI Vision服务的连接信息和行为。这些环境变量必须在启动服务器进程的环境中设置。

所需环境变量:

  • 'FACEAPI_ENDPOINT': Azure AI Vision Face API 的区域端点(不包含 'https://')。
  • 'FACEAPI_KEY': Azure AI Vision Face API 的订阅密钥。
  • 'FACEAPI_WEBSITE': 用于用户进行活体检测操作的网站基础 URL。
  • 'SESSION_IMAGE_DIR': (可选) 用于保存会话图片的本地目录路径。默认为当前用户目录。
  • 'VERIFY_IMAGE_FILE_NAME': (可选) 用于人脸验证的本地图片文件路径。设置此变量会启用带验证功能的工具。

MCP客户端通常会像启动普通进程一样启动此服务器,并确保上述环境变量已在启动环境中设置。

基本使用方法

  1. 设置上述必要的环境变量。
  2. 通过MCP客户端配置并启动此MCP服务器。服务器会通过Stdio与客户端建立连接。
  3. Agentic AI客户端通过MCP协议发现服务器提供的工具('startLivenessAuthentication', 'getLivenessResult' 等)。
  4. Agentic AI根据需要调用相应的工具,例如调用 'startLivenessAuthentication' 获取用户操作URL。
  5. 用户访问该URL完成活体检测流程。
  6. Agentic AI调用 'getLivenessResult' 工具,传入获得的会话ID,以获取活体检测结果。
  7. 服务器处理工具请求,调用Azure AI Vision API,并将结果通过MCP协议返回给Agentic AI。

信息

分类

AI与计算