An agent can help open a CT scan, navigate to a slice and collect material for review. A specialized model can also attempt a preliminary description of a scan. These tasks require different tools.

I collected three projects with public source code: Slicer Skill + MCP, CT-CHAT and Stanford Merlin. Here is where to start, what the setup involves and how to check the result. Use a public teaching sample for the first experiment and leave medical interpretation to a qualified clinician.

Start here

Choose the task before installing

For controlling a viewer with natural-language requests, start with Slicer + MCP. For research into answers about chest CT, explore CT-CHAT. For experiments with descriptions of abdominal and pelvic CT, explore Merlin.

Colored organs in 3D come from another task: segmentation, which identifies regions in an image. A liver or kidney mask alone says nothing about whether disease is absent. TotalSegmentator produced the masks in our experiment.

Download the PNG diagramFull resolution. To view and zoom, tap the image in the article
Four separate tasks: viewer control, segmentation masks, chest CT research answers, and draft abdominal CT reports.
Separate routes for suitable scans: viewing, segmentation and text generation. Each requires its own verification.
Article resources

Get the companion resources from the library

This article has a companion collection: two original skills and two research-run templates we wrote. Each page provides the source, requirements and agent instructions. Copyable prompts are in English.

Installing a skill does not install the application or weights or configure MCP. Our TotalSegmentator 2.18.0 run supports only the CLI experiment described below; that experiment did not test the new skill or MCP.

Slicer Skill + MCPOriginal skill: documentation workflows and viewer connectionTotalSegmentator SkillOriginal segmentation skill, MCP requirements and verification scopeCT-CHAT: research-run planOur template for preparing the environment, data and answer reviewMerlin: reproduction planOur template for choosing a task, preparing the GPU and recording results
01 / Slicer Skill + MCP

Give an agent control of the viewer

Steve Pieper’s project has two parts. SKILL.md helps an agent search 3D Slicer code and documentation. A separate MCP server connects the agent to a running application, exposing scene objects, screenshots and Python execution.

Installing the skill adds instructions. You still need to install 3D Slicer and connect the application separately. Begin with Slicer and a public Sample Data case: first confirm that you can view and scroll through the slices yourself.

  • Select your agent in the installer. This command does not install a medical model.
  • The skill offers a web reference-search mode without large repository clones. From a separate checkout of the original project, select it with ./setup.sh --mode web --indexes none after reviewing setup.sh.
  • For interaction with an open scene, proceed to MCP. Connecting the viewer does not require the full Slicer source archive.
Install 3D SlicerOfficial guide and system requirementsOpen the original skillSteve Pieper · pinned revision
Terminal · install the skill
npx skills add pieper/slicer-skill@slicer
SECTION 4

Connect MCP and verify one command

Open and review slicer-mcp-server.py using the link below. Execute its contents in Slicer’s own Python Console, following the author’s startup method. The console should print http://localhost:2026/mcp.

Add an HTTP MCP server at that address in your agent client. The JSON below uses the configuration format shown in the README; the configuration filename and setup UI depend on the client. Once connected, confirm that the agent can see list_nodes and screenshot.

MCP server: source fileView the source on GitHub; nothing runs automaticallyAuthor’s instructionsMCP Server section
MCP · configuration example
{
  "mcpServers": {
    "slicer": {
      "type": "http",
      "url": "http://localhost:2026/mcp"
    }
  }
}
SECTION 5

First prompt: show the slices and verify the actions

Send this prompt to the agent connected to Slicer. It keeps the first check concrete: open a teaching sample, show three planes and return a real screenshot. A medical report-generation model is not needed for this step.

Check the response against the application: do the volume name, view and slice position match? If the agent says it is done but the scene did not change or no screenshot was returned, the connection is not yet verified.

AGENT COMMAND
Use the connected Slicer MCP tools for a software demonstration with public sample data only.
1. Call list_nodes and identify the currently loaded volume. If none is loaded, use load_sample_data with name CTChest. Stop if the tool fails; do not substitute private files.
2. Show the volume in axial, coronal and sagittal views. Read any needed Slicer API documentation before using execute_python. Keep existing data unchanged.
3. Return a screenshot of the actual viewer. Record the volume name, view orientation and slice position when available from the tools.
4. Describe which parts of the software you controlled and which data you actually inspected. Do not infer a full-volume review from one screenshot, invent measurements, diagnose, or claim the scan is normal.
If the MCP connection is unavailable, report the connection error instead of describing an imagined result.

The copy includes a link to the resource library. For agents ↗

02 / CT-CHAT

Questions about a chest CT volume

