
Nullary
This connects Claude to Nullary's database of negative results in drug discovery, letting you query experimental failures that typically go unpublished. You can search for compounds that didn't work against specific targets, failed assays, and abandoned research directions. Reach for this when you're planning drug discovery experiments and want to avoid repeating work that's already been tried and measured as unsuccessful. The intelligence comes from actual lab data rather than just published literature, which means you're tapping into the 90% of research outcomes that never make it to papers. It's delivered over streamable HTTP, so queries stream results as they're found rather than blocking on large datasets.
- tools
- 35
- transport
- HTTP
- last updated
- May 25, 2026
Install
From registry metadata$ npx add-mcp https://mcp.nullary.ai/mcp --name nullaryRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http nullary https://mcp.nullary.ai/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 35 toolsVerified live against the running server on Nov 6, 2026.
search_inactive_compoundsInactive small-molecule compound-target pairs.6 params
Inactive small-molecule compound-target pairs.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_failed_selectivitySmall molecules that failed selectivity.6 params
Small molecules that failed selectivity.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_admet_failuresSmall-molecule ADMET failures.6 params
Small-molecule ADMET failures.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_failed_guidesFailed/ineffective CRISPR guides.6 params
Failed/ineffective CRISPR guides.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_failed_essentiality_screensNon-dependency / failed essentiality screens.6 params
Non-dependency / failed essentiality screens.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_ancestry_specific_failuresAncestry-specific CRISPR failures.6 params
Ancestry-specific CRISPR failures.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_developability_failuresAntibody developability failures.6 params
Antibody developability failures.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_failed_clinical_antibodiesDiscontinued/terminated clinical antibodies.6 params
Discontinued/terminated clinical antibodies.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_failed_peptide_therapeuticsFailed peptide therapeutics.6 params
Failed peptide therapeutics.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_peptide_stability_issuesPeptide stability/half-life failures.6 params
Peptide stability/half-life failures.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_failed_protacsPROTACs that failed degradation/ternary/permeability.6 params
PROTACs that failed degradation/ternary/permeability.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_protac_e3_issuesPROTAC E3-ligase recruitment / ternary failures.6 params
PROTAC E3-ligase recruitment / ternary failures.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_failed_oligonucleotidesASOs/siRNAs that failed engagement/developability.6 params
ASOs/siRNAs that failed engagement/developability.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_oligo_delivery_failuresOligonucleotide delivery failures.6 params
Oligonucleotide delivery failures.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_failed_vaccinesFailed/terminated vaccines (by pathogen/indication).6 params
Failed/terminated vaccines (by pathogen/indication).
indicationstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_vaccine_immunogenicity_failuresFailed vaccine immunogen designs.6 params
Failed vaccine immunogen designs.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_failed_adcsADCs that failed at any stage.6 params
ADCs that failed at any stage.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_adc_linker_failuresADC failures attributed to linker chemistry.6 params
ADC failures attributed to linker chemistry.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_failed_bispecificsBispecifics that failed at any stage.6 params
Bispecifics that failed at any stage.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_bispecific_format_failuresBispecific format/engineering failures.6 params
Bispecific format/engineering failures.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_admet_failures_all_modalitiesADMET failures across ALL modalities.6 params
ADMET failures across ALL modalities.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_drug_drug_interaction_failuresDrug-drug interaction failures.5 params
Drug-drug interaction failures.
compoundstringlimitintegeroffsetintegeroutcomestringtierstringcurated · alldefault: curatedsearch_mechanism_failuresApproaches that failed for a mechanism (by target).6 params
Approaches that failed for a mechanism (by target).
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_failed_replicationsFindings that failed to replicate.6 params
Findings that failed to replicate.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_safety_failuresClinical/preclinical safety failures across modalities.6 params
Clinical/preclinical safety failures across modalities.
compoundstringlimitintegeroffsetintegeroutcomestringtargetstringtierstringcurated · alldefault: curatedsearch_target_historyALL failed approaches against a target across every modality.4 params
ALL failed approaches against a target across every modality.
limitintegeroffsetintegertarget*stringtierstringcurated · alldefault: curatedsearch_indication_historyALL failed approaches for an indication across every modality.4 params
ALL failed approaches for an indication across every modality.
indication*stringlimitintegeroffsetintegertierstringcurated · alldefault: curatedsearch_pathogen_historyVaccine + antimicrobial + antibody failures for a pathogen.4 params
Vaccine + antimicrobial + antibody failures for a pathogen.
limitintegeroffsetintegerpathogen*stringtierstringcurated · alldefault: curatedget_compoundA compound (structure, name, max clinical phase) + its full negative profile across modalities/sources.6 params
A compound (structure, name, max clinical phase) + its full negative profile across modalities/sources.
chembl_idstringinchi_keystringlimitintegeroffsetintegerpubchem_cidintegertierstringcurated · alldefault: curatedget_finding_provenanceFull provenance + detail for a single finding by id.1 params
Full provenance + detail for a single finding by id.
id*stringget_target_landscapeTarget 'graveyard' / exhaustion index: how many distinct compounds/agents have been tried against a target and failed, broken down by modality and outcome. Answers 'how picked-over is this target?'. Accepts a gene symbol (e.g. EGFR) or a UniProt accession (e.g. P00533).1 params
Target 'graveyard' / exhaustion index: how many distinct compounds/agents have been tried against a target and failed, broken down by modality and outcome. Answers 'how picked-over is this target?'. Accepts a gene symbol (e.g. EGFR) or a UniProt accession (e.g. P00533).
target*stringlist_top_targetsCoverage browse: the most heavily-pursued ('graveyard') targets, ranked by recorded negative findings. Optional family filter (kinase, gpcr, protease, nuclear_receptor, ion_channel, transporter, phosphatase, other).2 params
Coverage browse: the most heavily-pursued ('graveyard') targets, ranked by recorded negative findings. Optional family filter (kinase, gpcr, protease, nuclear_receptor, ion_channel, transporter, phosphatase, other).
familystringlimitintegerlist_modelsSummary of the Layer-1 inactivity-scoring model registry: how many per-target models, split by family, and median scaffold-split ROC-AUC.
Summary of the Layer-1 inactivity-scoring model registry: how many per-target models, split by family, and median scaffold-split ROC-AUC.
No parameters. Call it with no arguments.
get_model_cardPer-target Layer-1 model card: training counts and held-out scaffold-split metrics (ROC-AUC, PR-AUC, Brier, calibration). Accepts a gene symbol (e.g. EGFR) or UniProt accession (e.g. P00533).1 params
Per-target Layer-1 model card: training counts and held-out scaffold-split metrics (ROC-AUC, PR-AUC, Brier, calibration). Accepts a gene symbol (e.g. EGFR) or UniProt accession (e.g. P00533).
target*stringget_coveragePer-modality and per-source coverage stats (honest Phase-1 numbers).
Per-modality and per-source coverage stats (honest Phase-1 numbers).
No parameters. Call it with no arguments.
Sponsors
Readme
Details
- Repository
- github.com/nullary-ai/nullary
- Transport
- HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026