ai.nullary/nullary
Negative results intelligence for drug discovery — query measured failures via MCP.
Block For Production
trustsnap_a96821e9879c07c8.- Utility Coverage
- Step Up Auth
- Resource Contract
- Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.
- Serve /.well-known/oauth-protected-resource and point it at your authorization server metadata.
- Publish /.well-known/oauth-authorization-server from your issuer and include registration endpoint when supported.
- No segmented attention signals observed in the current window.
Dispute this assessment
If any published claim about this server -- its score, a risk flag, a capability classification, or its taxonomy -- is factually wrong, tell us what evidence shows and we will review it. This does not require claiming or verifying ownership of the server first.
Verify responds to disputes within 5 business days and resolves them within 15.
Dispute history
No disputes filed for this server.
Risk
Security posture
Tool capability & risk inventory
| Tool | Capabilities | Risk | Findings | Notes |
|---|---|---|---|---|
search_inactive_compounds |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_failed_selectivity |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_admet_failures |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_failed_guides |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_failed_essentiality_screens |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_ancestry_specific_failures |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_developability_failures |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_failed_clinical_antibodies |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_failed_peptide_therapeutics |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_peptide_stability_issues |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_failed_protacs |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_protac_e3_issues |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_failed_oligonucleotides |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_oligo_delivery_failures |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_failed_vaccines |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_vaccine_immunogenicity_failures |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_failed_adcs |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_adc_linker_failures |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_failed_bispecifics |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_bispecific_format_failures |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_admet_failures_all_modalities |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_drug_drug_interaction_failures |
read network | Medium | arbitrary network egress | Safeguards hinted in metadata. |
search_mechanism_failures |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_failed_replications |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_safety_failures |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_target_history |
read network | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
search_indication_history |
read network | Medium | arbitrary network egress | Safeguards hinted in metadata. |
search_pathogen_history |
read network filesystem | Medium | arbitrary network egress freeform input surface | Safeguards hinted in metadata. |
get_compound |
read network | Medium | arbitrary network egress | Safeguards hinted in metadata. |
get_finding_provenance |
read network | Medium | arbitrary network egress | No explicit safeguard hints detected. |
get_target_landscape |
read network | Medium | arbitrary network egress freeform input surface | No explicit safeguard hints detected. |
list_top_targets |
read network | Medium | arbitrary network egress | No explicit safeguard hints detected. |
list_models |
read network | Medium | arbitrary network egress | No explicit safeguard hints detected. |
get_model_card |
read network | Medium | arbitrary network egress freeform input surface | No explicit safeguard hints detected. |
get_coverage |
read network | Medium | arbitrary network egress | No explicit safeguard hints detected. |
Write-action governance
Status detail: No unsafe write-action governance gaps detected on the latest validation.
| Tool | Risk | Flags | Safeguards |
|---|---|---|---|
| No high-risk tools were detected on the latest run. | |||
Action-controls diff
New actions
| Action | Risk | Flags |
|---|---|---|
get_compound | Medium | arbitrary network egress |
get_coverage | Medium | arbitrary network egress |
get_finding_provenance | Medium | arbitrary network egress |
get_model_card | Medium | arbitrary network egress freeform input surface |
get_target_landscape | Medium | arbitrary network egress freeform input surface |
list_models | Medium | arbitrary network egress |
list_top_targets | Medium | arbitrary network egress |
search_adc_linker_failures | Medium | arbitrary network egress freeform input surface |
search_admet_failures | Medium | arbitrary network egress freeform input surface |
search_admet_failures_all_modalities | Medium | arbitrary network egress freeform input surface |
search_ancestry_specific_failures | Medium | arbitrary network egress freeform input surface |
search_bispecific_format_failures | Medium | arbitrary network egress freeform input surface |
search_developability_failures | Medium | arbitrary network egress freeform input surface |
search_drug_drug_interaction_failures | Medium | arbitrary network egress |
search_failed_adcs | Medium | arbitrary network egress freeform input surface |
search_failed_bispecifics | Medium | arbitrary network egress freeform input surface |
search_failed_clinical_antibodies | Medium | arbitrary network egress freeform input surface |
search_failed_essentiality_screens | Medium | arbitrary network egress freeform input surface |
search_failed_guides | Medium | arbitrary network egress freeform input surface |
search_failed_oligonucleotides | Medium | arbitrary network egress freeform input surface |
search_failed_peptide_therapeutics | Medium | arbitrary network egress freeform input surface |
search_failed_protacs | Medium | arbitrary network egress freeform input surface |
search_failed_replications | Medium | arbitrary network egress freeform input surface |
search_failed_selectivity | Medium | arbitrary network egress freeform input surface |
search_failed_vaccines | Medium | arbitrary network egress freeform input surface |
Changed actions
| Action | Change types | Risk |
|---|---|---|
| No materially changed actions. | ||
Critical alerts
Compatibility
Client compatibility verdicts
Client compatibility only means the server shape can work with a client. Production trust decision and write-action publishing are evaluated separately so a client-compatible server can still be blocked for production.
Evidence provenance
initialize• OKtools_list• OKtransport_compliance_probe• Warningstep_up_auth_probe• Missingconnector_replay_probe• OK — Frozen tool snapshots must survive refresh.request_association_probe• Missing — Roots, sampling, and elicitation should stay request-scoped.
Evidence provenance
initialize• OKtools_list• OKtransport_compliance_probe• Warning
Evidence provenance
action_safety_probe• OK
Evidence provenance
tool_snapshot_probe• OKconnector_replay_probe• OK
Client compatibility gate details
Remediation checklist
OpenAI connectors expect OAuth for remote server auth.Dynamic client registration materially improves connector setup.OAuth interoperability should be strong.OAuth is not configured, so this client cannot authenticate without additional setup.A connector refresh would break existing tool references (new required arguments or removed tools) -- an admin must re-approve the connector before this is safe.Not yet safe for the Messages API remote MCP path: requires OAuth, a compatible connector profile, and no pending connector-refresh risk.
Remediation checklist
OAuth is not configured, so this client cannot authenticate without additional setup.A connector refresh would break existing tool references (new required arguments or removed tools) -- an admin must re-approve the connector before this is safe.Not yet safe for the Messages API remote MCP path: requires OAuth, a compatible connector profile, and no pending connector-refresh risk.Transport compliance issues should be resolved before wider client rollout.
Remediation checklist
Add a clearer auth boundary around risky write actions.Add confirmation or dry-run semantics for risky actions.Production readiness is blocked by an active alert: Tool snapshot changed.Production readiness is blocked by an active alert: Auth mode changed.
Verdict traces
tool_snapshot_changed• high • Tool snapshot changedauth_mode_changed• high • Auth mode changed
Client verdict trace table
| Verdict | Status | Checks | Winning source | Conflicts |
|---|---|---|---|---|
openai_connectors |
Partially client-compatible | initialize, tools_list, transport_compliance_probe, step_up_auth_probe, connector_replay_probe, request_association_probe | live_validation | none |
claude_desktop |
Client-compatible | initialize, tools_list, transport_compliance_probe | live_validation | none |
unsafe_for_write_actions |
Publishing blocked | action_safety_probe | live_validation | none |
snapshot_churn_risk |
Medium | tool_snapshot_probe, connector_replay_probe | history | none |
Publishability policy profiles
- Search Fetch Only: Yes
- Write Actions Present: No
- Oauth Configured: No
- Admin Refresh Required: Yes
- Safe For Company Knowledge: Yes
- Safe For Messages Api Remote Mcp: No
- Search Fetch Only: Yes
- Write Actions Present: No
- Oauth Configured: No
- Admin Refresh Required: Yes
- Safe For Company Knowledge: Yes
- Safe For Messages Api Remote Mcp: No
Compatibility fixtures
- remote_http_endpoint: Passes
- oauth_discovery: Degraded
- frozen_tool_snapshot_refresh: Passes
- request_association: Passes
- remote_transport: Passes
- tool_discovery: Passes
- auth_connect: Passes
- safe_write_review: Degraded
Recommended for
Evidence
Current trust snapshot
trustsnap_a96821e9879c07c8Canonical machine links
Evidence confidence
Latest validation evidence
Failures
oauth_authorization_serverno authorization serveroauth_protected_resourceClient error '404 Not Found' for url 'https://mcp.nullary.ai/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404openid_configurationno authorization serverserver_cardClient error '404 Not Found' for url 'https://mcp.nullary.ai/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404
Checks
| Check | Status | Latency | Evidence |
|---|---|---|---|
action_safety_probe |
OK | n/a | No high-risk write, destructive, or exec tools detected. |
advanced_capabilities_probe |
Warning | n/a | Only 1 capability signal(s): structured outputs. |
connector_publishability_probe |
Warning | n/a | Publishability blockers: server card. |
connector_replay_probe |
OK | n/a | Backward compatible with no breaking tool-surface changes. |
determinism_probe |
OK | 49.8 ms | Check completed |
initialize |
OK | 172.0 ms | Protocol 2025-03-26 |
interactive_flow_probe |
Missing | n/a | Check completed |
oauth_authorization_server |
Missing | n/a | no authorization server |
oauth_protected_resource |
Error | 70.7 ms | Client error '404 Not Found' for url 'https://mcp.nullary.ai/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 |
official_registry_probe |
OK | n/a | Check completed |
openid_configuration |
Missing | n/a | no authorization server |
probe_noise_resilience |
OK | 64.8 ms | Fetched https://mcp.nullary.ai/robots.txt |
prompt_get |
Missing | n/a | not advertised |
prompts_list |
Missing | 132.2 ms | not supported |
protocol_version_probe |
Warning | n/a | Claims 2025-03-26; 2 release(s) behind 2025-11-25. |
provenance_divergence_probe |
Not_Assessed | n/a | Check completed |
request_association_probe |
Missing | n/a | No request-association capabilities were advertised. |
resource_read |
Missing | n/a | not advertised |
resources_list |
Missing | 50.7 ms | not supported |
schema_divergence_probe |
Missing | n/a | no server card tools |
server_card |
Error | 179.3 ms | Client error '404 Not Found' for url 'https://mcp.nullary.ai/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404 |
session_resume_probe |
Warning | n/a | no session id |
step_up_auth_probe |
Missing | n/a | No OAuth or incremental-scope signals detected. |
tool_snapshot_probe |
OK | n/a | Check completed |
tools_list |
OK | 369.3 ms | 35 tool(s) exposed |
transport_compliance_probe |
Warning | 68.6 ms | Issues: missing session id, missing protocol header (bad protocol=400). |
utility_coverage_probe |
Missing | 29.5 ms | No completions evidence; no pagination evidence; tasks missing. |
Raw evidence view
Show raw JSON evidence
{
"checks": {
"action_safety_probe": {
"details": {
"auth_present": false,
"confirmation_signals": [],
"reason": null,
"safeguard_count": 29,
"summary": {
"annotation_conflict_tools": 0,
"bulk_access_tools": 0,
"capability_distribution": {
"filesystem": 1,
"network": 35,
"read": 35
},
"declared_non_read_only_tools": 0,
"destructive_tools": 0,
"egress_tools": 35,
"exec_tools": 0,
"high_risk_tools": 0,
"risk_distribution": {
"critical": 0,
"high": 0,
"low": 0,
"medium": 35
},
"secret_tools": 0,
"tool_count": 35
}
},
"latency_ms": null,
"status": "ok"
},
"advanced_capabilities_probe": {
"details": {
"capabilities": {
"completions": false,
"elicitation": false,
"prompts": false,
"resource_links": false,
"resources": false,
"roots": false,
"sampling": false,
"structured_outputs": true
},
"enabled": [
"structured_outputs"
],
"enabled_count": 1,
"initialize_capability_keys": [
"tools"
]
},
"latency_ms": null,
"status": "warning"
},
"connector_publishability_probe": {
"details": {
"blockers": [
"server_card"
],
"criteria": {
"action_safety": true,
"auth_flow": true,
"connector_replay": true,
"initialize": true,
"protocol_version": true,
"remote_transport": true,
"request_association": true,
"server_card": false,
"session_resume": true,
"step_up_auth": true,
"tool_surface": true,
"tools_list": true,
"transport_compliance": true
},
"high_risk_tools": 0,
"tool_count": 35,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"connector_replay_probe": {
"details": {
"added_tools": [],
"additive_output_changes": [],
"backward_compatible": true,
"output_breaks": [],
"removed_tools": [],
"required_arg_breaks": [],
"would_break_after_refresh": false
},
"latency_ms": null,
"status": "ok"
},
"determinism_probe": {
"details": {
"attempts": 2,
"baseline_signature": "a97698569e8e9caee6bfea28f5ed1e2fd31f8c805a23921ff9d3784c76e68d34",
"errors": [],
"matches": 2,
"stable_ratio": 1.0,
"successful": 2
},
"latency_ms": 49.77,
"status": "ok"
},
"initialize": {
"details": {
"headers": {
"content-type": "text/event-stream",
"strict-transport-security": "max-age=63072000"
},
"http_status": 200,
"payload": {
"id": 1,
"jsonrpc": "2.0",
"result": {
"capabilities": {
"tools": {}
},
"instructions": "Nullary serves negative results from drug discovery \u2014 failed compounds, terminated trials, failed CRISPR screens, antibody developability failures, and more. Search is organized by modality; every result carries provenance.",
"protocolVersion": "2025-03-26",
"serverInfo": {
"icons": [
{
"mimeType": "image/svg+xml",
"sizes": [
"any"
],
"src": "https://nullary.ai/icon.svg"
},
{
"mimeType": "image/png",
"sizes": [
"180x180"
],
"src": "https://nullary.ai/apple-icon"
}
],
"name": "Nullary",
"version": "1.0.1"
}
}
},
"url": "https://mcp.nullary.ai/mcp"
},
"latency_ms": 172.01,
"status": "ok"
},
"interactive_flow_probe": {
"details": {
"oauth_supported": false,
"prompt_available": false,
"risk_hits": [],
"safe_hits": []
},
"latency_ms": null,
"status": "missing"
},
"oauth_authorization_server": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"oauth_protected_resource": {
"details": {
"error": "Client error '404 Not Found' for url 'https://mcp.nullary.ai/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://mcp.nullary.ai/.well-known/oauth-protected-resource"
},
"latency_ms": 70.71,
"status": "error"
},
"official_registry_probe": {
"details": {
"direct_match": true,
"official_peer_count": 1,
"registry_identifier": "ai.nullary/nullary",
"registry_source": "official_registry"
},
"latency_ms": null,
"status": "ok"
},
"openid_configuration": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"probe_noise_resilience": {
"details": {
"headers": {
"content-type": "text/html; charset=utf-8",
"strict-transport-security": "max-age=63072000"
},
"http_status": 404,
"url": "https://mcp.nullary.ai/robots.txt",
"validation_disallowed": false
},
"latency_ms": 64.78,
"status": "ok"
},
"prompt_get": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"prompts_list": {
"details": {
"headers": {
"content-type": "text/event-stream",
"strict-transport-security": "max-age=63072000"
},
"http_status": 200,
"payload": {
"error": {
"code": -32601,
"message": "Method not found"
},
"id": 3,
"jsonrpc": "2.0"
},
"reason": "not_supported",
"url": "https://mcp.nullary.ai/mcp"
},
"latency_ms": 132.19,
"status": "missing"
},
"protocol_version_probe": {
"details": {
"claimed_version": "2025-03-26",
"lag_days": 244,
"latest_known_version": "2025-11-25",
"releases_behind": 2,
"validator_protocol_version": "2025-03-26"
},
"latency_ms": null,
"status": "warning"
},
"provenance_divergence_probe": {
"details": {
"comparable_field_count": 0,
"compared_fields": [
"title",
"version",
"homepage",
"repository"
],
"direct_official_match": true,
"drift_fields": [],
"metadata_document_count": 1,
"readable_sources": [
"registry"
],
"registry_homepage": null,
"registry_repository": null,
"registry_title": null,
"registry_version": null,
"server_card_homepage": null,
"server_card_repository": null,
"server_card_title": null,
"server_card_version": null
},
"latency_ms": null,
"status": "not_assessed"
},
"request_association_probe": {
"details": {
"reason": "no_request_association_capabilities_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resource_read": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"resources_list": {
"details": {
"headers": {
"content-type": "text/event-stream",
"strict-transport-security": "max-age=63072000"
},
"http_status": 200,
"payload": {
"error": {
"code": -32601,
"message": "Method not found"
},
"id": 5,
"jsonrpc": "2.0"
},
"reason": "not_supported",
"url": "https://mcp.nullary.ai/mcp"
},
"latency_ms": 50.69,
"status": "missing"
},
"schema_divergence_probe": {
"details": {
"card_server_name": null,
"compared_dimensions": [
"server_name",
"server_version",
"declared_vs_observed_auth",
"tool_membership",
"parameter_names",
"required_parameters",
"parameter_types",
"output_schema_presence"
],
"compared_tool_count": 0,
"live_server_name": "Nullary",
"reason": "no_server_card_tools",
"server_name_mismatch": false
},
"latency_ms": null,
"status": "missing"
},
"server_card": {
"details": {
"error": "Client error '404 Not Found' for url 'https://mcp.nullary.ai/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://mcp.nullary.ai/.well-known/mcp/server-card.json"
},
"latency_ms": 179.3,
"status": "error"
},
"session_resume_probe": {
"details": {
"protocol_version": "2025-03-26",
"reason": "no_session_id",
"resume_expected": true,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"step_up_auth_probe": {
"details": {
"auth_required_checks": [],
"broad_scopes": [],
"challenge_headers": [],
"minimal_scope_documented": false,
"oauth_present": false,
"scope_specificity_ratio": 0.0,
"step_up_signals": [],
"supported_scopes": []
},
"latency_ms": null,
"status": "missing"
},
"tool_snapshot_probe": {
"details": {
"added": [],
"changed_outputs": [],
"current_tool_count": 35,
"previous_tool_count": 35,
"removed": [],
"similarity": 1.0
},
"latency_ms": null,
"status": "ok"
},
"tools_list": {
"details": {
"headers": {
"content-type": "text/event-stream",
"strict-transport-security": "max-age=63072000"
},
"http_status": 200,
"payload": {
"id": 2,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search inactive compounds"
},
"description": "Inactive small-molecule compound-target pairs.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_inactive_compounds",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search failed selectivity"
},
"description": "Small molecules that failed selectivity.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_failed_selectivity",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search admet failures"
},
"description": "Small-molecule ADMET failures.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_admet_failures",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search failed guides"
},
"description": "Failed/ineffective CRISPR guides.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_failed_guides",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search failed essentiality screens"
},
"description": "Non-dependency / failed essentiality screens.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_failed_essentiality_screens",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search ancestry specific failures"
},
"description": "Ancestry-specific CRISPR failures.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_ancestry_specific_failures",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search developability failures"
},
"description": "Antibody developability failures.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_developability_failures",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search failed clinical antibodies"
},
"description": "Discontinued/terminated clinical antibodies.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_failed_clinical_antibodies",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search failed peptide therapeutics"
},
"description": "Failed peptide therapeutics.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_failed_peptide_therapeutics",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search peptide stability issues"
},
"description": "Peptide stability/half-life failures.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_peptide_stability_issues",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search failed protacs"
},
"description": "PROTACs that failed degradation/ternary/permeability.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_failed_protacs",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search protac e3 issues"
},
"description": "PROTAC E3-ligase recruitment / ternary failures.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_protac_e3_issues",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search failed oligonucleotides"
},
"description": "ASOs/siRNAs that failed engagement/developability.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_failed_oligonucleotides",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search oligo delivery failures"
},
"description": "Oligonucleotide delivery failures.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_oligo_delivery_failures",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search failed vaccines"
},
"description": "Failed/terminated vaccines (by pathogen/indication).",
"inputSchema": {
"properties": {
"indication": {
"description": "disease/indication",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_failed_vaccines",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search vaccine immunogenicity failures"
},
"description": "Failed vaccine immunogen designs.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_vaccine_immunogenicity_failures",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search failed adcs"
},
"description": "ADCs that failed at any stage.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_failed_adcs",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search adc linker failures"
},
"description": "ADC failures attributed to linker chemistry.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_adc_linker_failures",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search failed bispecifics"
},
"description": "Bispecifics that failed at any stage.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_failed_bispecifics",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search bispecific format failures"
},
"description": "Bispecific format/engineering failures.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_bispecific_format_failures",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search admet failures all modalities"
},
"description": "ADMET failures across ALL modalities.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_admet_failures_all_modalities",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search drug drug interaction failures"
},
"description": "Drug-drug interaction failures.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_drug_drug_interaction_failures",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search mechanism failures"
},
"description": "Approaches that failed for a mechanism (by target).",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_mechanism_failures",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search failed replications"
},
"description": "Findings that failed to replicate.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_failed_replications",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search safety failures"
},
"description": "Clinical/preclinical safety failures across modalities.",
"inputSchema": {
"properties": {
"compound": {
"description": "compound name, ChEMBL ID, or InChIKey",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"outcome": {
"description": "outcome filter (inactive, failed_safety, terminated, \u2026)",
"type": "string"
},
"target": {
"description": "UniProt accession or gene symbol",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "search_safety_failures",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search target history"
},
"description": "ALL failed approaches against a target across every modality.",
"inputSchema": {
"properties": {
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"target": {
"description": "UniProt accession or gene symbol (required)",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [
"target"
],
"type": "object"
},
"name": "search_target_history",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search indication history"
},
"description": "ALL failed approaches for an indication across every modality.",
"inputSchema": {
"properties": {
"indication": {
"description": "indication (required)",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [
"indication"
],
"type": "object"
},
"name": "search_indication_history",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Search pathogen history"
},
"description": "Vaccine + antimicrobial + antibody failures for a pathogen.",
"inputSchema": {
"properties": {
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"pathogen": {
"description": "pathogen name (required)",
"type": "string"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [
"pathogen"
],
"type": "object"
},
"name": "search_pathogen_history",
"outputSchema": {
"properties": {
"coverage_note": {
"description": "Honest coverage caveat for thin Phase-1 modalities (present only when relevant).",
"type": "string"
},
"findings": {
"description": "Matching negative findings (same shape as the REST /findings endpoint).",
"items": {
"type": "object"
},
"type": "array"
},
"has_more": {
"description": "True when more results exist beyond this page.",
"type": "boolean"
},
"query_metadata": {
"description": "Echo of the resolved query \u2014 tool, limit, offset, and any applied presets.",
"type": "object"
},
"returned_count": {
"description": "Findings returned in this page.",
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Get compound"
},
"description": "A compound (structure, name, max clinical phase) + its full negative profile across modalities/sources.",
"inputSchema": {
"properties": {
"chembl_id": {
"description": "ChEMBL molecule ID, e.g. CHEMBL941.",
"type": "string"
},
"inchi_key": {
"description": "Compound InChIKey (provide one of inchi_key, chembl_id, or pubchem_cid).",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"offset": {
"default": 0,
"description": "Number of findings to skip before this page, for pagination (default 0).",
"minimum": 0,
"type": "integer"
},
"pubchem_cid": {
"description": "PubChem Compound ID (CID).",
"type": "integer"
},
"tier": {
"default": "curated",
"description": "Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails).",
"enum": [
"curated",
"all"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "get_compound",
"outputSchema": {
"description": "A compound's identity plus its full negative profile across modalities and sources.",
"properties": {
"compound": {
"description": "Identity: pref_name, chembl_id, inchi_key, max_phase.",
"type": "object"
},
"findings": {
"description": "Every negative finding for this molecule.",
"items": {
"type": "object"
},
"type": "array"
},
"query_metadata": {
"description": "Echo of the resolved query.",
"type": "object"
},
"returned_count": {
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Get finding provenance"
},
"description": "Full provenance + detail for a single finding by id.",
"inputSchema": {
"properties": {
"id": {
"description": "finding UUID",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_finding_provenance",
"outputSchema": {
"description": "A single finding with full provenance.",
"properties": {
"finding": {
"description": "The finding with source, DOI/PMID, assay context, and confidence tier.",
"type": "object"
},
"query_metadata": {
"description": "Echo of the resolved query.",
"type": "object"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Get target landscape"
},
"description": "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).",
"inputSchema": {
"properties": {
"target": {
"description": "gene symbol or UniProt accession (required)",
"type": "string"
}
},
"required": [
"target"
],
"type": "object"
},
"name": "get_target_landscape",
"outputSchema": {
"description": "Target exhaustion index \u2014 distinct agents tried-and-failed, by modality and outcome.",
"properties": {
"by_modality": {
"description": "Per-modality failed-agent counts.",
"items": {
"type": "object"
},
"type": "array"
},
"by_outcome": {
"description": "Per-outcome counts.",
"items": {
"type": "object"
},
"type": "array"
},
"query_metadata": {
"description": "Echo of the resolved query.",
"type": "object"
},
"summary": {
"description": "One-line natural-language summary.",
"type": "string"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "List top targets"
},
"description": "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).",
"inputSchema": {
"properties": {
"family": {
"description": "target family filter (optional)",
"type": "string"
},
"limit": {
"default": 25,
"description": "Maximum number of findings to return (1\u2013100, default 25).",
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "list_top_targets",
"outputSchema": {
"description": "The most heavily-pursued targets, ranked by recorded negative findings.",
"properties": {
"query_metadata": {
"description": "Echo of the resolved query.",
"type": "object"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "List models"
},
"description": "Summary of the Layer-1 inactivity-scoring model registry: how many per-target models, split by family, and median scaffold-split ROC-AUC.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_models",
"outputSchema": {
"description": "Summary of the Layer-1 model registry: counts by family and median scaffold-split ROC-AUC.",
"properties": {
"query_metadata": {
"description": "Echo of the resolved query.",
"type": "object"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Get model card"
},
"description": "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).",
"inputSchema": {
"properties": {
"target": {
"description": "gene symbol or UniProt accession (required)",
"type": "string"
}
},
"required": [
"target"
],
"type": "object"
},
"name": "get_model_card",
"outputSchema": {
"description": "Per-target Layer-1 model card: training counts and held-out scaffold-split metrics.",
"properties": {
"query_metadata": {
"description": "Echo of the resolved query.",
"type": "object"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
},
{
"annotations": {
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true,
"readOnlyHint": true,
"title": "Get coverage"
},
"description": "Per-modality and per-source coverage stats (honest Phase-1 numbers).",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_coverage",
"outputSchema": {
"description": "Per-modality and per-source coverage counts.",
"properties": {
"by_modality": {
"description": "Per-modality finding counts.",
"items": {
"type": "object"
},
"type": "array"
},
"by_source_type": {
"description": "Per-source finding counts.",
"items": {
"type": "object"
},
"type": "array"
},
"curated_total": {
"type": "integer"
},
"query_metadata": {
"description": "Echo of the resolved query.",
"type": "object"
},
"total": {
"type": "integer"
}
},
"required": [
"query_metadata"
],
"type": "object"
}
}
]
}
},
"url": "https://mcp.nullary.ai/mcp"
},
"latency_ms": 369.32,
"status": "ok"
},
"transport_compliance_probe": {
"details": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json",
"strict-transport-security": "max-age=63072000"
},
"bad_protocol_payload": {
"error": {
"code": -32000,
"message": "Bad Request: Unsupported protocol version: 1999-99-99 (supported versions: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07)"
},
"id": null,
"jsonrpc": "2.0"
},
"bad_protocol_status_code": 400,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_session_id",
"missing_protocol_header"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2025-03-26",
"session_id_present": false,
"transport": "streamable-http"
},
"latency_ms": 68.59,
"status": "warning"
},
"utility_coverage_probe": {
"details": {
"completions": {
"advertised": false,
"live_probe": "not_executed",
"sample_target": null
},
"initialize_capability_keys": [
"tools"
],
"pagination": {
"metadata_signal": false,
"next_cursor_methods": [],
"supported": false
},
"tasks": {
"advertised": false,
"http_status": 200,
"probe_status": "missing"
}
},
"latency_ms": 29.5,
"status": "missing"
}
},
"failures": {
"oauth_authorization_server": {
"reason": "no_authorization_server"
},
"oauth_protected_resource": {
"error": "Client error '404 Not Found' for url 'https://mcp.nullary.ai/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://mcp.nullary.ai/.well-known/oauth-protected-resource"
},
"openid_configuration": {
"reason": "no_authorization_server"
},
"server_card": {
"error": "Client error '404 Not Found' for url 'https://mcp.nullary.ai/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://mcp.nullary.ai/.well-known/mcp/server-card.json"
}
},
"remote_url": "https://mcp.nullary.ai/mcp",
"server_card_payload": null,
"server_identifier": "ai.nullary/nullary"
}
Known versions
1.0.1
Validation history
| Timestamp | Status | Score | Latency | Tools |
|---|---|---|---|---|
| Aug 07, 2026 01:16:14 AM UTC | Healthy | 60.9 | 1269.8 ms | 35 |
| Aug 06, 2026 01:13:52 PM UTC | Healthy | 40.8 | 924.9 ms | 0 |
| Aug 06, 2026 01:12:35 AM UTC | Healthy | 41.9 | 800.0 ms | 0 |
| Aug 05, 2026 07:07:30 PM UTC | Healthy | 44.7 | 829.1 ms | 0 |
| Aug 04, 2026 08:52:13 PM UTC | Healthy | 44.8 | 812.8 ms | 0 |
| Jul 31, 2026 06:46:30 AM UTC | Healthy | 43.7 | 775.5 ms | 0 |
Validation timeline
| Validated | Summary | Score | Protocol | Auth mode | Tools | High-risk tools | Changes |
|---|---|---|---|---|---|---|---|
| Aug 07, 2026 01:16:14 AM UTC | Healthy | 60.9 | 2025-03-26 | public | 35 | 0 | auth_mode_changed tool_snapshot_changed |
| Aug 06, 2026 01:13:52 PM UTC | Healthy | 40.8 | unknown | unknown | 0 | 0 | none |
| Aug 06, 2026 01:12:35 AM UTC | Healthy | 41.9 | unknown | unknown | 0 | 0 | none |
| Aug 05, 2026 07:07:30 PM UTC | Healthy | 44.7 | unknown | unknown | 0 | 0 | none |
| Aug 04, 2026 08:52:13 PM UTC | Healthy | 44.8 | unknown | unknown | 0 | 0 | none |
| Jul 31, 2026 06:46:30 AM UTC | Healthy | 43.7 | unknown | unknown | 0 | 0 | none |
Recent validation runs
| Started | Status | Summary | Latency | Checks |
|---|---|---|---|---|
| Aug 07, 2026 01:16:13 AM UTC | Completed | Healthy | 1269.8 ms | action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, schema_divergence_probe, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe |
| Aug 06, 2026 01:13:51 PM UTC | Completed | Healthy | 924.9 ms | |
| Aug 06, 2026 01:12:34 AM UTC | Completed | Healthy | 800.0 ms | |
| Aug 05, 2026 07:07:29 PM UTC | Completed | Healthy | 829.1 ms | |
| Aug 04, 2026 08:52:13 PM UTC | Completed | Healthy | 812.8 ms | |
| Jul 31, 2026 06:46:29 AM UTC | Completed | Healthy | 775.5 ms | |
Public server reputation
Incident & change feed
| Timestamp | Event | Details |
|---|---|---|
| Aug 07, 2026 01:16:14 AM UTC | Latest validation: healthy | Score 60.9 with status healthy. |
| Aug 07, 2026 01:16:14 AM UTC | Score changed | Score delta +20.1 versus the previous run. |
| Aug 07, 2026 01:16:14 AM UTC | Tool snapshot changed | Added 25, removed 0, and changed 0 tool contracts. |
| Aug 07, 2026 01:16:14 AM UTC | Auth mode changed | Auth mode moved from unknown to public. |
| Aug 06, 2026 01:13:52 PM UTC | Score changed | Score delta -1.1 versus the previous run. |
| Aug 06, 2026 01:12:35 AM UTC | Score changed | Score delta -2.7 versus the previous run. |
| Aug 05, 2026 10:59:48 AM UTC | Score corrected (post-1.0.503 remediation, R1 zero-anchoring) | Prior: 74.72. Corrected: 71.46. |
Capabilities
- OAuth:
- DCR/CIMD:
- Prompts:
- Homepage: none
- Docs: none
- Support: none
- Icon: none
- Remote endpoint: https://mcp.nullary.ai/mcp
- Server card: none
Benchmark tasks
| Benchmark task | Status | Evidence |
|---|---|---|
| Discover tools | Passes |
|
| Read-only fetch flow | Likely to fail |
|
| OAuth-required connect | Degraded |
|
| Safe write flow with confirmation | Likely to fail |
|
Utility coverage
Transport compliance drilldown
Issues: missing_session_id, missing_protocol_header
Request association
Connector replay
Required-argument replay breaks
| Tool | Added required args | Removed required args |
|---|---|---|
| No required-argument replay breaks detected. | ||
Output-schema replay breaks
| Tool | Removed properties | Added properties |
|---|---|---|
| No output-schema replay breaks detected. | ||
Tool snapshot diff & changelog
Required-argument changes
| Tool | Added required args | Removed required args |
|---|---|---|
| No required-argument changes detected. | ||
Output-schema drift
| Tool | Previous properties | Latest properties |
|---|---|---|
| No output-schema drift detected. | ||
Validation diff
Regressed checks: oauth_protected_resource, provenance_divergence_probe, server_card
Improved checks: action_safety_probe, connector_replay_probe, determinism_probe, initialize, official_registry_probe, probe_noise_resilience, tool_snapshot_probe, tools_list
Newly assessed dimensions: interactive_flow_safety_score, prompt_contract_score, request_association_score, resource_contract_score, step_up_auth_score
No longer assessed dimensions: none
| Component | Previous | Latest | Delta |
|---|---|---|---|
| No component deltas between the latest two runs. | |||
Registry & provenance divergence
| Field | Registry | Live server card |
|---|---|---|
| Title | n/a | n/a |
| Version | n/a | n/a |
| Homepage | n/a | n/a |
Active alerts
- Tool snapshot changed (high)
Tools were added, removed, or materially changed between the latest two validations. - Auth mode changed (high)
Auth mode changed from unknown to public.
Aliases & registry graph
| Identifier | Source | Canonical | Score |
|---|---|---|---|
ai.nullary/nullary |
official_registry | yes | 60.9 |
Alias consolidation
Source disagreements
| Field | What differs | Observed values |
|---|---|---|
| No source disagreements detected. | ||
Fix it
Why this score?
Algorithmic score breakdown
Actionable remediation
| Severity | Remediation | Why it matters | Recommended action |
|---|---|---|---|
| High | Align session and protocol behavior with Streamable HTTP expectations | Clients increasingly rely on MCP-Protocol-Version, session teardown, and expired-session semantics. | Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.Playbook
|
| High | Expose /.well-known/oauth-protected-resource | Without a protected-resource document, OAuth clients cannot discover auth requirements reliably. | Serve /.well-known/oauth-protected-resource and point it at your authorization server metadata.Playbook
|
| High | Publish OAuth authorization-server metadata | Clients need authorization-server metadata to discover issuer, endpoints, and DCR support. | Publish /.well-known/oauth-authorization-server from your issuer and include registration_endpoint when supported.Playbook
|
| High | Publish a complete server card | Missing or incomplete server-card metadata weakens discovery, documentation, and trust signals. | Serve /.well-known/mcp/server-card.json and include tools, prompts/resources, homepage, and support links.Playbook
|
| High | Respond to auth mode changed | Auth mode changed from unknown to public. | Document the new auth posture and confirm protected-resource and challenge metadata still match reality. |
| High | Respond to tool snapshot changed | Tools were added, removed, or materially changed between the latest two validations. | Publish a first-class changelog for tool additions, removals, and breaking schema changes.Playbook
|
| Medium | Adopt a current MCP protocol revision | Older protocol revisions reduce compatibility with newer clients and registry programs. | Advertise a current MCP protocol revision (2025-06-18 or later) in both the initialize response and the MCP-Protocol-Version header.Playbook
|
| Medium | Close connector-publishing gaps | Connector catalogs care about protocol recency, session behavior, auth clarity, and tool-surface stability. | |
| Medium | Document minimal scopes and return cleaner auth challenges | Modern clients expect granular scopes and step-up auth signals such as WWW-Authenticate scope hints. | Return granular scopes and WWW-Authenticate challenge hints instead of forcing overly broad auth upfront.Playbook
|
| Medium | Publish OpenID configuration | OIDC metadata improves token validation and client compatibility. | Expose /.well-known/openid-configuration with issuer, jwks_uri, and supported grants.Playbook
|
| Medium | Support resumable HTTP sessions cleanly | Modern MCP clients increasingly expect resumable session behavior on streamable HTTP transports. | Persist session state keyed by Mcp-Session-Id and honor Last-Event-ID on GET reconnects so clients can resume a dropped Streamable HTTP session.Playbook
|
| Low | Expose modern utility surfaces like completions, pagination, or tasks | Utility coverage improves interoperability with larger clients and long-lived agent workflows. | Expose completions, pagination, and task metadata where supported so larger clients can plan and resume work safely.Playbook
|
| Low | Publish newer MCP capability signals | Roots, sampling, elicitation, structured outputs, and related metadata improve client understanding and ranking. | Advertise only the advanced capabilities (roots, sampling, elicitation) you have actually implemented end to end in the initialize capabilities object.Playbook
|
Point loss breakdown
| Component | Current | Points missing |
|---|---|---|
| Utility Coverage | 0/4 | -4.0 |
| Step Up Auth | 0/4 | -4.0 |
| Resource Contract | 0/4 | -4.0 |
| Request Association | 0/4 | -4.0 |
| Recovery Semantics | 0/4 | -4.0 |
| Prompt Contract | 0/4 | -4.0 |
| OAUTH Interop | 0/4 | -4.0 |
| Interactive Flow Safety | 0/4 | -4.0 |
| Advanced Capability Coverage | 0/4 | -4.0 |
| Egress SSRF Resilience | 1/4 | -3.0 |
| Discovery Metadata | 1/4 | -3.0 |
| Dependency Supply Chain Signal | 1/4 | -3.0 |
Compatibility profiles
Connector URL: https://mcp.nullary.ai/mcp # No OAuth metadata detected. # Server: ai.nullary/nullary
{
"mcpServers": {
"nullary": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.nullary.ai/mcp"]
}
}
}
smithery mcp add "https://mcp.nullary.ai/mcp"
curl -sS https://mcp.nullary.ai/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Governance
MCP TrustOps
TrustOps turns this report into operational controls: freshness SLAs, authenticated validation, semantic benchmarks, policy exports, alert subscriptions, badges, cost/compliance metadata, and runtime routing. Fresh trusted index decisions stay separate from long-tail inventory so stale scores do not masquerade as current evidence.
/v1/decideAlert subscription types
MCP Runtime hosting
Verify Hosted MCP turns a trusted server report into a managed remote MCP endpoint with GitHub deployment provenance, sandbox policy, encrypted secrets, release history, rollback, and audit/usage events.
/hosted/{namespace}/{name}/mcp| Deployment | Status | Endpoint | Release |
|---|---|---|---|
| No hosted runtime deployments yet. | |||
Authenticated validation sessions
Public validation is free. Authenticated validation is paid and proves scoped behavior, write-action safeguards, and authenticated tool execution.
/v1/verify/v1/ci/previewInstall snippets
Connector URL: https://mcp.nullary.ai/mcp # No OAuth metadata detected. # Server: ai.nullary/nullary
{
"mcpServers": {
"nullary": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.nullary.ai/mcp"]
}
}
}
smithery mcp add "https://mcp.nullary.ai/mcp"
curl -sS https://mcp.nullary.ai/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'
Agent access & tool surface
tools/list, prompts/list, and resources/list checks.ai.nullary/nullary.