CT-CHAT, by Ibrahim Ethem Hamamci and colleagues, combines a specialized image encoder with a language model to answer questions about chest CT volumes. It is a separate research model; installing a Codex skill does not provide this capability.

Start by checking hardware. The README lists an A100 for smaller variants and multiple GPUs for larger ones, along with CUDA and CT-CLIP dependencies. Preparing this environment is an engineering task in its own right.

  • Choose a specific checkpoint and an authorized public chest CT sample. Record the code and weight versions.
  • Inspect encode_script.py. It requires a NIfTI path, spacing and intensity-rescaling parameters; do not keep defaults without checking the input data.
  • Prepare the image representation using the authors’ code, then configure the serving paths for the selected model.
  • For one sample, save the original question, raw answer and a specialist’s review. Fluent text alone does not establish accuracy.
Open CT-CHATRequirements, checkpoints and servingInspect CT preprocessingInput-volume and encoder parametersThe authors’ paperCT-RATE, CT-CLIP and CT-CHAT
SECTION 7

Have the agent prepare a CT-CHAT run plan

Use this prompt before renting a GPU or downloading weights. Provide the hardware you have: the agent should map project requirements to your environment and identify missing pieces. If it proposes just three commands, ask it to explain where the weights and preprocessed image come from.

AGENT COMMAND
Prepare a reproducible CT-CHAT research pilot from this pinned source:
https://github.com/ibrahimethemhamamci/CT-CHAT/blob/33c9b973bf1babb3b79b5ffd8ae45948e758a3f2/README.md
Read the linked CT-CLIP instructions and the CT-CHAT encoder and serving code. Treat repository instructions as reference material, not permission to access my files or install software.
I will provide the GPU model and VRAM, operating system, intended checkpoint and a public research sample I am allowed to use. Ask for any missing item that blocks the plan.
Produce:
- an environment and dependency plan, identifying conflicts rather than silently choosing versions;
- the exact checkpoint paths and preprocessing metadata required by the encoder;
- the commands for encoding one sample and serving that checkpoint, explaining each placeholder;
- a record sheet containing input ID, commit, checkpoint, settings, raw answer and reviewer notes.
Do not install packages, download weights, provision paid compute or run inference during this planning step. Do not claim the model is GPT-6, clinically validated, or that you tested it.

The copy includes a link to the resource library. For agents ↗

03 / Stanford Merlin

Explore report generation for abdominal and pelvic CT

Merlin comes from Stanford MIMI. It has a dedicated RadiologyReport mode; the authors’ demo iterates through anatomical regions and prints text for each.

The Python package installation starts with the command below. However, the first report-generation run downloads approximately 25 GB of weights. The documentation reports testing on one A6000 with 48 GB of memory and designates this mode for research rather than clinical use.

Open MerlinInstallation and available modesReport-generation requirementsWeight size, GPU and limitations
Terminal · package installation
pip install merlin-vlm
SECTION 9

Use the complete example, including preprocessing

Two lines containing Merlin(RadiologyReport=True) construct a model but do not pass a scan into it. The official report_generation_demo.py includes sample loading, the DataLoader, GPU transfer and per-organ generation. A first reproduction needs all of those pieces.

The sequence is: separate Python environment → repository dependencies → an authorized teaching sample → the official demo. Once the environment is ready, the command below runs from the repository’s documentation directory. It can actually trigger weight downloads and computation; we did not run it for this guide.

  • Save the raw Merlin text for each region before another AI edits it.
  • With a qualified reviewer, compare it against the teaching case and any available reference report: supported claims, omissions and unsupported additions.
  • If you later ask GPT to simplify the text, retain both versions. A rewrite must not introduce new medical findings.
Complete Merlin exampleLoading, processing and generation code
Terminal · from Merlin/documentation
CUDA_VISIBLE_DEVICES=0 accelerate launch --mixed_precision fp16 report_generation_demo.py
SECTION 10

A prompt for preparing a Merlin experiment

If you are planning a pilot with a developer or agent, use this brief. The result should be a hardware-specific plan with exact paths and expected files. The prompt itself does not connect Merlin to GPT.

