Skip to content

Model Context Protocol server implementation to manage Globus endpoints and transfers

License

Notifications You must be signed in to change notification settings

PurdueRCAC/globus-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Globus MCP Server

Globus MCP Server: Federated data transfer for AI agents.

This MCP server wraps the Globus CLI to enable AI agents to perform data transfers across heterogeneous storage systems at research institutions, national labs, and personal machines via the Globus infrastructure.

Prerequisites

  1. Globus CLI: Install with pip install globus-cli or pipx install globus-cli
  2. Globus Login: Run globus login to authenticate (opens browser for OAuth)
  3. Globus Connect Personal (optional): For transfers to/from your local machine

Quick Start

For MCP-enabled desktop 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"]
    }
  }
}

Common Workflows

Find an Endpoint

endpoint_search("purdue")  # Returns list with UUIDs
endpoint_show("uuid-here")  # Get details

Browse Files

ls("endpoint-uuid", "/path/to/dir")
stat("endpoint-uuid", "/path/to/file")

Transfer Data

# Submit async transfer
task_id = transfer(
    source_endpoint="src-uuid",
    source_path="/data/file.tar",
    dest_endpoint="dst-uuid", 
    dest_path="/scratch/file.tar"
)

# Wait for completion
task_wait(task_id)

Available Tools

Identity

  • whoami() - Show logged-in identity
  • globus_login() - Initiate Globus login flow

Endpoints

  • endpoint_search(query) - Find endpoints by name
  • endpoint_show(endpoint_id) - Get endpoint details
  • endpoint_local_id() - Get local GCP endpoint UUID

Filesystem

  • ls(endpoint_id, path) - List directory contents
  • stat(endpoint_id, path) - Get file/directory status
  • mkdir(endpoint_id, path) - Create directory

Transfers

  • transfer(...) - Submit transfer task
  • task_list() - List recent tasks
  • task_show(task_id) - Get task details
  • task_wait(task_id) - Wait for task completion

Development

uv sync
globus-mcp

License

MIT

About

Model Context Protocol server implementation to manage Globus endpoints and transfers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages