Your First Analysis¶
This tutorial walks you through connecting an MCP-aware AI assistant to the MESA prototype and running an end-to-end metadata-driven discovery workflow.
Prerequisites¶
- A CyVerse account with at least one iRODS collection you can read.
- An MCP-aware AI assistant. We'll use Claude Desktop in this tutorial; the same steps work for Claude Code, Cursor, Cline, and Continue.
1. Install an MCP client¶
If you don't already have one:
Download from claude.ai/download and sign in. Your config file lives at:
- macOS —
~/Library/Application Support/Claude/claude_desktop_config.json - Windows —
%APPDATA%\Claude\claude_desktop_config.json - Linux —
~/.config/Claude/claude_desktop_config.json
Already installed if you are reading this. Configure MCP servers via:
Both support MCP through their respective settings panels. See the MCP clients guide.
2. Connect to the hosted mesa-mcp service¶
Add this entry to your client's MCP config (Claude Desktop shown):
{
"mcpServers": {
"mesa": {
"url": "https://mesa-mcp.cis240692.projects.jetstream-cloud.org/sse",
"transport": "sse"
}
}
}
Restart your client. On first use, you will be prompted to sign in through CyVerse Keycloak; the bearer token is cached for the session.
3. Run a discovery workflow¶
Try the following prompt:
I'm studying soil microbial diversity. Can you list the public collections under
/iplant/home/shared/iplantcollaborative/datasetsthat have ENVO biome annotations, then show me the AVU history for the first one?
Behind the scenes your AI assistant will:
- Call
ds_list_directory(/iplant/home/shared/iplantcollaborative/datasets)— provided bymesa-mcp. - Call
ds_search_files_by_avuwith the ENVO ontology biome predicate, scoped to the listing returned in step 1. - Call
mesa_ducklake_get_avu_historyfor the matching collection — provided bymesa-ducklake, which mirrors AVU changes into a time-travelable DuckLake catalog.
The assistant will then summarize results in natural language. Try follow-up prompts like:
- "Add the ENVO:00000446 (sandy desert) biome AVU to file XYZ.csv."
- "What did this collection's metadata look like on 2026-09-01?"
- "Launch a Jupyter VICE app on this collection so I can run scikit-learn on it."
The last prompt invokes formation-mcp
or terrain-mcp to spin up a
Discovery Environment app on the data.
4. Where to go next¶
- Add your own data — see Connecting to CyVerse.
- Use ontologies effectively — see Metadata with Ontologies.
- Run MESA locally — see MCP clients and
mesa-mcplocal install. - Get stuck? — see Troubleshooting and the community channels.