cdc-health-mcp-server: Instructions file for Claude Code

CLAUDE.md

cdc-health-mcp-server CLAUDE.md is an instructions file for Claude Code from cyanheads/cdc-health-mcp-server. It costs 15,111 tokens per session, scanned A, original, Apache-2.0.

Project instructions for a server that reads public CDC health datasets through the Socrata data service. The CDC is the U.S. Centers for Disease Control and Prevention, and the instructions cover discovering datasets, checking their structure, and querying them.

In plain words
What is it for?
Use them to discover CDC datasets, inspect their fields, run allowed queries, and access supported CDC data resources.
Why use it?
They give an agent the rules and available interfaces needed to work with many different public health datasets safely and consistently.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: reads .claude/ paths; mentions .claude-plugin; mentions CLAUDE.md.

This is cyanheads/cdc-health-mcp-server's own configuration. It tells Claude Code how to work on cdc-health-mcp-server itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything cdc-health-mcp-server configures →

Reuse

Borrowing it

Nothing to install: this file belongs to cyanheads/cdc-health-mcp-server. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/cyanheads/cdc-health-mcp-server/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/cyanheads/cdc-health-mcp-server

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for cdc-health-mcp-server CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/cyanheads/cdc-health-mcp-server/claude-md/github.svg)](https://agentmods.dev/instructions/cyanheads/cdc-health-mcp-server/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/cyanheads/cdc-health-mcp-server/claude-md"><img src="https://agentmods.dev/badge/instructions/cyanheads/cdc-health-mcp-server/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for cdc-health-mcp-server CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/cyanheads/cdc-health-mcp-server/claude-md"><img src="https://agentmods.dev/badge/instructions/cyanheads/cdc-health-mcp-server/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 15,111 This file is loaded in full into every session.
When invoked 15,111 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.15111 $0.15111
Opus 5.5 $0.06044 $0.06044
Sonnet 5.5 $0.03022 $0.03022
Haiku 4.5 $0.01511 $0.01511

Measured 4d ago against content hash 8a938130d194, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

cdc-health-mcp-server CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 518 lines

How it starts

The opening of the file, as written. The whole thing — 518 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Agent Protocol

Server: cdc-health-mcp-server Version: 0.11.0 Framework: @cyanheads/mcp-ts-core ^0.13.18 Engines: Bun ≥1.4.0, Node ≥24.0.0 MCP SDK: @modelcontextprotocol/server ^2.4.0 Zod: ^4.6.7

Read the framework docs first: node_modules/@cyanheads/mcp-ts-core/CLAUDE.md contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.


Domain

Wraps the CDC Open Data portal (~1,080 datasets) via the Socrata SODA API v2.1. No auth required — optional app token for higher rate limits.

Core workflow: discover → inspect schema → query. The catalog is heterogeneous (disease surveillance, mortality, behavioral risk, vaccinations, environmental, injury, etc.), so the server provides a discovery-first approach rather than hard-coding dataset knowledge.

API Surface

Design doc: docs/design.md — full parameter tables, error modes, API endpoints, and implementation notes.

The four Socrata tools take an allowlisted domain input (data.cdc.gov default, chronicdata.cdc.gov) — Zod z.enum rejects any other host before the handler runs (the SSRF guard). The two cdc://datasets… resources stay on the default host. cdc_query_wonder hits a different CDC system and takes no domain; its database enum picks the dataset code in the upstream path, and is the same kind of guard.

Definition Type Purpose
cdc_discover_datasets tool Search catalog by keyword/category/tag/asset type. Entry point. Trimmed payload — assetType, permalink, columnCount + an 8-name columnSample and a 300-char description, cut after the markup comes off, plus accessPoints (the publisher-labelled URLs of a link entry) and parentIds (the datasets a chart, map, filter, or story is built on); full column detail comes from cdc_get_dataset_schema. limit is the page (default 10, up to 10,000, never clamped): offset + limit above 10,000 fails page_out_of_range, checked on the raw limit. asset_types (the assetType values) sends their plurals as one only parameter. order defaults to relevance when query is set and dataset_id otherwise, at every offset; a relevance page with matches remaining carries a notice that offset paging can repeat or skip entries.
cdc_get_dataset_schema tool Fetch column schema, row count, metadata for a dataset ID. Full-detail surface, windowed — column_limit (default 100, no maximum: it slices a schema fetched whole) / column_offset, with totalCount/truncated/nextOffset enrichment. The dataset description is capped at 4,000 characters by default (truncatePlainText), with descriptionTruncated/descriptionLength set when cut; full_description: true returns it whole. Column descriptions are never shortened. rowCount prefers a live count(*), with rowCountSource naming live or the cached fallback. Provenance, where the publisher recorded it: parentId (a filter's source dataset), and temporalCoverage, updateFrequency, geographicCoverage, citation, license, attribution as the publisher's own text, never parsed. Fails not_queryable on a non-tabular asset instead of returning empty columns; a chart or map's failure names its parent dataset (parentId) in the message and recovery hint.
cdc_list_catalog_vocabulary tool The catalog's category and tags vocabularies with entry counts, per allowlisted domain. Categories whole; tags ranked by count and paged — tag_limit (default 50, no maximum: it slices a vocabulary fetched whole) / tag_offset, with vocabularySize/categoryCount/tagCount/truncated/truncationCeiling/nextOffset enrichment. truncationCeiling bounds only the tags from nextOffset on — on a later page the tags before tag_offset outrank it. filter narrows both vocabularies before the page is cut.
cdc_query_dataset tool Execute SoQL queries — filter, aggregate, sort, full-text search. limit is the page, clamped to 1,000 rows — effectiveQuery echoes $limit=1000, and the notice names the clamp when rows remain past the page (SODA sets no maximum of its own; select narrows each row of a wide dataset); up to the clamp a page ends short of limit only at the end of the result set. Continuation is measured by an over-fetch probe, not the row count; discloses truncated/shown/cap/nextOffset, never a totalCount. An empty page at offset > 0 spends one probe at offset 0 to tell an offset past the end from a no-match. Fails not_queryable when every row comes back with no fields and the asset has no columns, naming the chart or map's parent dataset.
cdc_query_wonder tool Query CDC WONDER for national deaths, population, crude/age-adjusted rates, each rate with its 95% confidence interval (<rate>_lower/<rate>_upper). Grouped by year, month, age group, sex, race, Hispanic origin, or underlying cause (ICD chapter or sub-chapter, the 113-cause list, the 15 leading causes, injury intent), filtered by ICD-10 cause. A database enum selects one of five mortality databases — D76 (default), D176 provisional, D158, D77, D157. limit is the page, lowered to a 10,000-row per-call ceiling — the table-size bound, so one call holds any table the handler accepts; an omitted limit returns the rest of the table from offset. limit/offset page the parsed rows with exact totalCount/truncated/nextOffset, re-basing cellNotes onto the page while caveats/messages stay whole.
cdc://datasets resource 50 most-viewed catalog entries for orientation — carries assetType + columnCount, since the page mixes charts/stories/filters in with datasets.
cdc://datasets/{datasetId} resource Dataset metadata + the first 100 columns and a description capped at 4,000 characters, carrying columnCount/truncated/descriptionTruncated/descriptionLength, the same parentId and publisher provenance fields as cdc_get_dataset_schema, and one composed notice naming column_offset and full_description: true on cdc_get_dataset_schema. Takes no selector — the SDK's UriTemplate.match compiles RFC 6570 query variables as required, so {?column_limit,column_offset} would stop the bare URI matching at all.
analyze_health_trend prompt Guided workflow: pick the source (WONDER for national mortality, leading-cause, Hispanic-origin, and seasonal questions; Socrata otherwise), then discover → inspect → query → compare (rates by their confidence intervals) → synthesize (provisional partial year, updateFrequency/temporalCoverage). Routing is prose the reader acts on — the handler never classifies the topic.

Read the full file on GitHub · 518 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago Changed · +22 lines · +2,736 tokens per session 8a938130d194
  2. 25d ago Changed · +3 lines · +846 tokens per session df79ac283c43
  3. 1mo ago Changed · +2 lines · +439 tokens per session 698704fe5655
  4. 1mo ago Changed · +2 lines · +526 tokens per session c0b678a0a268
  5. 1mo ago Changed · +12 lines · +1,219 tokens per session aeede9654a1e
  6. 1mo ago Changed · +28 lines · +1,103 tokens per session 54ecf09b3dbe
  7. 2mo ago First seen · 449 lines · 8,242 tokens per session scan A ad3227885307

Subscribe to this mod's changes

cdc-health-mcp-server CLAUDE.md is an instructions file published in the GitHub repository cyanheads/cdc-health-mcp-server (5 stars, last pushed 5d ago), licensed Apache-2.0. It adds 15,111 tokens to every session, about $0.0604 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

cdc-health-mcp-server CLAUDE.md compared with instructions from other repositories

cdc-health-mcp-server CLAUDE.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
cdc-health-mcp-server CLAUDE.mdcyanheads/cdc-health-mcp-serverInstructions file55d agoApache-2.0A15,111Claude Code
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143kyesterdayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode