hb-projectome-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
hb-projectome-mcp
An MCP server that lets AI agents answer questions about a single-cell atlas of the zebrafish dorsal habenula, using only the data, with guardrails against made-up or overstated results.
Ask an agent "Is KCTD12.1 a marker for cluster 9?" and it calls these tools, gets normalized statistics with effect sizes, FDR-corrected q-values, confidence intervals, caveats and provenance, and can plot the gene on the UMAP.
The data is the Halpern Lab habenula projectome database: scRNA-seq of ~4,300 adult zebrafish dHb neurons in 14 clusters, each assigned a classifier-predicted projection target in the interpeduncular nucleus (IPN).

Tools
Tool | Answers |
| The 14 clusters, cell counts, and most common predicted IPN target |
| Predicted IPN target distribution for one cluster, with 95% CIs |
| Gene symbols matching a query (max 20) |
| % of cells expressing a gene (95% CI) and mean normalized expression, per cluster |
| Where a gene's expressing neurons are predicted to project, and enrichment over the dHb baseline |
| Exploratory two-cluster test: p-value, rank-biserial effect size, detection difference with 95% CI |
| Up to 10 candidate markers for a cluster vs all other cells, Benjamini-Hochberg FDR across the list |
| UMAP colored by a gene's normalized expression (PNG) |
Resource dataset://card: what the data is, how it was made, and what it can't tell you. The server instructs agents to read it first.
Related MCP server: cxg-census-mcp
Guardrails
Risk | What the server does |
Hallucinated genes or clusters | Exact matching only. Unknown names return |
Predictions read as facts | IPN targets are XGBoost predictions with no saved confidence. Every projection answer says so and lists what it does not support. |
Depth-confounded comparisons | A one-time index of per-cell UMI totals enables log1p(CP10K) normalization. Without it, answers fall back to raw counts and say so. |
Significant but trivial results | Every test reports a rank-biserial effect size. "Significant but negligible" (|r| < 0.1) is called out as not a real difference, which matters with thousands of cells. |
Multiple comparisons | Multi-gene tests use Benjamini-Hochberg FDR; the response notes that only the listed genes were tested. |
Pseudoreplication | Cells from one dataset aren't independent replicates; every test is labeled exploratory. |
Small samples | Projection summaries need ≥ 10 expressing cells; tests need ≥ 20 cells per group. Below that, the server refuses with |
Overreach | Each answer carries |
Expensive or open-ended compute | Read-only; at most 10 genes per call; genome-wide scans refused; per-gene LRU cache. |
Malformed or injected input | Pydantic schemas validate every argument (gene symbols must match |
Untraceable answers | Every answer includes provenance: data fingerprint (SHA-256 of the source tables), files read, normalization, parameters, server version, timestamp. Every call is audit-logged as a JSON line. |
Setup
git clone https://github.com/tanyabudhiraja/hb-projectome-db # the data
git clone https://github.com/tanyabudhiraja/hb-projectome-mcp
cd hb-projectome-mcp
pip install -e .
# one-time, about 2 minutes: per-cell UMI totals for normalization
HB_DATA_DIR=../hb-projectome-db hb-projectome-mcp build-indexAdd it to an MCP client. For Claude Desktop, in claude_desktop_config.json:
{
"mcpServers": {
"hb-projectome": {
"command": "hb-projectome-mcp",
"env": { "HB_DATA_DIR": "/absolute/path/to/hb-projectome-db" }
}
}
}Variable | Purpose | Default |
| Path to the hb-projectome-db clone | current folder |
| Where the normalization index is stored |
|
| JSON-lines audit log file | stderr |
Tests
pip install -e ".[dev]"
pytest33 tests on a 4-gene slice of the real data (tests/fixtures/), covering:
statistics checked against published values (Wilson interval; Newcombe 1998 difference CI) and statsmodels (BH)
every refusal path and error code
provenance on every answer
an end-to-end run that starts the server over stdio, calls it with an MCP client, and checks schema rejection of injected input and the audit log
Layout
src/hb_mcp/data.py data access, normalization and guardrails (plain Python, no MCP)
src/hb_mcp/stats.py Wilson and Newcombe CIs, Mann-Whitney with rank-biserial r, BH FDR
src/hb_mcp/server.py MCP tools, input schemas, dataset card, audit log, CLI
tests/ unit, statistics and stdio end-to-end testsTool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
MCP facade over the Nebelus Construction API. ~48 tools give full agent build parity: create/update/probe agents, edit graphs, attach knowledge and vector stores, wire connectors, set governance policies and locked guardrails, enable grounding-trace, and read deployment wiring. Purpose-built for regulated industries: data residency is enforced per region (EU / GCC-KSA), with PII controls and an audit trail. Agents are created as drafts — no deploy tool is exposed over MCP by design; publishing happens in the Nebelus console.
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables natural language interaction for scRNA-Seq analysis including preprocessing, clustering, and visualization using the CellRank library. It allows users and agents to perform complex genomic data tasks through standard MCP clients and frameworks.19 PyPI2-
- AlicenseBqualityDmaintenanceEnables LLM agents to query the CZ CELLxGENE Census single-cell atlas with ontology-aware filters, cost caps, and full provenance, allowing natural language questions about cell types, tissues, and gene expression.1321 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query and traverse spec genomes via MCP tools, providing structured access to entities, relationships, and graph data.7MIT
- FlicenseAqualityBmaintenanceExposes NeuroGraph's scientific API to AI models as MCP tools, enabling them to query, analyze, and visualize brain networks — regions, tracts, connectivity, literature, and cross-species homologies — drawn from a portable SSD-based neuroimaging data library. Lets models read real atlas data, load datasets, compute graph metrics, and produce visualization scene descriptors without acting as the scientific engine itself.123-