CDC MCP Server
Provides access to 73 CDC public health datasets covering disease surveillance, vaccination tracking, behavioral risk factors, environmental health, and outbreak detection across 18 surveillance systems through the Socrata Open Data API.
README
Unofficial CDC MCP Server
A comprehensive MCP (Model Context Protocol) server providing access to CDC (Centers for Disease Control and Prevention) public health data through the Socrata Open Data API (SODA).
Total Datasets: 73 (no authentication required) Surveillance Systems: 18 different CDC programs Health Measures: 100+ indicators across chronic disease, behavioral risk, environmental health, outbreak detection, vaccination, and drug overdose
Features
- TypeScript Implementation: Built with @modelcontextprotocol/sdk
- Comprehensive Coverage: 73 public datasets across 18 surveillance systems
- Unified Interface: Single tool with 18 specialized methods
- Real-Time Surveillance: NNDSS outbreak detection for 50+ notifiable diseases
- COVID-19 Vaccination: County-level tracking with equity metrics (SVI, urban/rural)
- Drug Overdose Crisis: Real-time monitoring with drug-specific tracking (fentanyl, opioids)
- Rate Limiting: Built-in rate limiting (500ms delay) to respect API quotas
- App Token Support: Enhanced rate limits (1,000 requests/hour) with valid app token
- Flexible Querying: Support for filtering, pagination, and custom SoQL queries
- 100% Public Data: All datasets accessible without authentication
Available Data Sources
Dataset Coverage (73 Total)
| Category | Datasets | Key Features |
|---|---|---|
| PLACES | 5 | County, place, tract, ZCTA (40+ health measures) |
| BRFSS | 7 | Comprehensive 2011-present + historical 1995-2010 |
| YRBSS | 2 | Youth health surveillance (substance use, mental health) |
| Respiratory | 2 | Combined RSV/COVID/Flu + RSV-specific |
| Vaccination | 5 | Teen, pregnant, kindergarten, flu all ages, RSV |
| Vital Statistics | 5 | Birth, death, maternal, infant statistics |
| Environmental | 2 | Air quality, water fluoridation |
| Tobacco | 6 | Economic impact + 5 policy types |
| Injury | 2 | TBI surveillance, alcohol-impaired driving |
| Infectious Disease | 2 | Pneumococcal, foodborne/waterborne |
| Maternal-Child | 3 | Breastfeeding, PRAMS, birth statistics |
| Oral/Vision | 2 | NOHSS oral health, BRFSS vision |
| Nutrition | 3 | Behavioral, policy, youth-specific |
| Disease-Specific | 4 | Heart disease, diabetes, cancer, COVID |
| Historical | 1 | Pre-ACA health care access (1995-2010) |
| NNDSS | 14 | Real-time outbreak detection (50+ notifiable diseases) |
| COVID-19 Vaccination | 4 | County-level tracking with equity metrics |
| Drug Overdose | 6 | Provisional + finalized overdose data by drug type |
Usage
{
"mcpServers": {
"cdc-mcp-server": {
"command": "node",
"args": ["/path/to/cdc-mcp-server/build/index.js"],
"env": {
"CDC_APP_TOKEN": "your_app_token_here"
}
}
}
}
Note: The CDC_APP_TOKEN environment variable is optional but recommended for enhanced rate limits (1,000 req/hour vs shared pool).
MCP Methods
Core Methods (5)
1. list_datasets
List all 53 available CDC datasets.
{
"method": "list_datasets"
}
2. get_places_data
Get PLACES local disease prevalence data (40+ health measures).
Parameters:
geography_level: "county", "place", "tract", "zcta" (default: "county")year: "2023", "2024" (default: "2024")state: State abbreviation (e.g., "CA", "TX")measure_id: Disease measure (e.g., "DIABETES", "OBESITY", "CHD")location: Specific location namelimit: Max results (default: 100)offset: Pagination offset (default: 0)
Example:
{
"method": "get_places_data",
"geography_level": "county",
"year": "2024",
"state": "CA",
"measure_id": "DIABETES"
}
3. get_brfss_data
Get BRFSS behavioral risk factor data.
Parameters:
dataset_type: "obesity_national", "obesity_state", "diabetes", "asthma"year: Specific yearstate: State abbreviationlimit,offset: Pagination
Example:
{
"method": "get_brfss_data",
"dataset_type": "diabetes",
"year": 2023,
"state": "NY"
}
4. search_dataset
Generic search across any CDC dataset with custom SoQL queries.
Parameters:
dataset_name: Dataset identifier (required)select_fields: Fields to returnwhere_clause: SoQL WHERE clauseorder_by: Sort fieldlimit,offset: Pagination
Example:
{
"method": "search_dataset",
"dataset_name": "breastfeeding_nis",
"where_clause": "state='Texas'",
"limit": 100
}
5. get_available_measures
List all available measures for a specific dataset.
Example:
{
"method": "get_available_measures",
"dataset_name": "places_county_2024"
}
Tier 1 Methods: High-Priority Health Surveillance (7)
6. get_yrbss_data
Youth Risk Behavior Surveillance (substance use, mental health, violence).
Parameters:
state: State abbreviationtopic: "substance_use", "mental_health", "violence", "sexual_behaviors", "nutrition", "physical_activity"year: Survey yearlimit,offset: Pagination
Example:
{
"method": "get_yrbss_data",
"state": "CA",
"topic": "mental_health",
"year": 2023
}
7. get_respiratory_surveillance
Combined RSV/COVID-19/Flu hospitalization surveillance.
Parameters:
virus: "rsv", "covid", "flu", "combined" (default: "combined")state: Jurisdictionyear: Year filterlimit,offset: Pagination
Example:
{
"method": "get_respiratory_surveillance",
"virus": "rsv",
"state": "NY",
"year": 2024
}
8. get_vaccination_coverage
Vaccination rates by age group.
Parameters:
age_group: "teen", "pregnant", "kindergarten" (required)state: State abbreviationvaccine_type: "hpv", "tdap", "menacwy", "flu"year: Survey yearlimit,offset: Pagination
Example:
{
"method": "get_vaccination_coverage",
"age_group": "teen",
"state": "TX",
"vaccine_type": "hpv",
"year": 2023
}
9. get_birth_statistics
Birth rates and birth outcome indicators.
Parameters:
indicator: "birth_rate", "preterm", "cesarean", "low_birth_weight"state: Jurisdictionyear: Year filterlimit,offset: Pagination
Example:
{
"method": "get_birth_statistics",
"indicator": "preterm",
"state": "CA",
"year": 2024
}
10. get_environmental_health
Air quality measures with health tracking.
Parameters:
pollutant: "pm25", "ozone", "combined" (default: "combined")state: State filtercounty: County nameyear: Year filterlimit,offset: Pagination
Example:
{
"method": "get_environmental_health",
"pollutant": "pm25",
"county": "Los Angeles",
"year": 2023
}
11. get_tobacco_impact
Smoking-attributable mortality, morbidity, and economic costs.
Parameters:
impact_type: "mortality", "morbidity", "economic_cost"state: State abbreviationyear: Year filterlimit,offset: Pagination
Example:
{
"method": "get_tobacco_impact",
"impact_type": "economic_cost",
"state": "OH",
"year": 2022
}
12. get_oral_vision_health
Oral and vision health surveillance.
Parameters:
health_domain: "oral", "vision" (required)state: State abbreviationyear: Year filterlimit,offset: Pagination
Example:
{
"method": "get_oral_vision_health",
"health_domain": "oral",
"state": "FL",
"year": 2023
}
Tier 2 Methods: Policy-Relevant & Niche Specializations (3)
13. get_injury_surveillance
TBI surveillance - emergency visits, hospitalizations, deaths by mechanism.
Parameters:
injury_type: "tbi", "motor_vehicle", "all" (default: "tbi")state: State abbreviationmechanism: "fall", "motor_vehicle", "assault", "sports", "all"year: Year filterlimit,offset: Pagination
Example:
{
"method": "get_injury_surveillance",
"injury_type": "tbi",
"mechanism": "fall",
"state": "FL",
"year": 2022
}
14. get_tobacco_policy
Tobacco control policy tracking (5 policy types supported).
Parameters:
policy_type: "smokefree_air", "medicaid_cessation", "licensure", "tax", "ecigarette" (required)state: State abbreviationvenue: "workplace", "restaurant", "bar", "government", "school", "all" (for smokefree_air only)year: Year filterlimit,offset: Pagination
Examples:
Smokefree air legislation:
{
"method": "get_tobacco_policy",
"policy_type": "smokefree_air",
"venue": "restaurant",
"state": "CA"
}
Tobacco tax legislation:
{
"method": "get_tobacco_policy",
"policy_type": "tax",
"state": "NY",
"year": 2023
}
E-cigarette regulation:
{
"method": "get_tobacco_policy",
"policy_type": "ecigarette",
"state": "MA"
}
15. get_infectious_disease
Infectious disease surveillance (pneumococcal, foodborne, waterborne).
Parameters:
disease: "pneumococcal", "foodborne", "waterborne" (required)state: State abbreviationserotype: Pneumococcal serotype filter (e.g., "19A", "3")pathogen: Pathogen name for foodborne/waterborne (e.g., "Salmonella", "E. coli")year: Year filterlimit,offset: Pagination
Examples:
Pneumococcal disease by serotype:
{
"method": "get_infectious_disease",
"disease": "pneumococcal",
"serotype": "19A",
"year": 2023
}
Foodborne outbreaks:
{
"method": "get_infectious_disease",
"disease": "foodborne",
"pathogen": "Salmonella",
"state": "TX"
}
Phase 4 Methods: Critical Surveillance Gaps (3)
16. get_nndss_surveillance
National Notifiable Diseases Surveillance System - real-time outbreak detection for 50+ diseases.
Parameters:
nndss_disease: "arboviral", "hepatitis", "tuberculosis", "rubella", "pertussis", "haemophilus", "qfever", "botulism", "all" (default: "all")year: Year filter (for historical TB data: 2014-2019)state: State abbreviationlimit,offset: Pagination
Examples:
Arboviral disease surveillance:
{
"method": "get_nndss_surveillance",
"nndss_disease": "arboviral",
"state": "FL",
"year": "2024"
}
Historical tuberculosis data:
{
"method": "get_nndss_surveillance",
"nndss_disease": "tuberculosis",
"year": "2019",
"state": "CA"
}
17. get_covid_vaccination
COVID-19 vaccination tracking with equity metrics.
Parameters:
vax_geography: "national", "state", "county" (default: "state")state: State abbreviationcounty: County nameequity_metrics: Include SVI and urban/rural classification (boolean)limit,offset: Pagination
Examples:
State-level vaccination rates:
{
"method": "get_covid_vaccination",
"vax_geography": "state",
"state": "TX"
}
County-level with equity metrics:
{
"method": "get_covid_vaccination",
"vax_geography": "county",
"state": "NY",
"county": "New York",
"equity_metrics": true
}
18. get_overdose_surveillance
Drug overdose crisis monitoring with drug-specific tracking.
Parameters:
overdose_geography: "national", "state", "county" (default: "state")drug_type: "opioid", "fentanyl", "heroin", "cocaine", "methamphetamine", "all" (default: "all")provisional: Use provisional data (true) or finalized (false) - default: truestate: State abbreviationcounty: County namelimit,offset: Pagination
Examples:
Fentanyl overdoses by state:
{
"method": "get_overdose_surveillance",
"overdose_geography": "state",
"drug_type": "fentanyl",
"state": "OH",
"provisional": true
}
County-level opioid deaths:
{
"method": "get_overdose_surveillance",
"overdose_geography": "county",
"drug_type": "opioid",
"county": "Alameda",
"state": "CA"
}
All overdoses (finalized data):
{
"method": "get_overdose_surveillance",
"overdose_geography": "national",
"drug_type": "all",
"provisional": false
}
Common PLACES Measure IDs
Chronic Diseases
DIABETES: Diagnosed diabetesOBESITY: Adult obesity (BMI ≥30)CHD: Coronary heart diseaseCOPD: Chronic obstructive pulmonary diseaseASTHMA: Current asthmaSTROKE: StrokeBPHIGH: High blood pressureCANCER: Cancer (excluding skin cancer)KIDNEY: Chronic kidney diseaseARTHRITIS: Arthritis
Mental Health
DEPRESSION: DepressionMHLTH: Mental health not good for ≥14 days
Prevention
DENTAL: Annual dental visitACCESS2: Lack of health insurance (adults <65)CHECKUP: No annual checkupCHOLSCREEN: Cholesterol screeningCERVICAL: Cervical cancer screeningCOLON_SCREEN: Colorectal cancer screeningMAMMOUSE: Mammography
Risk Factors
CSMOKING: Current smokingBINGE: Binge drinkingLPA: No leisure-time physical activitySLEEP: Sleep <7 hours
Dataset Reference
Complete Dataset List (73)
<details> <summary>Click to expand full dataset list</summary>
PLACES (5 datasets):
places_county_2024- County-level 2024places_county_2023- County-level 2023places_place_2024- City/town-level 2024places_tract_2024- Census tract-level 2024places_zcta_2024- ZIP code-level 2024
BRFSS (7 datasets):
brfss_comprehensive- 2011-present (30+ measures)brfss_obesity_national- National obesity trendsbrfss_obesity_state- State obesity prevalencebrfss_diabetes- Diabetes prevalencebrfss_asthma- Asthma prevalencebrfss_smart_county- Metropolitan county-levelbrfss_healthcare_access_historical- 1995-2010
Youth Health (2 datasets):
yrbss_high_school- Youth risk behaviorsyouth_nutrition_activity- Youth nutrition/activity
Respiratory (2 datasets):
respiratory_combined- RSV/COVID/Flu combinedrsv_hospitalizations- RSV-specific
Vaccination (5 datasets):
teen_vaccinations- HPV, Tdap, MenACWYflu_vaccination_coverage- All ages 6+ monthspregnant_vaccinations- Flu, Tdap during pregnancykindergarten_vaccinations- School entry rates
Vital Statistics (5 datasets):
vsrr_birth_quarterly- Birth indicatorsbirth_rates_age- Age-specific fertilityvsrr_quarterly_mortality- Mortality estimatesvsrr_maternal_mortality- Maternal deathsvsrr_infant_mortality- Infant mortality
Environmental (2 datasets):
air_quality_tracking- PM2.5, ozonewater_fluoridation- Fluoridation statistics
Tobacco (6 datasets):
sammec_smoking_impact- Economic costssmokefree_air_legislation- Smokefree lawsmedicaid_cessation_coverage- Cessation coveragetobacco_licensure- Retailer licensuretobacco_tax- Tax legislationecigarette_legislation- E-cigarette regulation
Injury (2 datasets):
tbi_surveillance- TBI surveillancealcohol_impaired_driving- Drunk driving deaths
Infectious Disease (2 datasets):
pneumococcal_disease- 25-year serotype datafoodborne_outbreaks- Foodborne/waterborne
Maternal-Child (3 datasets):
breastfeeding_nis- Breastfeeding ratespramstat_2009- PRAMS 2009
Oral/Vision (2 datasets):
oral_health_indicators- NOHSSvision_health- BRFSS vision module
Nutrition (3 datasets):
nutrition_obesity- Behavioralnutrition_policy_environmental- Policy/environmentalnutrition_commute_patterns- Commuting
Disease-Specific (4 datasets):
heart_disease_mortality- Heart diseasediabetes_indicators- Diabetes surveillancecancer_incidence- Cancer statisticscovid_cases- COVID-19
Historical (1 dataset):
- Already listed under BRFSS
NNDSS - National Notifiable Diseases Surveillance (14 datasets):
nndss_arboviral- Arboviral diseases (Zika, West Nile, etc.)nndss_hepatitis- Viral hepatitis A, B, Cnndss_tuberculosis- Current TB surveillancenndss_rubella- Rubella and congenital rubellanndss_pertussis- Whooping cough surveillancenndss_haemophilus- Haemophilus influenzae diseasenndss_qfever- Q fever surveillancenndss_botulism- Botulism surveillancenndss_tb_2019- Historical TB 2019nndss_tb_2018- Historical TB 2018nndss_tb_2017- Historical TB 2017nndss_tb_2016- Historical TB 2016nndss_tb_2015- Historical TB 2015nndss_tb_2014- Historical TB 2014
COVID-19 Vaccination (4 datasets):
covid_vax_jurisdiction- State/territory vaccination ratescovid_vax_county- County-level vaccination coveragecovid_vax_respiratory_weekly- Weekly respiratory virus vaccinationcovid_vax_age_trends- Age-stratified vaccination trends
Drug Overdose Surveillance (6 datasets):
overdose_provisional_state- Provisional state-level overdose deathsoverdose_county- County-level overdose mortalityoverdose_by_drug- Drug-specific overdose deathsoverdose_demographics- Demographic-stratified overdose dataoverdose_nowcast- Lag-adjusted overdose estimatesnchs_injury_mortality- Comprehensive injury mortality data
</details>
Rate Limiting
The server implements conservative rate limiting (500ms between requests):
- Without app token: Shared pool (may be throttled)
- With app token: 1,000 requests/hour
To increase limits, register for a free app token at https://data.cdc.gov/profile/app_tokens
Response Format
All methods return JSON with consistent structure:
{
"dataset": "places_county_2024",
"count": 58,
"data": [
{
"year": "2022",
"stateabbr": "CA",
"locationname": "Los Angeles County",
"measureid": "DIABETES",
"data_value": "11.2",
"data_value_unit": "%",
"low_confidence_limit": "10.8",
"high_confidence_limit": "11.6"
}
]
}
SoQL Query Language
CDC datasets support Socrata Query Language (SoQL):
Common Parameters
$select: Choose specific fields$where: Filter conditions$order: Sort results$limit: Max results$offset: Pagination start
Example SoQL Clauses
Filtering:
stateabbr='CA' AND data_value>15.0
year>=2020 AND year<=2024
measureid IN ('DIABETES', 'OBESITY', 'CHD')
Sorting:
data_value DESC
year ASC, data_value DESC
Data Sources
All data comes from official CDC sources:
- https://data.cdc.gov
- https://chronicdata.cdc.gov
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.