Globus MCP Server
Provides tools for federated data transfer and remote code execution on Globus endpoints, enabling management of transfers, files, and compute tasks.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Globus MCP Serverlist files on the Purdue endpoint under /data/"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Globus MCP Server
⚠️ Beta Software — This project is under active development and has not reached a stable v1.0.0 release. APIs, tool signatures, and behavior may change without notice. Use with caution in production workflows.
Globus MCP Server gives AI agents federated data transfer and remote code execution across research storage systems at institutions worldwide.
It wraps the Globus CLI for data transfer and the Globus Compute SDK for remote Python execution on HPC endpoints.
Prerequisites
Globus Connect Personal (optional): For transfers to/from your local machine
Quick Start
For MCP-enabled applications like Claude Desktop, Cursor, or Warp, add this server to your MCP configuration:
{
"mcpServers": {
"globus": {
"command": "uvx",
"args": ["git+https://github.com/purduercac/globus-mcp"]
}
}
}The uvx invocation handles installation automatically. On first use, the
server's globus_login() and compute_login() tools will walk users through
authentication via the browser.
Common Workflows
Find and Browse Endpoints
endpoint_search("purdue") # Returns list with UUIDs
ls("endpoint-uuid", "/path/to/dir")Transfer Data
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)Consent Recovery
Some Globus Connect Server v5 collections require endpoint-specific consent.
If an operation fails with ConsentRequired, the server returns a structured
error with the required scopes. Agents call session_consent(scopes) to open
the browser, then retry the original operation.
Remote Code Execution (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)When requirements is provided, the server automatically provisions a cached
virtual environment on the remote endpoint using uv.
Available Tools
Identity & Auth
whoami()— Show logged-in identityglobus_login()— Initiate Globus CLI OAuth loginsession_consent(scopes)— Grant endpoint-specific data access consent
Endpoints
endpoint_search(query)— Find Transfer endpoints by nameendpoint_show(endpoint_id)— Get endpoint detailsendpoint_local_id()— Get local GCP endpoint UUID
Filesystem
ls(endpoint_id, path)— List directory contentsstat(endpoint_id, path)— Get file/directory metadatamkdir(endpoint_id, path)— Create directoryrename(endpoint_id, source_path, dest_path)— Rename or moverm(endpoint_id, path)— Delete (synchronous)delete(endpoint_id, path)— Delete (async task)
Transfers
transfer(...)— Submit async transfer tasktransfer_batch(...)— Batch transfer (multiple file pairs)task_list()— List recent taskstask_show(task_id)— Get task detailstask_wait(task_id)— Wait for task completiontask_cancel(task_id)— Cancel a running tasktask_event_list(task_id)— Get task events
Compute (Remote Code Execution)
compute_login()— Authenticate with Globus Computecompute_endpoint_list()— List accessible Compute endpointscompute_endpoint_status(endpoint_id)— Check endpoint availabilitycompute_submit(...)— Submit a Python function for remote executioncompute_batch_submit(...)— Submit multiple functions as a batchcompute_status(task_ids)— Check task status (non-blocking)compute_result(task_id)— Get task result (optionally wait)
Development
uv sync
globus-mcpLicense
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/PurdueRCAC/globus-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server