UCSC Cell Browser MCP
Find single-cell RNA-seq datasets in the UCSC Cell Browser by organism, body part, disease or project, and retrieve each dataset’s metadata without leaving Claude.
| Type | MCP server |
| Supplier | MCPmed |
| Availability | Beta — pyproject.toml declares v1.0.0; last upstream commit 2025-07-28 |
| Pricing | Free / OSS — BSD-3-Clause (repository LICENSE); note the pyproject.toml license field says MIT, so the two disagree |
| Capabilities | Read-only — queries the public cells.ucsc.edu dataset index; no account, no API key |
How to install
The README’s pip install ucsc-cell-browser-mcp does not work — that package is not published on PyPI (404 as of 2026-08-15). Install from source instead.
- Clone and install (the README’s
cd ucsccbMCPis a typo; the clone directory isUCSCCBmcp):git clone https://github.com/MCPmed/UCSCCBmcp cd UCSCCBmcp pip install -e .This installs the
ucsc-mcpconsole command (entry pointucsccbmcp.main:main_cli). Python 3.8+ required. - Find the absolute path to the installed command — you need it for both clients below:
which ucsc-mcp - Claude Code — register the stdio server:
claude mcp add ucsc-cell-browser /path/to/ucsc-mcp(replace
/path/to/ucsc-mcpwith the absolute path thatwhich ucsc-mcpprinted — e.g./Users/you/.local/bin/ucsc-mcp). - Claude Desktop — add to
claude_desktop_config.json:{ "mcpServers": { "ucsc-cell-browser": { "command": "/path/to/ucsc-mcp" } } }Fully quit and relaunch Claude Desktop after editing.
This is a stdio server that Claude launches itself. Running ucsc-mcp in a terminal only verifies that it boots — press Ctrl-C afterwards and do not leave it running.
What it does
Parses the UCSC Cell Browser’s public dataset index (https://cells.ucsc.edu/dataset.json) and exposes it as queryable tools:
search_datasets— keyword search across the collectionget_dataset_details— full metadata for one datasetlist_organisms— organisms representedlist_body_parts— tissues / body parts representedlist_diseases— disease annotations representedlist_projects— parent projects / consortiarefresh_data— re-pull the cached dataset index
Primary use cases: locating a public scRNA-seq dataset for a tissue or disease, scoping what single-cell data already exists before generating new data, assembling dataset shortlists for reanalysis.
Notes
This is a discovery-and-metadata layer, not a data-access layer: it tells you which datasets exist and what they cover, but does not download expression matrices. Pair it with cellxgene-census or NCBI GEO to fetch the underlying counts, and with Scanpy to analyse them.
Dependencies are light (httpx, mcp). No API key or account is needed because the backing index is public.
The repository is small (1 star) and has not been updated since 2025-07-28; the license discrepancy between the LICENSE file (BSD-3-Clause) and pyproject.toml (MIT) is unresolved upstream. Both are permissive, but confirm with the maintainers before redistributing.
The server is one of the reference implementations described in the MCPmed paper (Briefings in Bioinformatics, 2026), alongside the already-catalogued NCBI GEO and STRING servers from the same group.
Sources
MCPmed/UCSCCBmcp- UCSC Cell Browser
- MCPmed: a call for Model Context Protocol-enabled bioinformatics web services for LLM-driven discovery (Brief Bioinform 2026;27(1):bbag076)
- MCPmed hub
Installed this tool?
Share feedback — install path, OS, errors, workarounds. The form opens with this tool pre-selected and a link back to this page.