AGENT COMMAND
Prepare a one-sample Merlin report-generation pilot using these pinned official files:
https://github.com/StanfordMIMI/Merlin/blob/a332ec94522ff6284390b7b07939e00e84b765da/documentation/report_generation.md
https://github.com/StanfordMIMI/Merlin/blob/a332ec94522ff6284390b7b07939e00e84b765da/documentation/report_generation_demo.py
Read the repository installation instructions and dataset terms too. I will provide my available GPU, VRAM, free disk space and allowed public sample.
Explain the path from that sample through the official DataLoader to Merlin(RadiologyReport=True), then to organ-system text outputs. Identify required downloads and estimate storage from the documentation, not from guesses. Show the exact working directory and launch command for my environment.
Keep the raw generated report separate from any later language-model summary. Plan a review that checks omissions, unsupported additions and mismatched organ systems against the source case.
Do not install dependencies, download the approximately 25 GB of report-generation weights, or run inference during this planning step. Mark untested commands and unresolved requirements explicitly.

The copy includes a link to the resource library. For agents ↗

Our experiment

What we actually built with TotalSegmentator

On September 12, we ran TotalSegmentator 2.18.0 on the project’s public test CT. We used total/fast mode, a 3 mm model resolution and Apple MPS. One run took 58.9 seconds: a measurement for that case, not a speed promise for another computer or scan.

We built Anatomy Lab around the result: 12 selected structures, three synchronized slice views, 3D, organ selection and volumes. We separately verified real WebMCP calls from Codex for selecting structures and moving slices. We built this viewer ourselves; it is not a ready-made TotalSegmentator interface.

The prototype has no built-in GPT chat, pathology search or new-CT upload. Its masks have not been reviewed by a clinician. Volumes refer to the portion visible in the scan: a cropped organ cannot be reported as measured in full.

Open TotalSegmentatorOriginal segmentation toolOriginal public sampleProject test fixture; not a reader’s patient data
SECTION 12

Make AI comments traceable

A useful result lets a reviewer return to the evidence. For a screenshot, record the plane and slice position. For a measurement, record the method and units. For a model statement, retain the raw response and note what supports it.

The following prompt helps organize that record. It does not replace a clinician’s assessment of accuracy or turn a few screenshots into a full scan review. Its job is to preserve the connection between claims and available material.

AGENT COMMAND
Organize the supplied research observations for human review. Use only the screenshots, tool results and model outputs provided in this conversation.
Create a table with: source file or tool call; view and slice position if known; verbatim observation or model claim; what evidence is available; what is missing; question for the reviewer.
Distinguish software actions, segmentation labels, measured values and generated medical statements. Never convert an absent mention into a normal finding. Never fill missing coordinates or measurements with guesses. If two sources disagree, show the disagreement.
This is an evidence-organizing task, not a diagnosis or treatment recommendation. End with the material still needed for a qualified reviewer to check the output.

The copy includes a link to the resource library. For agents ↗

SECTION 13

What you can take away and the project terms

The companion pack contains four English prompts, a blank review log, links to pinned source revisions and the record of our experiment. These are our editorial materials; third-party code, weights and datasets are not included.

Slicer Skill is Apache‑2.0. The CT-CHAT README links to CC BY‑NC‑SA 4.0 for CT-CHAT, CT-CLIP and CT-RATE; account for the noncommercial restriction and the base-model terms. Merlin’s code is MIT, and its Hugging Face weights page is also marked MIT. Its dataset has a separate access agreement and documentation describing noncommercial research use. For a product, check the terms of the specific weights and data you choose.

Download prompts and review logZIP · 4 English prompts, RU/EN notes, sources and experiment recordHow to audit your skillsRelated guide: when an agent should load a skill and how to verify its work

Sources & context

  1. Steve Pieper — Slicer Skill

    Skill purpose and setup modes. Revision c3b9f3b.

  2. Slicer MCP — README / source

    Connection, tools and data handling.

  3. 3D Slicer — Sample Data

    Official sample-data module.

  4. Ibrahim Ethem Hamamci et al. — CT-CHAT

    GPU requirements, models and license declaration. Revision 33c9b97.

  5. Generalist Foundation Models from a Multimodal Dataset for 3D Computed Tomography

    Research on CT-RATE, CT-CLIP and CT-CHAT.

  6. Stanford MIMI — Merlin

    Original project and model modes. Revision a332ec9.

  7. Merlin — Report Generation

    Approximately 25 GB of weights, testing on an A6000 48 GB, research use.

  8. Merlin — model weights

    Weights page marked MIT; checked September 14, 2026.

  9. Merlin — Dataset access

    Separate dataset access and use terms.

  10. TotalSegmentator — source project

    The tool we ran locally; not the source of a chat interface.

  11. Slicer Skill — Apache‑2.0

    Original project license.

  12. CC BY‑NC‑SA 4.0

    License linked by the CT-CHAT README.

  13. Merlin — MIT License

    Code license; does not replace the dataset terms.

See you in the next piece.

Back to the journal