---
canonical_url: "https://docs.composio.dev/toolkits/pophive_mcp"
markdown_url: "https://docs.composio.dev/toolkits/pophive_mcp.md"
product: "platform"
version: null
last_updated: null
---

# PopHIVE MCP

Yale's harmonized US public health surveillance data, covering disease, vaccination, and health outcome trends.

- **Category:** analytics
- **Auth:** NO_AUTH
- **Composio-managed OAuth available?** N/A
- **Tools:** 7
- **Triggers:** 0
- **Slug:** `POPHIVE_MCP`
- **Version:** 20260913_00

## Tools

### Compare

**Slug:** `POPHIVE_MCP_COMPARE`

Side-by-side comparison of one disease across 2–5 US places, or
agreement between surveillance sources in one place. For
straightforward single-slice questions only (e.g. "is RSV worse in CT
than NY?", "do wastewater and ED visits agree on COVID?"). If the
answer needs anything beyond reading one precomputed evidence block,
use get_data.

Examples: "Is RSV worse in CT than NY?", "Compare diabetes in Texas vs
California", "Do wastewater and ED visits agree on COVID?"

Not for: one place's status (get_current_status), ranking many places
(get_map).

Call example: compare(disease='covid', geographies=['Texas', 'Florida'])

    Scope: US-only aggregate surveillance; relay the precomputed evidence, never re-derive numbers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `period` | string | No | "4w", "8w", "12w" (default), "season", "1y", "all". |
| `source` | string | No | In geographies mode, pin one source by name; omit for the preferred source. Errors list valid names. |
| `disease` | string | Yes | Any PopHIVE topic or alias (e.g. "flu", "covid", "measles"). get_data() lists all topics. |
| `sources` | string | No | List of 2–5 source names to correlate within one geography. |
| `geography` | string | No | In sources mode, the place to correlate within — state, county, or city (same grammar as get_trend); omit for national. |
| `geographies` | string | No | List of 2–5 geographies to compare side by side. If "US" (national) is one of them, every other geography gets a precomputed vs-national column (% above/below, or percentage-points for percent measures) so you can quote "WV is 85% above national" directly. |
| `include_chart` | boolean | No |  |
| `include_query` | boolean | No | Include a runnable pandas snippet + column schema. |

### Get coverage

**Slug:** `POPHIVE_MCP_GET_COVERAGE`

US childhood vaccination coverage — the rate for one vaccine in one
place and whether it meets targets. For straightforward single-slice
questions only (e.g. "kindergarten MMR rate in Idaho?", "is Texas
below 95% MMR?"). If the answer needs anything beyond reading one
precomputed evidence block, use get_data.

Examples: "Kindergarten MMR rate in Idaho?", "Is Texas below 95% MMR?",
"Polio vaccination rate in Connecticut."

Not for: disease activity (get_current_status), trends (get_trend),
coverage rankings across states (get_map with disease='mmr').

Call example: get_coverage(vaccine='mmr', geography='Idaho')

    Scope: US-only aggregate surveillance; relay the precomputed evidence, never re-derive numbers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `vaccine` | string | No | One of: combined7, dtap, hepa, hepb, hib, mmr, pcv, polio, rotavirus, vaccine_exemptions, varicella. Aliases like "measles" or "chickenpox" also work. Default "mmr". |
| `geo_level` | string | No | "state" (default) or "county" (MMR only). |
| `geography` | string | No | A state, county, or city — e.g. "ID", "New Haven County, CT", "Houston" (same grammar as get_trend); omit for national. |
| `include_chart` | boolean | No |  |
| `include_query` | boolean | No | Include a runnable pandas snippet + column schema. |

### Get current status

**Slug:** `POPHIVE_MCP_GET_CURRENT_STATUS`

Current-status verdict for one disease in one US place — level,
direction, and risk right now. For straightforward single-slice
questions only (e.g. "is flu rising in Texas?", "how bad is COVID
nationally?"). If the answer needs anything beyond reading one
precomputed evidence block, use get_data.

Examples: "Is RSV rising in Connecticut?", "How bad is flu nationally?",
"What is the risk of measles in Texas?", "Current COVID situation in
New York."

Not for: trends over time (get_trend), ranking geographies (get_map),
vaccination coverage (get_coverage).

Call example: get_current_status(disease='rsv', geography='Connecticut')

    Scope: US-only aggregate surveillance; relay the precomputed evidence, never re-derive numbers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `source` | string | No | Pin the headline to one source by name — e.g. "hospitalizations" when the user asks about hospital admissions rather than the default ED-visit signal. Omit for the preferred signal; errors list valid names. |
| `disease` | string | Yes | Any PopHIVE topic or alias (e.g. "flu", "covid", "measles"). get_data() lists all topics. |
| `geography` | string | No | A state, county, or city — e.g. "CT", "New Haven County, CT", "Houston" (same grammar as get_trend); omit for national. |
| `include_chart` | boolean | No | Attach a PNG of all sources' recent trends. |
| `include_query` | boolean | No | Include a runnable pandas snippet + column schema. |

### Get data

**Slug:** `POPHIVE_MCP_GET_DATA`

Data catalog and raw-data gateway. The six specialized tools answer
single-slice questions — current status, trend, map/ranking, A-vs-B
compare, coverage — with server-verified evidence; try them first,
escalating here costs one call. Use get_data when evidence can't carry
the answer: multi-stratum gaps, history beyond the served window,
complete lists, cross-dataset joins, custom math. Flow: (1) catalog,
(2) disease='about' for the guide, (3) view schema + data_url,
(4) download and compute — results are yours but carry the caveats and
aren't server-verified. include_query=true returns a runnable pandas
snippet.

Topics: annual_wellness_visit, antimicrobial_resistance, breast_cancer_screening, campylobacter, cardiovascular_screening, cervical_cancer_screening, chlamydia_screening, colorectal_cancer_screening, combined7, community_health, copd, covid19, depression_screening, diabetes, diabetes_screening, diarrhea, dtap, enteric_disease, firearm_injury, flu_vaccine_adult, haemophilus_influenzae, healthcare_access, heat_illness, hepa, hepb, hib, infant_mortality, influenza, injury_deaths, low_birth_weight, maternal_health, maternal_mortality, measles, mmr, obesity, opioid_overdose, opioid_use_disorder, pcv, pelvic_exam, pertussis, pneumococcal_vaccine_adult, polio, prostate_cancer_screening, rotavirus, rsv, salmonella, shigella, stec, strep, teen_births, vaccine_exemptions, varicella, youth_wellbeing.

Examples: "What does PopHIVE track?", "Do you have Lyme disease data?",
"Vaccination gaps across insurance types", "Raw RSV data for
Connecticut."

Not for: 'is flu rising in Texas?' → get_current_status; 'rank states
by COVID wastewater' → get_map; 'is RSV worse in CT than NY?' → compare.

Call example: get_data(disease='rsv', view='overall_trend')

    Scope: US-only aggregate surveillance; relay the precomputed evidence, never re-derive numbers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `view` | string | No | Optional. e.g. "overall_trend", "geography_map", "trends_by_age". |
| `source` | string | No | Optional. With no disease, returns the inverse lookup — every disease that source covers ("What does Epic Cosmos track?"). Friendly names accepted ("wastewater", "google"). |
| `disease` | string | No | Optional. If omitted, returns the full catalog inventory. Pass "about" for the long-form reference document, "archive" for the index of upstream source files (longer history, unserved measures; download-and-compute only; add view='<category>' for one group's files). |
| `geography` | string | No | Optional, only with disease+view. A single geography ("CT"), a list (["CT", "NY", "MA"]), or "all states" for one latest-period row per state. |
| `include_query` | boolean | No | Include a runnable pandas snippet + column schema. |

### Get map

**Slug:** `POPHIVE_MCP_GET_MAP`

Geographic ranking — which US states or counties are highest or lowest
on one disease, by current level or recent change. For straightforward
single-slice questions only (e.g. "which counties have the highest
RSV?", "how does Texas rank on flu?"). If the answer needs anything
beyond reading one precomputed evidence block, use get_data.

Examples: "What parts of the US have the highest rates of flu right
now?", "How do diabetes rates differ across the US by county?", "How
does Texas rank?", "Which states are improving fastest on opioid
overdose?"

Not for: trends over time (get_trend), one place's status
(get_current_status).

Call example: get_map(disease='flu', geo_level='state', top_n=10)

    Scope: US-only aggregate surveillance; relay the precomputed evidence, never re-derive numbers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `top_n` | integer | No | 1–20. Default 10. |
| `region` | string | No | Scope the ranking to part of the country — a region name ("Northeast", "Midwest", "South", "West", "New England", "Pacific Northwest", ...) or an explicit list of states (["TX", "OK", "NM"]). County rankings keep only counties in those states. Ranks and medians are then within-region. |
| `source` | string | No | Pin one source by name; omit for the preferred source. Errors list valid names. |
| `disease` | string | Yes | Any PopHIVE topic or alias (e.g. "flu", "covid", "mmr"). get_data() lists all topics. |
| `rank_by` | string ("value" | "change") | No | "value" (default) ranks by current level. "change" ranks by recent trend direction/magnitude — direction="lowest" then means fastest-declining (most improving for incidence measures), "highest" means fastest-rising. Each row carries from_value → to_value + direction so you can quote "WV: 51.4→45.5 (declining)". |
| `direction` | string | No | "highest" (default) or "lowest". |
| `geo_level` | string | No | "state" (default) or "county". |
| `highlight` | string | No | Optional geography to locate in the ranking. The answer states its exact rank, value, and quartile so you never have to infer it from the top-N alone. |
| `include_chart` | boolean | No | Attach a PNG bar chart. |
| `include_query` | boolean | No | Include a runnable pandas snippet + column schema. |

### Get overview

**Slug:** `POPHIVE_MCP_GET_OVERVIEW`

Cross-disease situation report for one US state or the nation — what's
elevated, rising, declining, or stale across every PopHIVE topic. For
straightforward single-slice questions only (e.g. "anything elevated
in Connecticut?", "public health sitrep for Florida?"). If the answer
needs anything beyond reading one precomputed evidence block, use
get_data.

Examples: "What's going on health-wise in Texas?", "Public health sitrep
for Florida", "Anything elevated in Connecticut?"

Not for: a single disease (get_current_status), time series (get_trend),
ranking states by one disease (get_map).

Call example: get_overview(geography='Texas')

    Scope: US-only aggregate surveillance; relay the precomputed evidence, never re-derive numbers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `diseases` | string | No | Optional list of topics to scope to; default all. get_data() lists topics. |
| `geography` | string | No | A US state ("Connecticut", "CT"), DC, or a territory (PR, GU, VI, AS, MP); omit for national. No counties (most topics are state-level). |
| `include_chart` | boolean | No | Attach a sparkline grid (one mini chart per topic). |

### Get trend

**Slug:** `POPHIVE_MCP_GET_TREND`

Trend over time for one disease in one US place — direction, peak, and
change, optionally stratified or pinned to one source. For
straightforward single-slice questions only (e.g. "how has RSV changed
since January?", "flu trend in Ohio"). If the answer needs anything
beyond reading one precomputed evidence block, use get_data.

Examples: "What are the latest trends in COVID?", "How has flu changed
since January?", "Diabetes trend in Ohio over 5 years."

season_over_season evidence compares the current season to the
immediately prior season only; for older seasons use get_data.

Not for: a current-status verdict (get_current_status), ranking
geographies (get_map), vaccination coverage (get_coverage).

Call example: get_trend(disease='flu', geography='US', period='12w')

    Scope: US-only aggregate surveillance; relay the precomputed evidence, never re-derive numbers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `period` | string | No | "1w", "2w", "4w", "8w", "12w" (default), "season", "1y", "2y", "3y", "5y", or "all". Use "1w" for week-over-week change. Periods shorter than the dataset's cadence are rejected; periods longer than available history echo the actual span in ``resolved.period_actual``. |
| `source` | string | No | Pin to one upstream signal. Friendly names accepted ("Epic Cosmos", "wastewater", "hospitalizations"). When omitted, uses PopHIVE's preferred trend signal for this disease and cross-validates against the others — the answer states which signal the series is from and whether the others agree. Never describe a single signal as "the" number for the disease. |
| `disease` | string | Yes | Any PopHIVE topic or alias (e.g. "flu", "covid", "measles"). get_data() lists all topics. |
| `stratum` | string | No | With stratify_by, pin the series to ONE value of that dimension instead of breaking out all of them — e.g. stratify_by="age", stratum="0-4 years" for a pediatric series, or stratify_by="insurance", stratum="Medicaid". Case-insensitive; whole-word matches and common aliases (AIAN, Pacific Islander) accepted. A value carried by a sibling signal of the same topic is routed to it automatically. Errors list the valid values. |
| `baseline` | string | No | Anchor the Change block to an explicit baseline instead of the default recent window — a 4-digit year ("2020") or ISO date ("2020-03-01"). Answers "how has X changed since 2020?" with from_value at the baseline and to_value at the latest observation. |
| `geography` | string | No | a US state ("Connecticut", "CT"), DC, a US territory (PR, GU, VI, AS, MP), a county ("New Haven County, CT", "09009"), a major US city ("Houston"), or "US" for national. Default "US". |
| `stratify_by` | string | No | Break out by a stratification dimension (one of "age", "alph_type", "antibiotic", "antimicrobial", "antimicrobial_class", "cause_of_death", "emm_type", "ethnicity", "forecast_day", "genus", "insurance", "measure", "onset", "outcome_name", "pathogen", "pattern", "race", "race_ethnicity", "serotype", "sex", "species_serotype", "syndrome", "urban", "vaccine", "vax", "vax_group" — varies by disease; get_data(disease=X) lists which apply). |
| `include_chart` | boolean | No | Attach a PNG line chart. |
| `include_query` | boolean | No | Include a runnable pandas snippet + column schema. |
