negative-results-mcp
by nullary-ai
README.md
# Nullary MCP Server
**Negative results intelligence for drug discovery — over the [Model Context Protocol](https://modelcontextprotocol.io).**
Nullary is a hosted MCP server that lets AI agents query **measured negative results** from
drug discovery: inactive compounds, failed selectivity panels, terminated clinical trials,
failed CRISPR screens, antibody developability failures, and more — each result carrying full
provenance (source database, DOI/PMID, license).
This repository documents the **public MCP interface**. The server is hosted; the data
pipeline and application code are maintained separately.
## Connect
Nullary is a **remote** MCP server (streamable-HTTP) — nothing to install, no API key:
```
https://mcp.nullary.ai/mcp
```
### Claude Code / generic MCP client
```json
{
"mcpServers": {
"nullary": {
"url": "https://mcp.nullary.ai/mcp"
}
}
}
```
### Cursor
Settings → **MCP** → *Add new MCP server* → paste the URL above (transport: streamable-HTTP).
### Claude Desktop
Settings → **Connectors** → *Add custom connector* → URL `https://mcp.nullary.ai/mcp`.
## What you can ask
- *"What's failed against EGFR?"* — failed compounds, trials, and screens for a target, across modalities
- *"Which kinase inhibitors were inactive in ChEMBL?"*
- *"Show terminated Phase 2 oncology trials and why they stopped"*
- *"Failed CRISPR knockouts for TP53"*
Tools are organized by modality (small molecule, CRISPR, antibody, peptide, PROTAC, clinical
trial, …); every response cites its source.
## Tools
The server exposes **35 tools** — served live via the MCP `tools/list` method. Full JSON
Schemas (inputs per tool) are in [`tools.json`](./tools.json). Tools span the seven
modalities plus cross-modality history, compound/provenance lookups, and the Layer-1
model registry.
| Tool | Description |
|---|---|
| `search_inactive_compounds` | Inactive small-molecule compound-target pairs. |
| `search_failed_selectivity` | Small molecules that failed selectivity. |
| `search_admet_failures` | Small-molecule ADMET failures. |
| `search_failed_guides` | Failed/ineffective CRISPR guides. |
| `search_failed_essentiality_screens` | Non-dependency / failed essentiality screens. |
| `search_ancestry_specific_failures` | Ancestry-specific CRISPR failures. |
| `search_developability_failures` | Antibody developability failures. |
| `search_failed_clinical_antibodies` | Discontinued/terminated clinical antibodies. |
| `search_failed_peptide_therapeutics` | Failed peptide therapeutics. |
| `search_peptide_stability_issues` | Peptide stability/half-life failures. |
| `search_failed_protacs` | PROTACs that failed degradation/ternary/permeability. |
| `search_protac_e3_issues` | PROTAC E3-ligase recruitment / ternary failures. |
| `search_failed_oligonucleotides` | ASOs/siRNAs that failed engagement/developability. |
| `search_oligo_delivery_failures` | Oligonucleotide delivery failures. |
| `search_failed_vaccines` | Failed/terminated vaccines (by pathogen/indication). |
| `search_vaccine_immunogenicity_failures` | Failed vaccine immunogen designs. |
| `search_failed_adcs` | ADCs that failed at any stage. |
| `search_adc_linker_failures` | ADC failures attributed to linker chemistry. |
| `search_failed_bispecifics` | Bispecifics that failed at any stage. |
| `search_bispecific_format_failures` | Bispecific format/engineering failures. |
| `search_admet_failures_all_modalities` | ADMET failures across ALL modalities. |
| `search_drug_drug_interaction_failures` | Drug-drug interaction failures. |
| `search_mechanism_failures` | Approaches that failed for a mechanism (by target). |
| `search_failed_replications` | Findings that failed to replicate. |
| `search_safety_failures` | Clinical/preclinical safety failures across modalities. |
| `search_target_history` | ALL failed approaches against a target across every modality. |
| `search_indication_history` | ALL failed approaches for an indication across every modality. |
| `search_pathogen_history` | Vaccine + antimicrobial + antibody failures for a pathogen. |
| `get_compound` | A compound + its full negative profile across modalities/sources. |
| `get_finding_provenance` | Full provenance + detail for a single finding by id. |
| `get_target_landscape` | Target "graveyard" / exhaustion index — how picked-over a target is, by modality and outcome. |
| `list_top_targets` | The most heavily-pursued targets, ranked by recorded negative findings. |
| `list_models` | Summary of the Layer-1 inactivity-scoring model registry. |
| `get_model_card` | Per-target Layer-1 model card: training counts + held-out scaffold-split metrics. |
| `get_coverage` | Per-modality and per-source coverage stats. |
## Links
- **Website:** https://nullary.ai
- **Docs:** https://nullary.ai/docs
- **Coverage:** https://nullary.ai/coverage
- **Research:** https://nullary.ai/research
- **MCP Registry:** listed as `ai.nullary/nullary`
- **Smithery:** https://smithery.ai/badge/nullary/drug-discovery
## License
This documentation repository is MIT-licensed. The underlying data is provided under each
source's respective license — see the [coverage page](https://nullary.ai/coverage).
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues