mcpField
M
Modal MCP Server

Modal MCP Server

本地服务
github.com/smehmood云与基础设施383 周前更新

关于 Modal MCP Server

Modal MCP Server 供 Cursor 用户管理 Modal 卷并部署 Modal 应用。它通过 MCP 工具提供卷文件操作和应用部署能力。

主要功能

  1. 01列出卷及其内容
  2. 02复制、删除、上传和下载文件
  3. 03部署 Modal 应用

适用场景

  1. 01检查 Modal 卷中的文件
  2. 02传输或清理卷文件
  3. 03从使用 uv 的项目部署应用

MCP 相关

向 MCP 客户端(包括 Cursor)提供 Modal 卷操作和应用部署工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Modal MCP 服务

用于在 Cursor 中与 Modal 卷交互并部署 Modal 应用的 MCP 服务实现。

安装

  1. 克隆此仓库:
git clone https://github.com/smehmood/modal-mcp-server.git
cd modal-mcp-server
  1. 使用 uv 安装依赖:
uv sync

配置

要在 Cursor 中使用此 MCP 服务,请将以下配置添加到 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "modal-mcp-server": {
      "command": "uv",
      "args": [
        "--project", "/path/to/modal-mcp-server",
        "run", "/path/to/modal-mcp-server/src/modal_mcp/server.py"
      ]
    }
  }
}

将 /path/to/modal-mcp-server 替换为克隆仓库的绝对路径。

要求

  • Python 3.11 或更高版本
  • uv 包管理器
  • 已配置有效凭据的 Modal CLI
  • 要支持 Modal 部署:
    • 要部署的项目必须使用 uv 管理依赖
    • 必须在项目的虚拟环境中安装 Modal

支持的工具

Modal 卷操作
  1. 列出 Modal 卷(list_modal_volumes)

    • 列出环境中的所有 Modal 卷
    • 返回 JSON 格式的卷信息
    • 参数:无
  2. 列出卷内容(list_modal_volume_contents)

    • 列出 Modal 卷中的文件和目录
    • 参数:
      • volume_name:Modal 卷的名称
      • path:卷内路径(默认值:/)
  3. 复制文件(copy_modal_volume_files)

    • 在 Modal 卷内复制文件
    • 参数:
      • volume_name:Modal 卷的名称
      • paths:路径列表,最后一个路径为目标位置
    • 示例:["source.txt", "dest.txt"] 或 ["file1.txt", "file2.txt", "dest_dir/"]
  4. 删除文件(remove_modal_volume_file)

    • 从 Modal 卷中删除文件或目录
    • 参数:
      • volume_name:Modal 卷的名称
      • remote_path:要删除的文件或目录路径
      • recursive:递归删除的布尔标志(默认值:false)
  5. 上传文件(put_modal_volume_file)

    • 将文件或目录上传到 Modal 卷
    • 参数:
      • volume_name:Modal 卷的名称
      • local_path:要上传的本地文件或目录路径
      • remote_path:卷内的上传目标路径(默认值:/)
      • force:覆盖现有文件的布尔标志(默认值:false)
  6. 下载文件(get_modal_volume_file)

    • 从 Modal 卷下载文件
    • 参数:
      • volume_name:Modal 卷的名称
      • remote_path:要下载的卷内文件或目录路径
      • local_destination:保存下载文件的本地路径(默认值:当前目录)
      • force:覆盖现有文件的布尔标志(默认值:false)
    • 注意:将 - 用作 local_destination,可将文件内容写入 stdout
Modal 部署
  1. 部署 Modal 应用(deploy_modal_app)
    • 部署 Modal 应用
    • 参数:
      • absolute_path_to_app:Modal 应用文件的绝对路径
    • 注意:包含 Modal 应用的项目必须:
      • 使用 uv 管理依赖
      • 在其虚拟环境中安装 modal CLI

响应格式

所有工具都以标准化格式返回响应,具体形式会根据操作类型略有不同:

# JSON operations (list volumes, list contents):
{
    "success": True,
    "data": {...}  # JSON data from Modal CLI
}

# File operations (put, get, copy, remove):
{
    "success": True,
    "message": "Operation successful message",
    "command": "executed command string",
    "stdout": "command output",  # if any
    "stderr": "error output"     # if any
}

# Error case (all operations):
{
    "success": False,
    "error": "Error message describing what went wrong",
    "command": "executed command string",  # for file operations
    "stdout": "command output",  # if available
    "stderr": "error output"     # if available
}

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

本项目基于 MIT License 授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。