A side-by-side look at the Cms and Genomics MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Cms for biology & bioinformatics work as a local process; choose Genomics MCP for biology & bioinformatics as a local process. You can also run both side by side in one mcpServers block.
search_datasets, get_dataset, dataset_info.list_sources, search_datasets, describe_dataset.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Biology & Bioinformatics | Biology & Bioinformatics |
| Quality signal | 56/100 · Good | 59/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | 3 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 3 | 23 |
| Full listing | View Cms | View Genomics MCP |
search_datasetsFind CMS dataset IDs + titles by keyword. CMS publishes Medicare/Medicaid open data (provider data, spending, enrollment, drug pricing, quality measures, hospitals, nursing homes, ACOs, etc.). Searches the CMS DCAT catalog client-side over each dataset title/description/keywords. Returns the datase…get_datasetPull rows from a CMS dataset by datasetId (UUID from search_datasets). Returns an array of row objects whose keys are the dataset columns. Supports paging (size/offset), full-text keyword search across the dataset, and exact-match column filters via filters: {COLUMN: VALUE} (column names match the…dataset_infoMetadata for a CMS dataset by datasetId: title, description, total row count, last-modified date, themes/keywords, and downloadable resources (CSV files, data dictionaries). Use after search_datasets to inspect a dataset before pulling rows.list_sourcesList data and reference sources, their state and supported operations.search_datasetsSearch one archive/catalog for studies or datasets by text query.
Available for: ega, ena, encode, geo, ncbi_datasets.describe_datasetDescribe a study/dataset by native accession, with linked entities.
Available for: ega, ena, encode, geo, ncbi_datasets.list_filesList files of a study/dataset with format, size, checksums, index and readiness.
Available for: ega, ena, encode, geo, local, ncbi_datasets, s3.list_samplesList samples of a study/dataset as supplied by the source.
Available for: ega, ena, encode, geo, ncbi_datasets.get_sample_metadataGet one sample's metadata and phenotype values exactly as supplied by the source.
Available for: ega, ena, encode, geo, ncbi_datasets.fetch_fileStart a bounded download of a file (and index) to the local work dir. Returns a transfer job; files above the default limit need budget_bytes.
Available for: default.get_transfer_statusGet progress/result of a transfer started by fetch_file.
Available for: default.cancel_transferCancel a running transfer.
Available for: default.get_readsAlignments overlapping an interval from indexed BAM/CRAM. Flag filters follow samtools -f/-F. CRAM needs a matching reference unless self-contained.
Available for: bam, cram.get_coverageRead depth over an interval from indexed BAM/CRAM (default excludes UNMAP, SECONDARY, QCFAIL, DUP, like samtools depth).
Available for: bam, cram.get_pileupPer-position base counts over an interval from indexed BAM/CRAM.
Available for: bam, cram.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"cms-3": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-cms"
]
}
}
}
{
"mcpServers": {
"genomics-mcp": {
"command": "uvx",
"args": [
"rewire-genomics-mcp"
]
}
}
}