Globus MCP服务器
⚠️ 测试版软件 --该项目正在积极开发中,尚未 达到了稳定的v1.0.0版本。API、工具签名和行为可能 如有更改,恕不另行通知。在生产工作流程中谨慎使用。
Globus MCP Server为AI代理提供联合数据传输和远程代码 在全球各机构的研究存储系统中执行。
它包裹着 Globus命令行界面 用于数据传输和 这 Globus计算SDK 用于远程 在HPC端点上执行Python。
先决条件
- Globus连接个人 (可选):用于与本地计算机之间的传输
快速开始
对于启用MCP的应用程序,如Claude Desktop、Cursor或Warp,请添加以下内容 服务器到您的MCP配置:
{
"mcpServers": {
"globus": {
"command": "uvx",
"args": ["git+https://github.com/purduercac/globus-mcp"]
}
}
}这 uvx 调用会自动处理安装。首次使用时 服务器的 globus_login() 和 compute_login() 工具将引导用户完成 通过浏览器进行身份验证。
常见工作流
查找和浏览端点
endpoint_search("purdue") # Returns list with UUIDs
ls("endpoint-uuid", "/path/to/dir")传输数据
task_id = transfer(
source_endpoint="src-uuid",
source_path="/data/file.tar",
dest_endpoint="dst-uuid",
dest_path="/scratch/file.tar"
)
task_wait(task_id)同意恢复
一些Globus Connect Server v5集合需要特定于端点的同意。 如果操作失败 ConsentRequired,服务器返回一个结构化的 所需作用域出错。客服电话 session_consent(scopes) 打开 浏览器,然后重试原始操作。
远程代码执行(Globus Compute)
# Submit a Python function to run on a remote HPC endpoint
compute_submit(
endpoint_id="compute-endpoint-uuid",
function_source="def analyze(n):\n import numpy as np\n return np.random.rand(n).mean()",
function_name="analyze",
requirements="numpy",
args=[10000],
)
# Check results later
compute_result("task-uuid", timeout=300)当 requirements 如果提供,服务器会自动提供缓存 远程端点上的虚拟环境使用 uv.
可用工具
身份与认证
whoami()--显示登录身份globus_login()--启动Globus CLI OAuth登录session_consent(scopes)--授予特定于端点的数据访问许可
端点
endpoint_search(query)--按名称查找传输端点endpoint_show(endpoint_id)--获取端点详细信息endpoint_local_id()--获取本地GCP端点UUID
文件系统
ls(endpoint_id, path)--列出目录内容stat(endpoint_id, path)--获取文件/目录元数据mkdir(endpoint_id, path)--创建目录rename(endpoint_id, source_path, dest_path)--重命名或移动rm(endpoint_id, path)--删除(同步)delete(endpoint_id, path)--删除(异步任务)
转账
transfer(...)--提交异步传输任务transfer_batch(...)--批量传输(多个文件对)task_list()--列出最近的任务task_show(task_id)--获取任务详细信息task_wait(task_id)--等待任务完成task_cancel(task_id)--取消正在运行的任务task_event_list(task_id)--获取任务事件
计算(远程代码执行)
compute_login()--使用Globus Compute进行身份验证compute_endpoint_list()--列出可访问的计算端点compute_endpoint_status(endpoint_id)--检查端点可用性compute_submit(...)--提交一个Python函数以供远程执行compute_batch_submit(...)--批量提交多个函数compute_status(task_ids)--检查任务状态(非阻塞)compute_result(task_id)--获取任务结果(可选等待)
发展
uv sync
globus-mcp许可证
麻省理工学院
