README
🚀 Modal MCP 服务器
Modal MCP 服务器用于与 Modal 卷交互,还能从 Cursor 内部部署 Modal 应用程序,为相关操作提供了便利的实现方案。
🚀 快速开始
要使用 Modal MCP 服务器,你需要完成安装和配置步骤,以下是详细说明。
📦 安装指南
- 克隆此仓库:
git clone https://github.com/smehmood/modal-mcp-server.git
cd modal-mcp-server
- 使用
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 卷操作
-
列出 Modal 卷 (
list_modal_volumes)- 功能:列出环境中的所有 Modal 卷
- 返回:JSON 格式的卷信息
- 参数:无
-
列出卷内容 (
list_modal_volume_contents)- 功能:列出 Modal 卷中的文件和目录
- 参数:
volume_name:卷的名称path:卷内的路径(默认: "/")
-
复制文件 (
copy_modal_volume_files)- 功能:在 Modal 卷内复制文件
- 参数:
volume_name:卷的名称paths:路径列表,最后一个路径为目的地
- 示例:
["source.txt", "dest.txt"]或["file1.txt", "file2.txt", "dest_dir/"]
-
删除文件 (
remove_modal_volume_file)- 功能:从 Modal 卷中删除文件或目录
- 参数:
volume_name:卷的名称remote_path:要删除的文件/目录路径recursive:是否递归删除的布尔标志(默认: false)
-
上传文件 (
put_modal_volume_file)- 功能:上传文件或目录到 Modal 卷
- 参数:
volume_name:卷的名称local_path:要上传的本地路径remote_path:卷内的目标路径(默认: 当前目录)
-
下载文件 (
get_modal_volume_file)- 功能:从 Modal 卷下载文件或目录
- 参数:
volume_name:卷的名称remote_path:要下载的卷内路径local_path:下载后保存到本地的路径(默认: 当前目录)
响应格式
- 成功响应:
{
"status": "success",
"result": {}
}
- 错误响应:
{
"status": "error",
// 此处原文档未完整给出错误响应内容,保持原样
}
Scan to join WeChat group