Use the explorer with AI agents
The explorer is agent-ready. Its pages draw their tables with JavaScript, which most AI agents and scripts do not run, so the same content is also published as text and JSON. A read-only MCP server lets assistants such as Claude query the catalogue directly, and coding agents working on the repository have their own instructions.
MCP server
10 read-only toolsSearch resources, tissue sections and TCGA patients from Claude or any MCP client, with counts defined as on these pages.llms.txt
Agent guideWhat the site is, what to read before using any count, and links to every text version.Text and JSON
Markdown pages and per-cancer dataThe TCGA, spatial and cancer pages as Markdown, one JSON file per cancer page, a checksummed data index, schemas and a glossary.AGENTS.md
For coding agentsCommands, generated files and rules for agents working on the repository.MCP server
The Model Context Protocol lets an AI assistant call tools on a server. The explorer's server answers from the same metadata as these pages. It computes counts the way the pages do, for example counting each patient once and never adding counts across studies, and each answer states the release and the caveats that apply to it. It only reads: it cannot change the catalogue, and it does not download images or expression data.
| Tool | What it returns |
|---|---|
catalogue_overview | Release, the points to read before using any count, headline figures and every cancer page. Assistants call it first. |
get_cancer_type | One cancer page: TCGA panel and availability counts, normal reference, spatial resources at each image level, located sections by stratum, other resources and gaps. |
search_resources | Studies and resources by text, cancer, data layer, status, access, technique or open dependency from the public-route review. |
get_resource | The full record of one study or resource, with its located sections by tier and image level. |
search_spatial_sections | Located tissue sections by cancer, resource, image level, stratum, site, treatment, tier or technique, with totals of sections, known patients and resources. |
get_spatial_section | One tissue section with its links, source wording and reported clinical fields. |
get_tcga_cohort | One TCGA analysis cohort: role, contributing projects, counts, normal reference, subsets, strata and annotation counts. |
search_tcga_patients | TCGA patients by cohort, project, selection, retained assays, normal reference, screen outcome, subset, histology or glioma group, with totals. |
get_tcga_patient | One patient: assay states, screen decision with reason codes, cohort, subsets, annotations and flagged aliquots. |
explain_term | Definitions of the terms used for counts and curation, and the meaning of any code in the other answers. |
Questions it can answer: “Which BRCA patients in the selected panel have both RNA-seq and methylation and a normal reference?”, “Which untreated primary PDAC sections have located H&E and spatial RNA?”, “How many glioma patients are IDH-mutant and 1p/19q-codeleted?”
Setup
The server runs on your own computer and needs uv, which installs Python and the MCP library on first use. Installed from GitHub, it reads this site and checks every file against the checksums in the data index.
Claude Code:
claude mcp add histology-explorer -- uvx --from "git+https://github.com/IARCbioinfo/histology-multiomics-explorer#subdirectory=mcp" histology-multiomics-explorer-mcp
Claude Desktop, in claude_desktop_config.json (use the full path to uvx if the app cannot find it):
{
"mcpServers": {
"histology-explorer": {
"command": "uvx",
"args": ["--from", "git+https://github.com/IARCbioinfo/histology-multiomics-explorer#subdirectory=mcp", "histology-multiomics-explorer-mcp"]
}
}
}
Other MCP clients start it the same way, as a local stdio server. From a copy of the repository, uv run --directory mcp histology-multiomics-explorer-mcp reads that copy instead, and --source points the server at another copy or URL. No hosted server is offered.
Text and JSON files
- llms.txt: the agent guide, following the llms.txt convention.
- TCGA reference, Spatial studies and Cancer types as Markdown, with one Markdown page per cancer type.
- One JSON file per cancer page, such as data/by-cancer/BRCA.json, with its TCGA counts, spatial resources, located sections, other resources and evidence.
- data/index.json: every data file with its description, record count, size, SHA-256 checksum and JSON Schema.
- data/glossary.json: definitions of the terms used for counts and curation, and every code shown on the site.
- data/README.md: the meaning of every field.
These files are generated from the curated data with each release, and the release checks fail if any of them is out of date.
Coding agents
AGENTS.md, at the root of the repository, tells coding agents such as Claude Code or Codex how the repository is organised, which files are generated, which commands to run and which rules to keep, for example public metadata only and no change to approved counts without a scientific decision.
Limits
- Answers describe the curated metadata of the current release, not the underlying images or molecular data, which stay at their original repositories. Listing a dataset does not mean access has been granted.
- Counts keep the meaning they have on these pages: the selected analysis panel and broader availability are reported separately, spatial studies involve patients other than those in TCGA, and study-reported counts are never added across studies.
- An assistant can still misread an answer. Check important figures against the pages or the data files before using them.