Modal MCP Server

Modal MCP Server 使用说明

项目简介

Modal MCP Server 是一个 MCP 服务器的实现,旨在桥接 LLM 客户端和 Modal 云计算平台。它通过 MCP 协议,向 LLM 客户端提供工具,用于管理 Modal 卷(Volume)和部署 Modal 应用程序。这使得 LLM 应用能够安全、便捷地利用 Modal 强大的云计算能力,例如存储和计算资源。

主要功能点

  • Modal 卷管理:提供一系列工具,允许 LLM 客户端列出、查看、复制、删除、上传和下载 Modal 卷中的文件,实现对云端存储资源的便捷管理。
  • Modal 应用部署:支持 LLM 客户端通过工具远程部署 Modal 应用程序,简化部署流程。
  • 基于 MCP 协议:采用标准的 Model Context Protocol 进行通信,确保与兼容 MCP 协议的 LLM 客户端良好集成。
  • 工具化操作:将 Modal 的各项功能封装成易于 LLM 调用的工具,降低使用门槛。
  • JSON-RPC 通信:使用 JSON-RPC 协议进行客户端和服务端通信,数据交换格式规范统一。

安装步骤

  1. 克隆仓库

    git clone https://github.com/smehmood/modal-mcp-server.git
    cd modal-mcp-server
  2. 安装依赖 确保已安装 uv 包管理器,然后运行:

    uv sync

服务器配置

要将 Modal MCP Server 集成到 MCP 客户端(例如 Cursor),需要在客户端的 MCP 配置文件中添加服务器配置信息。以下是针对 'modal-mcp-server' 的配置示例,通常位于 '~/.cursor/mcp.json':

{
  "mcpServers": {
    "modal-mcp-server": {  // 服务器名称,客户端用于标识和调用
      "command": "uv",     // 启动服务器的命令,这里使用 uv 运行 Python 脚本
      "args": [          // 命令参数
        "--project", "/path/to/modal-mcp-server", // 指定项目路径,请替换为实际仓库路径
        "run", "/path/to/modal-mcp-server/src/modal_mcp/server.py" // 运行服务器脚本的路径,请替换为实际仓库路径
      ]
    }
  }
}

请务必将配置中的 '/path/to/modal-mcp-server' 替换为克隆到本地的 'modal-mcp-server' 仓库的绝对路径。

基本使用方法

  1. 启动服务器: MCP 客户端(如 Cursor)会根据配置文件中的 'command' 和 'args' 自动启动 Modal MCP Server。

  2. 在 MCP 客户端中使用工具: 在支持 MCP 协议的 LLM 客户端中,你可以通过服务器名称 '"modal-mcp-server"' 调用以下工具,实现对 Modal 卷和应用的各种操作:

    • 'list_modal_volumes': 列出所有 Modal 卷。无需参数。
    • 'list_modal_volume_contents': 列出指定 Modal 卷的内容。参数:'volume_name' (卷名), 'path' (卷内路径,默认为 "/")。
    • 'copy_modal_volume_files': 复制 Modal 卷内的文件。参数:'volume_name' (卷名), 'paths' (路径列表,最后一个路径为目标路径,其余为源路径)。
    • 'remove_modal_volume_file': 删除 Modal 卷中的文件或目录。参数:'volume_name' (卷名), 'remote_path' (远程路径), 'recursive' (是否递归删除目录,默认为 false)。
    • 'put_modal_volume_file': 上传本地文件或目录到 Modal 卷。参数:'volume_name' (卷名), 'local_path' (本地路径), 'remote_path' (远程路径,默认为 "/"), 'force' (是否强制覆盖,默认为 false)。
    • 'get_modal_volume_file': 从 Modal 卷下载文件或目录到本地。参数:'volume_name' (卷名), 'remote_path' (远程路径), 'local_destination' (本地目标路径,默认为当前目录,"-" 表示输出到 stdout), 'force' (是否强制覆盖,默认为 false)。
    • 'deploy_modal_app': 部署 Modal 应用程序。参数:'absolute_path_to_app' (Modal 应用文件的绝对路径)。

    具体工具的使用方式和参数请参考 MCP 客户端的文档或界面。

注意事项

  • 使用 Modal MCP Server 前,请确保已安装 Modal CLI 并配置有效的 Modal 凭据。
  • 部署 Modal 应用的项目必须使用 'uv' 进行依赖管理,并且项目虚拟环境中已安装 'modal' 包。
  • 工具返回的结果以 JSON 格式呈现,包含操作是否成功、数据或消息、以及可能的错误信息和命令执行详情。

服务器信息