Connect Nullary and your agent gets 35 tools, among them get_compound, get_coverage, get_finding_provenance. It answers at https://mcp.nullary.ai/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 10 of 10 times since 4 September 2026; the last check, on 17 October 2026, succeeded.
Negative results intelligence for drug discovery — query measured failures via MCP.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
get_compound | A compound (structure, name, max clinical phase) + its full negative profile across modalities/sources. Inputs: inchi_key, chembl_id, pubchem_cid, tier, limit, offset |
get_coverage | Per-modality and per-source coverage stats (honest Phase-1 numbers). |
get_finding_provenance | Full provenance + detail for a single finding by id. Inputs: id |
get_model_card | 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). Inputs: target |
get_target_landscape | 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 Un Inputs: target |
list_models | Summary of the Layer-1 inactivity-scoring model registry: how many per-target models, split by family, and median scaffold-split ROC-AUC. |
list_top_targets | 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). Inputs: family, limit |
search_adc_linker_failures | ADC failures attributed to linker chemistry. Inputs: target, compound, outcome, tier, limit, offset |
search_admet_failures | Small-molecule ADMET failures. Inputs: target, compound, outcome, tier, limit, offset |
search_admet_failures_all_modalities | ADMET failures across ALL modalities. Inputs: target, compound, outcome, tier, limit, offset |
search_ancestry_specific_failures | Ancestry-specific CRISPR failures. Inputs: target, compound, outcome, tier, limit, offset |
search_bispecific_format_failures | Bispecific format/engineering failures. Inputs: target, compound, outcome, tier, limit, offset |
search_developability_failures | Antibody developability failures. Inputs: target, compound, outcome, tier, limit, offset |
search_drug_drug_interaction_failures | Drug-drug interaction failures. Inputs: compound, outcome, tier, limit, offset |
search_failed_adcs | ADCs that failed at any stage. Inputs: target, compound, outcome, tier, limit, offset |
search_failed_bispecifics | Bispecifics that failed at any stage. Inputs: target, compound, outcome, tier, limit, offset |
search_failed_clinical_antibodies | Discontinued/terminated clinical antibodies. Inputs: target, compound, outcome, tier, limit, offset |
search_failed_essentiality_screens | Non-dependency / failed essentiality screens. Inputs: target, compound, outcome, tier, limit, offset |
search_failed_guides | Failed/ineffective CRISPR guides. Inputs: target, compound, outcome, tier, limit, offset |
search_failed_oligonucleotides | ASOs/siRNAs that failed engagement/developability. Inputs: target, compound, outcome, tier, limit, offset |
search_failed_peptide_therapeutics | Failed peptide therapeutics. Inputs: target, compound, outcome, tier, limit, offset |
search_failed_protacs | PROTACs that failed degradation/ternary/permeability. Inputs: target, compound, outcome, tier, limit, offset |
search_failed_replications | Findings that failed to replicate. Inputs: target, compound, outcome, tier, limit, offset |
search_failed_selectivity | Small molecules that failed selectivity. Inputs: target, compound, outcome, tier, limit, offset |
search_failed_vaccines | Failed/terminated vaccines (by pathogen/indication). Inputs: target, indication, outcome, tier, limit, offset |
search_inactive_compounds | Inactive small-molecule compound-target pairs. Inputs: target, compound, outcome, tier, limit, offset |
search_indication_history | ALL failed approaches for an indication across every modality. Inputs: indication, tier, limit, offset |
search_mechanism_failures | Approaches that failed for a mechanism (by target). Inputs: target, compound, outcome, tier, limit, offset |
search_oligo_delivery_failures | Oligonucleotide delivery failures. Inputs: target, compound, outcome, tier, limit, offset |
search_pathogen_history | Vaccine + antimicrobial + antibody failures for a pathogen. Inputs: pathogen, tier, limit, offset |
search_peptide_stability_issues | Peptide stability/half-life failures. Inputs: target, compound, outcome, tier, limit, offset |
search_protac_e3_issues | PROTAC E3-ligase recruitment / ternary failures. Inputs: target, compound, outcome, tier, limit, offset |
search_safety_failures | Clinical/preclinical safety failures across modalities. Inputs: target, compound, outcome, tier, limit, offset |
search_target_history | ALL failed approaches against a target across every modality. Inputs: target, tier, limit, offset |
search_vaccine_immunogenicity_failures | Failed vaccine immunogen designs. Inputs: target, compound, outcome, tier, limit, offset |
Every block below points at https://mcp.nullary.ai/mcp. Pick your client and copy.
claude mcp add --transport http nullary https://mcp.nullary.ai/mcp
{
"mcpServers": {
"nullary": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.nullary.ai/mcp"]
}
}
}{
"mcpServers": {
"nullary": {
"url": "https://mcp.nullary.ai/mcp"
}
}
}{
"servers": {
"nullary": {
"type": "http",
"url": "https://mcp.nullary.ai/mcp"
}
}
}{
"context_servers": {
"nullary": {
"url": "https://mcp.nullary.ai/mcp"
}
}
}{
"mcpServers": {
"nullary": {
"serverUrl": "https://mcp.nullary.ai/mcp"
}
}
}{
"mcpServers": {
"nullary": {
"url": "https://mcp.nullary.ai/mcp"
}
}
}name: Nullary
version: 0.0.1
schema: v1
mcpServers:
- name: Nullary
type: streamable-http
url: https://mcp.nullary.ai/mcp{
"mcpServers": {
"nullary": {
"httpUrl": "https://mcp.nullary.ai/mcp"
}
}
}{
"mcpServers": {
"nullary": {
"type": "http",
"url": "https://mcp.nullary.ai/mcp"
}
}
}{
"mcpServers": {
"nullary": {
"url": "https://mcp.nullary.ai/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fmcp.nullary.ai%2Fmcp&type=streamable_http&id=nullary&name=Nullary
It answered our last check on 17 October 2026 in 346 ms. Over 10 checks since 4 September 2026 it answered 10. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by nullary.ai and served from mcp.nullary.ai, the vendor's own domain: https://mcp.nullary.ai/mcp.
35, as returned by the server's own tools/list on 8 September 2026: get_compound, get_coverage, get_finding_provenance, get_model_card, get_target_landscape, list_models, list_top_targets, search_adc_linker_failures, and 27 more.
It answered our last check on 17 October 2026 in 346 ms. Over 10 checks since 4 September 2026 it answered 10.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://mcp.nullary.ai/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: ai.nullary. Endpoint host: mcp.nullary.ai. ARD identifier: urn:air:ai.nullary:mcp:nullary.
First indexed 31 August 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.