使用说明

项目简介

Media Utils MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供媒体文件(图像和视频)的上下文信息。它通过工具的形式暴露媒体文件的元数据和属性,使 LLM 能够理解和处理多媒体内容。

主要功能点

  • 获取图像信息 (get_images_info): 提取图像文件的详细元数据,包括格式、色彩模式、尺寸、文件大小、EXIF 信息(如相机设置、GPS 数据)、DPI、位深度等。支持批量处理多个图像文件。
  • 获取视频信息 (get_videos_info): 提取视频文件的详细元数据,包括格式信息、视频流信息(编解码器、分辨率等)、音频流信息、时长、文件大小、比特率、帧率等。支持批量处理多个视频文件。

核心特点:

  • MCP 标准协议: 遵循 MCP 协议,易于与支持 MCP 协议的 LLM 客户端集成。
  • 媒体信息提取: 专注于提供图像和视频文件的元数据信息,扩展 LLM 对多媒体内容的理解能力。
  • 易于安装和使用: 提供简单的安装和运行命令,方便用户快速部署和使用。

安装步骤

  1. 安装 FFMPEG: 确保你的系统已安装 FFMPEG。根据你的操作系统,按照 FFMPEG 官网 的指引进行安装。例如,在 macOS 上,可以使用 Homebrew 安装:

    brew install ffmpeg
  2. 安装 Python 依赖: 使用 'uv' 运行以下命令安装项目依赖:

    uv run mcp install --with Pillow --with ffmpeg-python --with mcp media-utils-mcp.py
    • 确保你已安装 'uv' (一个快速的 Python 包安装器和运行器)。如果未安装,请先安装 'uv'。

服务器配置

MCP 客户端需要配置以下 JSON 格式的信息来连接 Media Utils MCP Server。

{
  "serverName": "MediaUtilsMCP",
  "command": "uv",
  "args": [
    "run",
    "mcp",
    "dev",
    "media-utils-mcp.py"
  ],
  "transports": [
    "stdio",
    "sse",
    "websocket"
  ]
}

配置参数说明:

  • serverName: 服务器名称,此处为 "MediaUtilsMCP" (代码中定义)。
  • command: 启动服务器的命令,此处使用 'uv' 运行器。
  • args: 启动命令的参数列表。
    • '"run"': 'uv run' 命令用于运行 Python 脚本。
    • '"mcp"': 指定使用 'mcp' 插件来运行。
    • '"dev"': 以开发模式运行 MCP 服务器。
    • '"media-utils-mcp.py"': 服务器主程序文件名。
  • transports: 服务器支持的传输协议,包括 'stdio' (标准输入/输出), 'sse' (服务器发送事件), 和 'websocket'。 MCP 客户端可以选择其中一种协议进行连接。

基本使用方法

  1. 启动服务器: 在安装步骤完成后,切换到 'src' 目录,并运行以下命令启动 Media Utils MCP Server:

    cd src
    uv run mcp dev media-utils-mcp.py

    服务器将在后台运行,并等待 MCP 客户端的连接和请求。

  2. 配置 MCP 客户端: 在你的 MCP 客户端应用中,配置上述 “服务器配置” JSON 信息,以连接到 Media Utils MCP Server。

  3. 调用工具: 通过 MCP 客户端,你可以调用服务器提供的工具,例如 'get_images_info' 和 'get_videos_info'。 你需要提供图像或视频文件的路径列表作为工具的输入参数。 服务器将返回包含媒体文件元数据的 JSON 响应。

示例 (概念性,MCP 客户端操作):

假设你使用 MCP 客户端调用 'get_images_info' 工具,并传入两个图像文件路径:

{
  "method": "call",
  "params": {
    "tool_name": "get_images_info",
    "tool_args": {
      "image_paths": ["/path/to/image1.jpg", "/path/to/image2.png"]
    }
  }
}

服务器将处理请求,并返回包含两个图像文件元数据的 JSON 响应。

注意: 此 Media Utils MCP Server 主要提供媒体文件信息查询功能,本身不进行任何文件访问权限控制。在实际应用中,你可能需要根据需要添加路径安全检查和访问控制机制。

信息

分类

数据库与文件