Quickstart¶
1. Prerequisites¶
The installer checks for these and helps you install the missing ones:
| Tool | Needed for | Notes |
|---|---|---|
git, curl |
cloning + downloading | usually preinstalled |
| an agent client | the integration target | any of the four below — the installer auto-detects the ones present and refuses to run if it finds none |
uv |
Python servers | auto-installed from astral.sh/uv if missing |
| Go ≥ 1.25 | the Go server | only needed for irods; pass --no-go to skip it |
Supported agent clients:
| Client | Detected via | Integration page |
|---|---|---|
| Claude Code | claude on PATH |
Claude Code |
| Codex CLI | codex on PATH |
Codex CLI |
| Antigravity | agy on PATH, the IDE app, or a ~/.gemini config dir |
Antigravity |
| OpenCode | opencode on PATH |
OpenCode |
Other clients1 can reuse the manual install steps.
Windows users
Run everything inside WSL (Ubuntu or similar). The installer detects WSL and
treats it as Linux. Native PowerShell / cmd are not supported.
2. Install¶
This will:
- Detect your platform (Linux / macOS / WSL).
- Clone the four repos from
idss-mesainto~/.mesa/repos/. - Create a Python venv at
~/.mesa/.venvand installmesa-ducklake+mesa-mcp+mesa-anyjev. - Build the Go server (
irods-mcp-server) into~/.mesa/bin/. - Register
mesa-mcpandirodsas local servers, and CyVerse's hosted Formation asformation, with every detected client — Claude Code at user scope, Codex globally, Antigravity and OpenCode via their config files. Restrict targets with--for, e.g.bash -s -- --for claude,codex.
3. Verify¶
You should see mesa-mcp, irods, and formation listed; formation shows as needing
authentication until you sign in (step 4). Then, in your agent session, try:
Ping the CyVerse Data Store and list what's in the shared directory.
That exercises mesa-mcp's ds_ping and ds_list_directory tools against the public
data.cyverse.org zone — no login needed.
4. Sign in to Formation¶
formation lets your agent launch Discovery Environment apps and manage analyses. It is
hosted by CyVerse and needs a one-time sign-in with your
CyVerse account in each client:
Run /mcp inside Claude Code, pick formation, and choose Authenticate — or
run claude mcp login formation from a shell.
On a remote machine add --no-browser (Codex 0.156 or newer) and paste back the
address your browser lands on.
Run /mcp in agy, or refresh the IDE's MCP servers panel, and sign in to
formation. The MESA team has not tested Antigravity's sign-in to Formation; if it
fails, use another client.
The sign-in callbacks CyVerse documents are claude.ai's and Claude Code's; if another client's
sign-in page says Invalid parameter: redirect_uri, see
Troubleshooting.
Then try: "Which Discovery Environment apps can I run for JupyterLab?"
5. (Optional) Authenticate the Data Store servers¶
Anonymous access is read-only on public collections. To let mesa-mcp act as yourself,
re-run with your CyVerse credentials:
curl -fsSL https://raw.githubusercontent.com/idss-mesa/docs/main/install.sh \
| CYVERSE_USERNAME=you CYVERSE_PASSWORD='••••••' bash
The credentials are threaded into the mesa-mcp registration of every client the
installer configures. See Credentials for all the options (env vars,
~/.irods, per-server config).
Updating & uninstalling¶
Re-running the one-liner pulls the latest code and rebuilds — it is safe to run again,
keeps your Formation sign-ins, and replaces the local formation server older installs
created with the hosted one.
Uninstalling removes the three servers from every detected client and (after
confirmation) deletes ~/.mesa:
curl -fsSL https://raw.githubusercontent.com/idss-mesa/docs/main/install.sh | bash -s -- --uninstall
-
OpenClaw support is deferred until its MCP interface can be verified. ↩
Machine-readable versions of this page: Markdown twin · raw source on GitHub · llms.txt · llms-full.txt (whole site). See For AI agents.