MTBBench is a benchmark designed to evaluate the reasoning capabilities of multimodal large language models (LLMs) in complex clinical decision-making scenarios. It focuses on two core challenges in oncology: multimodal integration (e.g., pathology, genomics, radiology) and longitudinal reasoning across patient timelines. The benchmark includes agentic tasks requiring interaction with external foundation model-based tools and datasets.
To install all required dependencies, simply run:
bash setup.sh
Note: If you want to evaluate the agent on IHC data, you will need to additionally clone and install TRIDENT from source.
Before running the benchmark, configure your paths and credentials in:
neurips25/configs/base.yaml
The config file specifies paths to datasets, tool credentials, and output directories. Below, we provide guidance for acquiring the necessary external datasets.
The HANCOCK dataset contains SVS-format tissue micro arrays (TMAs). To prepare it:
The MSK-CHORD dataset is available on cBioPortal. To use it:
base.yaml.To enable the DrugBank tool for longitudinal drug lookups:
We provide full logs of agent interactions for all models evaluated in the paper:
agent_logs_hancock/: Multimodal evaluation logs (HANCOCK)agent_logs_msk/: Longitudinal evaluation logs (MSK-CHORD)Each log includes all agent–LLM conversations, intermediate reasoning steps, and generated answers.
Make sure you have:
base.yamlTo run an evaluation with Qwen/Qwen2.5-VL-7B-Instruct on the HANCOCK dataset:
python -m neurips25.benchmarks.run_agent_benchmark \
--doctor_model "Qwen/Qwen2.5-VL-7B-Instruct" \
--output_dir "./agent_logs_hancock/" \
--dataset "hancock"
$ claude mcp add mtbbench \
-- python -m otcore.mcp_server <graph>