> For the complete documentation index, see [llms.txt](https://docs.rhinofcp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rhinofcp.com/using-the-rhino-mcp-server/queries-execution-and-monitoring.md).

# Queries, Execution & Monitoring

This article describes what you can do in the **Queries**, **Execution**, and **Monitoring** capability areas, with example prompts for each action.

{% hint style="info" %}
The underlying tool names and implementation details in this section are subject to change as the MCP server evolves. You do not need to know the tool names to use the MCP server — simply describe what you want to do in natural language and your AI assistant will handle the rest.
{% endhint %}

### Queries

The MCP server supports a range of federated analytics methods. All computation happens locally at each participating site — only the aggregated results are returned to you. You never see raw patient-level data.

#### Descriptive statistics

Compute summary statistics such as means, counts, and standard deviations across your federated dataset.

* *"What is the mean age of patients in the oncology dataset?"*
* *"Give me the count and gender distribution for the trial cohort."*
* *"Calculate the average BMI and standard deviation across all sites."*

#### Statistical Overview

Generate a publication-ready Statistical Overview summarising patient demographics and key variables — the standard baseline characteristics table used in clinical research papers.

* *"Create a baseline characteristics table for my trial dataset, stratified by treatment arm."*

#### Kaplan-Meier survival analysis

Run federated Kaplan-Meier survival curves with optional stratification and confidence intervals.

* *"Run a Kaplan-Meier analysis on the oncology dataset using survival\_days and event\_occurred."*
* *"Plot survival curves for the trial dataset stratified by treatment arm."*
* *"What is the median survival time in the control group?"*

#### Cox Proportional Hazards regression

Run federated Cox PH regression to estimate hazard ratios for one or more covariates.

* *"Run a Cox regression on the trial dataset with age, BMI, and comorbidity score as covariates."*
* *"What is the hazard ratio for the treatment variable after adjusting for age and gender?"*
* *"Run a federated Cox PH analysis across all three sites."*

#### Chi-square test

Test for statistical independence between categorical variables across the federated dataset.

* *"Is there a significant association between treatment group and readmission status?"*
* *"Run a chi-square test between gender and diagnosis category in the admissions dataset."*

#### SQL queries

Run federated SQL queries against your dataset. Results are aggregated before being returned — no raw rows are exposed.

* *"How many patients in the dataset are over 65 and have a diabetes diagnosis?"*
* *"What is the distribution of admission types across all sites?"*

### Execution

For more advanced analyses, you can upload custom Python code objects and run them federatedly across all participating sites. You can also launch federated machine learning training jobs using NVFlare.

#### Managing and running code objects

List existing code objects in a project, upload new ones, execute them, and remove ones you no longer need.

* *"What code objects are available in the oncology project?"*
* *"Upload this Python script as a new code object called 'ROC Analysis' in the trial project."*
* *"Run the 'ROC Analysis' code object against the trial dataset."*
* *"Delete the 'old\_preprocessing' code object."*

#### Federated training

Launch a federated machine learning training job using NVFlare. The model trains locally at each site — only model weights are aggregated, never raw data.

* *"Start a federated training job for the chest X-ray classifier using FedAvg across all sites."*
* *"Launch an NVFlare training run with 20 rounds using the config I uploaded."*

### Monitoring

Once a job is running, you can check its progress, retrieve logs, and manage its lifecycle.

#### Checking job status

* *"What is the status of the Kaplan-Meier run I just started?"*
* *"Is the training job still running?"*
* *"Show me the most recent runs in the oncology project."*
* *"Which jobs completed successfully this week?"*

#### Retrieving logs

* *"Show me the logs for the last code execution run."*
* *"Were there any errors in the training job?"*

#### Halting and cleaning up

You can stop a running job at any time. Halting is irreversible — partial results from sites that had already completed are preserved, but the job cannot be resumed.

* *"Stop the training job that's currently running."*
* *"Halt the code execution run."*
* *"Delete the run record for the completed ROC analysis."*
