nullary
Server Details
Negative results intelligence for drug discovery — query measured failures via MCP.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 2.9/5 across 35 of 35 tools scored. Lowest: 1.4/5.
Most tools have clearly distinct purposes by targeting specific failure types (e.g., ADMET, ADC, bispecific). However, the high number of similarly named 'search_failed_*' and 'search_*_failures' could cause confusion without careful reading, and subtle overlaps exist (e.g., search_failed_adcs vs search_adc_linker_failures are related but distinct).
All tool names follow a consistent verb_noun pattern with snake_case. The verbs 'search_', 'get_', and 'list_' are used appropriately and predictably, with no mixing of conventions.
With 35 tools, the server is on the high side but still appropriate for the broad domain of pharmaceutical failure data across many modalities. Each tool covers a specific niche, though some consolidation might be possible.
The tool surface is remarkably comprehensive, covering failures across small molecules, antibodies, ADCs, bispecifics, PROTACs, oligonucleotides, peptides, vaccines, CRISPR, and more. It includes meta-queries for indicators and targets, leaving no obvious dead ends for agents exploring failure data.
Available Tools
35 toolsget_compoundBRead-onlyIdempotentInspect
A compound (structure, name, max clinical phase) + its full negative profile across modalities/sources.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| chembl_id | No | ChEMBL molecule ID, e.g. CHEMBL941. | |
| inchi_key | No | Compound InChIKey (provide one of inchi_key, chembl_id, or pubchem_cid). | |
| pubchem_cid | No | PubChem Compound ID (CID). |
Output Schema
| Name | Required | Description |
|---|---|---|
| compound | No | Identity: pref_name, chembl_id, inchi_key, max_phase. |
| findings | No | Every negative finding for this molecule. |
| query_metadata | Yes | Echo of the resolved query. |
| returned_count | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description adds the scope 'full negative profile' but gives no details about pagination, tier semantics, or data handling beyond what the schema already documents. This is acceptable given the annotations, but offers minimal extra transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the key purpose: a compound plus its negative profile. Every word contributes meaning, with no filler or redundancy. It is exemplary in conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema, comprehensive annotations, and presence of an output schema, the description's high-level summary is largely sufficient. It captures the unique value of this tool (full negative profile) while leaving identifier details to the schema. A slightly more explicit statement about usage context would make it fully complete, but it is already adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All six parameters are thoroughly described in the schema (100% coverage), including defaults, constraints, and usage notes for compound identifiers. The tool description adds no parameter-level information, so the schema carries the full burden, earning the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the tool returns 'a compound (structure, name, max clinical phase) + its full negative profile across modalities/sources,' which clearly identifies the resource and output scope. It distinguishes from sibling search_* tools by indicating a direct retrieval of a compound entity, though it lacks an explicit verb other than the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many search_* alternatives, nor does it mention any prerequisites such as providing one of chembl_id, inchi_key, or pubchem_cid. There are no exclusions or alternative tool references, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_coverageARead-onlyIdempotentInspect
Per-modality and per-source coverage stats (honest Phase-1 numbers).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | |
| by_modality | No | Per-modality finding counts. |
| curated_total | No | |
| by_source_type | No | Per-source finding counts. |
| query_metadata | Yes | Echo of the resolved query. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive traits. The description adds the contextual caveat 'honest Phase-1 numbers', which signals data quality limitations or preliminary status, going beyond annotation-provided safety metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence delivers all essential information without redundancy, perfectly sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters and an output schema exists, so little extra explanation is needed. The description adequately scopes the data breakdown, though it could clarify what 'source' means; this is a minor gap for a simple stats tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, there is nothing to document. Baseline for no-param tools is 4, and the description correctly avoids fabricating parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (coverage stats) and the dimensions of breakdown (per-modality and per-source), distinguishing it from sibling tools like search_* and get_model_card which target different data. Although no explicit verb is used, the tool name and content make retrieval unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for coverage statistics but provides no explicit when-to-use guidance or mention of alternative tools. It does not state when not to use it, leaving the agent to infer its niche from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_finding_provenanceARead-onlyIdempotentInspect
Full provenance + detail for a single finding by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | finding UUID |
Output Schema
| Name | Required | Description |
|---|---|---|
| finding | No | The finding with source, DOI/PMID, assay context, and confidence tier. |
| query_metadata | Yes | Echo of the resolved query. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover safety. The description adds 'Full provenance + detail' indicating a comprehensive response, but does not elaborate on exact data shape or potential size limitations. With strong annotation coverage, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence conveys the purpose exactly with no wasted words. Every part is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter), has a full output schema, and annotations cover safety. The description fully specifies what and how, making it complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'id' is fully described in the schema as 'finding UUID' (100% coverage). The description does not add extra meaning beyond the schema, so baseline 3 applies per calibration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the action ('Full provenance + detail') and the resource ('a single finding by id'), clearly distinguishing it from sibling tools like get_compound or get_coverage which target other entities. The scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys appropriate usage: when you need comprehensive provenance information for one specific finding, identified by UUID. It does not explicitly name alternatives or exclusions, but the single-id scope is clear and distinct from the many search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_model_cardARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | gene symbol or UniProt accession (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| query_metadata | Yes | Echo of the resolved query. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering safety. The description adds meaningful context about the output contents (training counts, metrics, calibration) and input formats, which goes beyond the structured annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose ('Per-target Layer-1 model card'), and includes essential details without redundancies. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single parameter and an output schema (present), the description adequately covers the tool's behavior and return value semantics. It lacks explicit edge-case handling (e.g., invalid target), but the output schema and simple getter nature make this sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameter is fully documented. The description adds concrete examples (EGFR, P00533) and clarifies the two accepted identifier formats, which assists correct invocation beyond the schema's generic 'gene symbol or UniProt accession'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving a per-target Layer-1 model card with specific metrics (ROC-AUC, PR-AUC, Brier, calibration). It names the resource ('model card') and distinguishes it from sibling tools like get_coverage or get_target_landscape, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (to fetch model card for a target) and specifies accepted input formats (gene symbol or UniProt accession) with examples. It does not explicitly compare with alternatives or state exclusions, but the intended use is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_target_landscapeARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | gene symbol or UniProt accession (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| summary | No | One-line natural-language summary. |
| by_outcome | No | Per-outcome counts. |
| by_modality | No | Per-modality failed-agent counts. |
| query_metadata | Yes | Echo of the resolved query. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds context about the metric (distinct compounds/agents, modality/outcome breakdown) but does not disclose additional behavioral traits such as data coverage, performance, or rate limits. Since annotations carry the safety burden, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It front-loads the core concept immediately and then explains the input format, making it easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-only query tool with a single parameter, strong annotations, and an output schema. The description fully covers the purpose and input format, while the output schema handles return values. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of the single parameter (target) by specifying gene symbol or UniProt accession. The description reinforces this with concrete examples (EGFR, P00533), which is helpful but not essential beyond the schema. Baseline of 3 applies because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as a 'graveyard/exhaustion index' that counts distinct compounds/agents tried against a target and failed, broken down by modality and outcome. This is a specific verb+resource with a unique scope that distinguishes it from the many search_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description answers the question 'how picked-over is this target?', giving a clear use case for when to employ this tool. It does not explicitly name alternatives or exclusions, but the context is sufficient to differentiate it from the sibling search tools that focus on specific failure types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsARead-onlyIdempotentInspect
Summary of the Layer-1 inactivity-scoring model registry: how many per-target models, split by family, and median scaffold-split ROC-AUC.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| query_metadata | Yes | Echo of the resolved query. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only and idempotent, so the description adds value by specifying the exact summary metrics. It does not discuss output format details, but for a zero-parameter summary tool this is an acceptable level of disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the tool's purpose and packs the key output dimensions into an efficient list. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter, read-only summary tool with rich output schema and clear annotations, the description fully covers what the agent needs to know. It explains the domain and the computed statistics, leaving no ambiguity about the tool's scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides complete coverage with nothing to describe. Per the rubric, a zero-parameter tool earns a baseline of 4, and the description does not introduce any confusing parameter-related language.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool summarizes the Layer-1 inactivity-scoring model registry with specific metrics (per-target counts, family split, median ROC-AUC). It distinguishes itself from sibling tools like get_model_card by focusing on aggregate registry statistics rather than individual model details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance is provided. The description implies a high-level overview use case, but does not mention when to prefer this over get_model_card or search-based tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_top_targetsARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| family | No | target family filter (optional) |
Output Schema
| Name | Required | Description |
|---|---|---|
| query_metadata | Yes | Echo of the resolved query. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful context about the data source ('negative findings') and the 'graveyard' concept, but does not reveal internal ranking mechanics or other behavioral nuances. This is a moderate addition beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates purpose, ranking basis, and an optional filter. Every token earns its place; no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple list-tool nature, the presence of an output schema, strong annotations, and only two parameters, the description is sufficiently complete. It explains what is listed, how it is ranked, and the filtering option, leaving no critical gap for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description enriches the 'family' parameter by enumerating valid filter values (kinase, gpcr, protease, etc.) which are not present as an enum in the schema, adding meaningful semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource ('graveyard' targets ranked by negative findings) and a clear action (browse/list). It distinguishes itself from sibling search tools by presenting a coverage-browsing view rather than a detailed search, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies a use case: when you want to browse the most heavily-pursued targets by negative findings, optionally filtered by family. However, it does not explicitly mention when not to use this tool or name alternatives, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_adc_linker_failuresBRead-onlyIdempotentInspect
ADC failures attributed to linker chemistry.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false). The description adds a scoping constraint ('attributed to linker chemistry') but does not disclose pagination behavior, tier semantics, or how attribution is determined. This is analogous to the get_calls example where a scope constraint earns a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that efficiently communicates the core subject and is well front-loaded. It is not verbose, but it is arguably too sparse and lacks a verb to fully anchor the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, an output schema, and dozens of closely related sibling tools, this one-sentence description leaves significant gaps. It does not explain the curated vs all confidence tier, what qualifies as 'attributed to linker chemistry', or how this tool differs from search_failed_adcs. The output schema covers return shape but not selection context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for all six parameters (tier, limit, offset, target, outcome, compound), so the schema carries the full parameter burden. The description adds no additional parameter meaning, but the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource (ADC failures) and the specific attribute (linker chemistry), which distinguishes it from the broader sibling search_failed_adcs. However, it lacks an explicit action verb like 'search' or 'list', making it a noun phrase rather than a clear operational statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many sibling search_*_failure tools. It does not mention alternatives, prerequisites, or typical use cases, leaving the agent to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_admet_failuresCRead-onlyIdempotentInspect
Small-molecule ADMET failures.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to restate these. However, it adds zero behavioral context about pagination, output format, or filtering semantics, which is expected for a search tool. It fails to add value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than conciseness. There is no fluff, yet the single fragment 'Small-molecule ADMET failures.' does not convey sufficient operational detail; it functions more as a title than a description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 6 filters, an output schema, and many sibling tools, this description is severely incomplete. It does not explain what constitutes an ADMET failure, how results are ordered, how filters combine, or how this differs from 'search_admet_failures_all_modalities'. The schema covers parameter details, but the tool's overall behavior and context are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%—all 6 parameters have detailed descriptions (tier, limit, offset, target, outcome, compound). The description itself adds no parameter-specific meaning, but the baseline is 3 given the schema's thoroughness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('small-molecule ADMET failures') and implies scope, but lacks a verb to indicate what the tool does with them (search, list, fetch). It distinguishes somewhat from sibling 'search_admet_failures_all_modalities' by modality, but the action is only inferred from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of modality differences, curation tiers, or exclusions. The description simply states a noun phrase with no contextual advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_admet_failures_all_modalitiesBRead-onlyIdempotentInspect
ADMET failures across ALL modalities.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds only scope ('all modalities'), not behavior such as filtering behavior, result composition, or the meaning of the curated vs. all tier. It provides minimal additional behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct phrase with zero wasted words. It communicates the core purpose effectively in six words, making it well-sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a complete input schema, output schema, and strong annotations, the description's job is to supply high-level context. It does say 'ADMET failures across ALL modalities,' which gives the essential scope, but it lacks explicit direction on how this tool relates to sibling search tools or what 'all modalities' encompasses, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with rich descriptions for all six parameters, including enum details for 'tier' and pagination hints for 'limit' and 'offset'. The description adds no parameter-specific meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'ADMET failures across ALL modalities' clearly conveys the tool's scope as a cross-modality ADMET failure search, distinguishing it from modality-specific siblings like search_failed_antibodies. However, it lacks a verb (e.g., 'Search for'), making it a noun phrase rather than a full action statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'ALL modalities' implies the tool is for broad, modality-agnostic searches, offering some guidance on when to use it. Yet it does not explicitly state when to prefer this over alternatives like search_admet_failures (which may be a narrower subset) or modality-specific tools, nor does it provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_ancestry_specific_failuresDRead-onlyIdempotentInspect
Ancestry-specific CRISPR failures.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral context beyond the annotations. While annotations already declare readOnlyHint=true and destructiveHint=false, the description does not explain how the tool behaves (e.g., default tier, filtering semantics, what 'curated' vs 'all' means) or any limitations, making the agent rely solely on schema fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single under-specified sentence. It is not a case of conciseness but rather of inadequacy; no important information is front-loaded, and the description fails to earn its place by providing any actionable detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has six parameters and an output schema, the description should clarify what 'ancestry-specific CRISPR failures' means and how it overlaps or differs from sibling tools like search_failed_guides or search_failed_essentiality_screens. It does not, leaving the agent with insufficient context for effective selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are well-documented in the input schema itself. The description adds no additional parameter meaning, but the baseline of 3 is appropriate because the schema carries the full burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Ancestry-specific CRISPR failures.' is a noun phrase that essentially restates the tool name with the addition of 'CRISPR'. It lacks a verb (e.g., 'Search', 'List') and does not clarify the scope or distinguish it from sibling search_failure tools beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling search_* tools. No context about typical use cases, exclusions, or alternatives is provided, leaving the agent to infer applicability from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_bispecific_format_failuresCRead-onlyIdempotentInspect
Bispecific format/engineering failures.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. However, the description adds no behavioral context beyond that, such as default tier behavior, pagination semantics, or result scope. It neither contradicts nor enriches the annotations, leaving the description behaviorally silent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only four words, but it is an incomplete fragment that fails to form a meaningful sentence. While it is concise in length, it is under-specified and does not earn its place. A usable description would at least include a verb, such as 'Search for bispecific format/engineering failures.'
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's six-parameter schema, rich annotations, and the availability of many sibling search tools, the description is far too minimal to provide adequate context. It does not state the tool's main purpose in a complete way, nor does it hint at key behaviors like the tier filter or pagination. The schema covers parameters, but the description itself is insufficient for an agent to select and invoke the tool correctly without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all six parameters, including tier, limit, offset, target, outcome, and compound. The description itself adds no parameter-level meaning; it only restates the topic. The baseline of 3 is appropriate because the schema carries the full semantic load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Bispecific format/engineering failures.' is a noun phrase that essentially restates the tool name ('search_bispecific_format_failures') without providing a verb or explicit action. It adds a slight qualifier 'engineering' but does not clearly state what the tool does (e.g., 'search', 'list', 'retrieve'). While it hints at the resource, it lacks the specificity of a true purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus sibling tools such as 'search_failed_bispecifics' or 'search_failed_adcs'. There is no mention of preferred contexts, exclusions, or alternatives. The agent is left to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_developability_failuresDRead-onlyIdempotentInspect
Antibody developability failures.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description offers no behavioral information beyond what annotations already declare (readOnlyHint, idempotentHint, destructiveHint). It does not clarify what counts as a 'developability failure,' whether the results are curated or screening-grade, or how results are paginated. Since the description contributes nothing, transparency is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but under-specified rather than effectively concise. 'Antibody developability failures' is a fragment that could be a title, not a functional description. It fails to convey the tool's purpose or behavior, making it more of an under-specification than a well-structured concise description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (six parameters, many sibling failures searches, output schema present), the description is incomplete. It leaves the agent to infer developability scope, result types, and how this search relates to others. The schema and annotations provide some context, but the description does not fill critical gaps like what differentiates a 'developability failure' from a safety or efficacy failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with detailed descriptions for all six parameters (tier, limit, offset, target, outcome, compound). The description adds no parameter-level meaning, so the schema alone carries the semantic weight, yielding a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Antibody developability failures' is a noun phrase that essentially restates the tool name without a clear verb or action. It does not say what the tool does (e.g., 'Search for...') and does not distinguish it from sibling failure-search tools like search_failed_clinical_antibodies or search_inactive_compounds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of preferred use cases, exclusions, or relationships to sibling tools (e.g., search_failed_bispecifics or search_admet_failures). The description gives no context for selecting this search among the many failure-specific tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_drug_drug_interaction_failuresCRead-onlyIdempotentInspect
Drug-drug interaction failures.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides no behavioral disclosure. Annotations already indicate readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so those traits are covered. However, the description adds no context about what the results represent, how the curated/all tiers behave, or any limitations. It is not contradictory, but adds no value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely terse: a single short noun phrase. This is under-specification rather than effective concision. It does not earn its place because it conveys almost no information beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is far too minimal for a tool with 5 parameters, an output schema, and a large set of siblings. It does not explain what a drug-drug interaction failure is, how to use the tier or outcome filters, or what distinguishes this tool from other failure searches. Complete inadequacy for guiding an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a meaningful description. The tool description itself adds nothing about parameters, but the schema fully documents them. Baseline 3 is appropriate since the heavy lifting is done by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase, 'Drug-drug interaction failures,' lacking a verb or action. It restates the subject of the tool name without specifying the search/retrieval behavior. While it identifies the domain, it does not distinguish itself from the many sibling search tools beyond the topic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description offers no context, no comparisons to sibling tools, and no mention of appropriate scenarios. It is not misleading, but it completely fails to guide the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_failed_adcsCRead-onlyIdempotentInspect
ADCs that failed at any stage.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds the scope 'at any stage', which is a useful behavioral trait beyond annotations, but it does not explain how failures are defined or what stages are covered. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (four words) and front-loaded, but it is a sentence fragment that lacks structure. While efficient, it is too sparse to serve as a fully effective description for a tool with multiple parameters and many sibling alternatives.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, many sibling tools, output schema), the description is incomplete. It omits context about what 'failed' includes, the role of the tier parameter, and how it relates to other failure search tools. The output schema covers return values, but the description fails to provide sufficient operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema fully documents all six parameters. The description itself does not mention parameters or add semantics beyond the schema, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'ADCs that failed at any stage' clearly identifies the resource (ADCs) and the specific criterion (failed at any stage), which is more than a tautology. It differentiates from sibling tools by focusing specifically on ADCs, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus sibling tools such as search_failed_clinical_antibodies or search_inactive_compounds. The description offers no context for choosing this tool, leaving the agent to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_failed_bispecificsBRead-onlyIdempotentInspect
Bispecifics that failed at any stage.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds the scope 'at any stage,' which is a mild behavioral trait, but no further context about result semantics, open-world caveats, or pagination is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is efficient, though it could include more substance without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having a rich schema, annotations, and output schema, the description is too thin for the tool's context. With over 30 siblings, it does not clarify what 'failed at any stage' encompasses (e.g., clinical stages vs. preclinical), how it overlaps with search_bispecific_format_failures, or other important selection criteria.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all six parameters documented including defaults, ranges, and the tier enum. The description adds no parameter-level meaning beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Bispecifics that failed at any stage' clearly identifies the resource (bispecifics) and the state (failed at any stage), aligning with the tool's name. However, it lacks an explicit verb and does not differentiate this from sibling tools like search_bispecific_format_failures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. With many similar sibling tools (e.g., search_bispecific_format_failures, search_failed_clinical_antibodies), the description provides no selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_failed_clinical_antibodiesCRead-onlyIdempotentInspect
Discontinued/terminated clinical antibodies.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, providing the safety profile. The description adds only the subject matter (discontinued/terminated clinical antibodies) and no additional behavioral context such as pagination or result characteristics. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is under-specified rather than concise—it's a single fragment with no verb or contextual sentence. While it is short, it sacrifices necessary clarity and does not earn its place as a complete description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, a detailed schema, and rich annotations, the description still fails to explain the tool's purpose, scope, or when to select it among 30+ siblings. It provides no differentiation or result context, making it inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so parameters like 'tier', 'target', and 'outcome' are already fully documented. The description adds no parameter-specific information, earning the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase—'Discontinued/terminated clinical antibodies'—that restates the tool's subject without a verb or explicit action. It does not clearly state that the tool searches for or returns these antibodies, making it more of a label than a purpose statement. It adds some scope (clinical antibodies) but lacks the verb+resource clarity expected.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling search tools (e.g., search_failed_adcs, search_failed_bispecifics). No alternatives, exclusions, or contextual triggers are mentioned, leaving the agent to rely solely on the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_failed_essentiality_screensCRead-onlyIdempotentInspect
Non-dependency / failed essentiality screens.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the description does not need to cover safety. However, the description adds zero behavioral context beyond annotations, failing to explain what 'failed essentiality' means in terms of data or results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only six words long, but this is under-specification, not effective conciseness. For a tool with six parameters and an output schema, the description lacks essential substance and provides almost no value beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has multiple optional parameters and an output schema, indicating moderate complexity. The description is completely inadequate: it does not explain what a failed essentiality screen is, how the tier filter works, or what the output represents. An agent would need to rely entirely on the schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no parameter semantics itself, but the schema fully documents all six parameters, including the tier enum, limit/offset pagination, and filter fields like target, outcome, and compound.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Non-dependency / failed essentiality screens' is a noun phrase that essentially restates the tool name without a verb or clear action. It does not specify what the tool does (e.g., 'Search for screens where genes are non-essential') and does not differentiate it from sibling tools like search_inactive_compounds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its many siblings. No usage context, exclusions, or alternatives are mentioned, leaving the agent to guess based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_failed_guidesCRead-onlyIdempotentInspect
Failed/ineffective CRISPR guides.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses no behavioral traits such as pagination, filtering behavior, or return format. With readOnlyHint, openWorldHint, idempotentHint, and destructiveHint already provided in annotations, the description adds no additional context beyond the subject matter, which is more of a purpose detail than a behavioral one.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise to the point of being a fragment. It lacks a main verb and is not structured as a useful sentence. While there is no wasted text, the extreme under-specification does not earn credit for effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, a rich schema, and an output schema, the one-phrase description is wholly inadequate. It does not explain the tool's purpose, use cases, or any context beyond the label, leaving the agent to rely entirely on the name and schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention any parameters. However, schema description coverage is 100% (all 6 parameters have descriptions), so the baseline of 3 applies. The description adds no semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Failed/ineffective CRISPR guides.' is a noun phrase without a verb, essentially restating the tool name with added context ('CRISPR'). It does not clearly state that the tool searches for such guides, relying on the name to convey the action. The added 'CRISPR' helps differentiate from sibling tools but does not reach a full sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. No alternative tools are named, no exclusions are stated, and the only context is the implicit subject matter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_failed_oligonucleotidesBRead-onlyIdempotentInspect
ASOs/siRNAs that failed engagement/developability.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds the semantic scope of 'failed engagement/developability' but does not disclose behavioral details like pagination, tier filtering, or the nature of open-world results. This modest addition is consistent with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no wasted words, making it concise and front-loaded. However, it is a fragment lacking a verb, which slightly reduces its communicative efficiency. It earns a 4 rather than a 5 because of this minor structural weakness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six optional parameters, an output schema, and many closely related sibling tools, this description is too sparse. It does not explain what a returned finding looks like, how the tier parameter affects results, or how this tool differs from search_oligo_delivery_failures. An agent would need to rely heavily on sibling names and schema to make an informed selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (tier, limit, offset, target, outcome, compound) fully described in the schema. The tool description adds no extra parameter semantics, but the schema carries the burden effectively, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (ASOs/siRNAs) and the failure category (engagement/developability), which distinguishes it from sibling tools like search_failed_guides or search_oligo_delivery_failures. However, it is a noun phrase without an explicit verb, so the action of searching is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to choose this tool over closely related alternatives such as search_oligo_delivery_failures or search_failed_guides. The description does not mention exclusions, prerequisites, or scenarios where this tool is preferred, leaving the agent to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_failed_peptide_therapeuticsCRead-onlyIdempotentInspect
Failed peptide therapeutics.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, and the description adds no behavioral details such as pagination behavior, result scope, or tier semantics. No contradiction exists, but the description contributes zero transparency beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is under-specified rather than concise. 'Failed peptide therapeutics.' is only three words and does not provide actionable information; it fails to earn its place as a functional description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though the schema and annotations are rich, the description is too sparse to convey what 'failed peptide therapeutics' means, how the tier parameter changes results, or how this tool relates to other search_failed_* tools. The output schema exists but the tool's overall purpose and usage context remain unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with each parameter documented (tier, limit, offset, target, outcome, compound). The description itself adds no parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Failed peptide therapeutics.' is a noun phrase that merely restates the tool's name and title. It lacks a verb and does not distinguish this search from sibling tools such as search_failed_bispecifics or search_failed_vaccines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus its many siblings. The name implies a modality-specific search, but the description offers no selection criteria, exclusions, or context for choosing it over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_failed_protacsCRead-onlyIdempotentInspect
PROTACs that failed degradation/ternary/permeability.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the failure-mode scope (degradation, ternary, permeability) beyond the annotations, which provide read-only/idempotent safety hints. However, it does not explain behavior like pagination or what 'failed' means in terms of data provenance, so it adds only modest context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and has no fluff, but it reads as a fragment rather than a clear sentence. It is concise but under-specified, so it doesn't fully earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has six parameters, an output schema, and many closely related sibling tools, but the description states none of the usage context, alternative tools, or clarification of failure semantics. It is materially incomplete for a search tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already details all six parameters. The description adds no extra meaning to any parameter, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (PROTACs) and specific failure categories (degradation/ternary/permeability), but uses a noun phrase rather than a verb, so it's not explicit that this is a search/list operation. It distinguishes from some siblings but not clearly from search_protac_e3_issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool vs alternatives. It does not mention the tier parameter's purpose (curated vs all) or contrast with sibling tools like search_protac_e3_issues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_failed_replicationsCRead-onlyIdempotentInspect
Findings that failed to replicate.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is known. However, the description adds no behavioral context such as pagination behavior, tier semantics, or result interpretation, providing minimal value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short, front-loaded sentence with no filler. It is efficient, though it borders on under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, an output schema, and over 30 sibling tools, the description is too sparse to provide meaningful context. It lacks guidance on when failed-replication findings are relevant, how the tier filter changes results, or what distinguishes this tool from related failure searches. The output schema mitigates return-value ambiguity, but usage context remains missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each of the 6 parameters described, so the description does not need to repeat parameter roles. It also adds no extra meaning about how parameters like tier or outcome interact, but that is acceptable given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Findings that failed to replicate' clearly identifies the tool's purpose and resource scope. It is a specific noun phrase that conveys the search object, though it does not explicitly differentiate from sibling tools like search_failed_guides or search_inactive_compounds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description is a single fragment with no mention of prerequisites, exclusions, or comparison to the many related search_failed_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_failed_selectivityCRead-onlyIdempotentInspect
Small molecules that failed selectivity.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint true and destructiveHint false, so the agent knows it is safe. However, the description adds no behavioral context—it doesn't mention pagination, filtering parameters, or the open-world nature of results, and it neither enriches nor contradicts the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The eight-word description is short and without fluff, but it is a fragment rather than a full sentence. It leaves out essential context for a tool with 6 parameters, making it under-specified rather than properly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's 6 optional parameters, an output schema, and numerous sibling tools, the description is far too sparse. It doesn't explain what 'failed selectivity' means operationally, how results can be filtered via target/outcome/compound, or how to interpret the openWorldHint. This is insufficient for an agent to confidently select and invoke this tool over its alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of the 6 parameters, so the baseline score is 3. The description adds no parameter-specific meaning, such as how 'outcome' relates to selectivity or how 'tier' affects data quality, so it does not compensate beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Small molecules that failed selectivity' identifies the resource (small molecules) and the condition (failed selectivity), which differentiates it from sibling failure-search tools like search_safety_failures or search_mechanism_failures. However, it lacks an explicit verb such as 'search for' or 'list', relying on the tool name to convey the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention any of the many sibling search tools, nor does it give examples, exclusions, or typical query contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_failed_vaccinesBRead-onlyIdempotentInspect
Failed/terminated vaccines (by pathogen/indication).
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| indication | No | disease/indication |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations clearly indicate read-only, open-world, and idempotent behavior, so the safety profile is covered. The description adds no additional behavioral context (e.g., pagination, curated vs all tiers) beyond what annotations and schema already provide, but does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise fragment with no wasted words. It fronts the core resource (failed vaccines) and a key filter. However, its brevity borders on underspecification, though for the information it conveys, it is appropriately compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The rich input schema, annotations, and presence of an output schema compensate for the terse description. However, given the large sibling list and nuanced failure types, the description alone is insufficient to fully contextualize the tool's scope or return semantics, leaving gaps in decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter well-documented. The description adds only a vague mention of 'pathogen', which is not an actual parameter (it might map to 'target' or 'indication'), and does not clarify the tier or outcome filters beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as failed/terminated vaccines and adds a filtering dimension ('by pathogen/indication'), distinguishing it from generic failure searches. However, it lacks an explicit verb, relying on the tool name for 'search', and does not differentiate from siblings like search_vaccine_immunogenicity_failures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling search tools (e.g., search_failed_clinical_antibodies, search_vaccine_immunogenicity_failures). There are no exclusions, prerequisites, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_inactive_compoundsCRead-onlyIdempotentInspect
Inactive small-molecule compound-target pairs.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. However, the description adds no behavioral context such as pagination defaults, filtering behavior, or the curated versus all tier distinction, missing an opportunity to enrich beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single fragment, which is minimally sized, but it is under-specified and lacks structure. It neither front-loads a verb nor provides a complete sentence, making it less useful than a concise, action-oriented description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a rich input schema and an output schema, the description fails to provide a high-level overview of the tool's functionality, filters, or use cases. It is insufficient for a 6-parameter tool with multiple filtering options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all six parameters. The description itself adds no parameter semantics, but this is acceptable given the thorough schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 'inactive small-molecule compound-target pairs' but lacks an explicit action verb. It conveys the domain but not the operation (search/retrieve), so the purpose is vague though not a pure tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternative search_failed_* or search_* tools. There is no mention of exclusions, prerequisites, or recommended use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_indication_historyARead-onlyIdempotentInspect
ALL failed approaches for an indication across every modality.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| indication | Yes | indication (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive. The description adds the scope of 'ALL failed approaches' but does not disclose the default tier='curated' behavior, which may not return literally all rows, nor does it mention pagination or completeness caveats. Since annotations carry the safety profile, this is acceptable but not enhanced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with 'ALL', and contains no wasted words. It fully captures the essential purpose and scope in minimal space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is very brief and does not provide explicit usage guidance (e.g., when to use vs modality-specific siblings) or directly mention the tier distinction. Although the rich schema and annotations cover parameters and safety, additional context about the curated/all distinction and sibling alternatives would improve completeness for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for all four parameters including tier's confidence-tier semantics and limit/offset pagination. The description adds no additional parameter meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns all failed approaches for a given indication across all modalities, with the specific verb 'search' implied by the name. It distinguishes from modality-specific sibling tools like search_failed_adcs and search_failed_bispecifics by covering 'every modality'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies comprehensive cross-modality use via 'ALL' and 'every modality', but it does not explicitly state when to choose this tool over a modality-specific sibling or mention the tier parameter that lets users choose 'curated' vs 'all'. It lacks explicit alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_mechanism_failuresCRead-onlyIdempotentInspect
Approaches that failed for a mechanism (by target).
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive, so the safety profile is covered. However, the description adds little behavioral context—it does not mention what 'failed' means, how results are tiered, or any quirks like return format or pagination behavior. The 'by target' note is minimal scoping, not a meaningful behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise. However, it is under-specified rather than efficiently informative—it lacks sufficient detail to justify its length. It is not bloated, but it also does not use the sentence to convey critical selection information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, an output schema, and a large sibling group, this description is far too sparse. It fails to define the domain (what counts as a mechanism failure), explain the curated vs all tier distinction, or describe what the search results look like. Even with an output schema, the description should orient the agent on what to expect and how to narrow searches.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's 'by target' echoes the existing 'target' parameter description (UniProt accession or gene symbol) without adding new meaning. Other parameters like tier, limit, offset, outcome, and compound are not mentioned in the description, so it provides no extra value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Approaches that failed for a mechanism (by target)' names a resource but lacks an explicit verb, making it a noun phrase rather than a clear action. It adds 'by target' as a scoping detail, which prevents it from being a pure tautology, but 'mechanism' and 'approach' are vague and do not clearly distinguish this from sibling tools like search_safety_failures or search_admet_failures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling search_*_failures tools. There are no stated use cases, exclusions, or alternative tool references. With over 20 sibling tools, this lack of direction leaves an agent guessing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_oligo_delivery_failuresCRead-onlyIdempotentInspect
Oligonucleotide delivery failures.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds no behavioral context beyond the topic, providing no extra transparency about pagination, filtering dynamics, or what counts as a delivery failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (four words), but this is under-specification rather than effective conciseness. It lacks even a verb or any contextual framing, so it fails to provide meaningful guidance within its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 optional parameters, an output schema, and many sibling tools, the description is far too minimal. It does not clarify the specific scope ('delivery failures'), relationship to other search tools, or expected output, leaving the overall context incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides comprehensive descriptions for all 6 parameters, including enums, defaults, and meanings (100% coverage). The description itself does not add any parameter semantics, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Oligonucleotide delivery failures.' is a noun phrase that essentially restates the tool name without an action verb. It does not explicitly say 'search', 'list', or 'retrieve', making it a tautology of the title/name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many closely related sibling tools (e.g., search_failed_oligonucleotides). The description does not mention alternatives, exclusions, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_pathogen_historyBRead-onlyIdempotentInspect
Vaccine + antimicrobial + antibody failures for a pathogen.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| pathogen | Yes | pathogen name (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, and idempotentHint=true, so the safety profile is covered. The description adds the qualifier 'failures', indicating the tool returns negative outcomes only, which is not captured by annotations. However, it provides no additional behavioral context such as pagination behavior, result sorting, or the meaning of the curated vs. all tier.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct fragment of seven words that immediately conveys the tool's subject. It is front-loaded and contains no filler, though it is so terse that it borders on under-specification. It earns a 4 for efficiency rather than a 5 because it is not a complete sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich input schema, output schema, and comprehensive annotations, the description's minimalism is partially acceptable. It names the key result category (failures) and the pathogen focus, but it does not explain the curated vs. all tier behavior, which is a significant part of the tool's usage. Given the abundance of sibling tools, the description is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all four parameters (pathogen, tier, limit, offset) already fully described in the input schema. The description does not add any parameter-specific meaning beyond what the schema provides; the baseline of 3 applies because the schema carries the full semantic weight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Vaccine + antimicrobial + antibody failures for a pathogen' clearly specifies the tool's scope as a combination of three failure types for a given pathogen, which distinguishes it from siblings like search_failed_vaccines or search_target_history. However, it lacks an explicit verb such as 'search' or 'list', making it a noun phrase rather than a fully specified action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a user needs failure data across vaccine, antimicrobial, and antibody categories for a pathogen, but it does not explicitly state when to prefer this tool over more specific alternatives like search_failed_vaccines or search_failed_clinical_antibodies. No exclusions or alternative tool names are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_peptide_stability_issuesCRead-onlyIdempotentInspect
Peptide stability/half-life failures.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds no behavioral context beyond the topic, but it does not contradict the annotations. However, it does not disclose pagination, filtering behavior, or what 'failures' means in terms of data structure, so credit is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short—essentially a noun phrase—which is concise but under-specified. It does not 'earn its place' by adding information beyond the tool name; it merely reinforces the topic. While there is no verbosity, the minimalism reduces usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With numerous sibling tools covering similar domains (e.g., search_failed_peptide_therapeutics), the description is not complete enough to understand this tool's unique scope. The output schema exists, but the description fails to clarify whether results are limited to stability/half-life failures or how this differs from broader failure searches. This is a critical gap for tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 6 parameters are fully described in the schema (100% coverage), so the description does not need to elaborate on them. The schema already explains tier, limit, offset, target, outcome, and compound. The description adds no parameter-specific meaning, but the comprehensive schema covers this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Peptide stability/half-life failures' gives a general topic but lacks an explicit verb (e.g., 'Search for' or 'List'), and it does not distinguish this tool from closely related siblings like search_failed_peptide_therapeutics. It is more than a pure tautology because it specifies the subject area, but the purpose is vague without the name providing the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description does not mention exclusions, prerequisites, or compare with other search tools, especially the similar search_failed_peptide_therapeutics. This is a clear gap given the abundance of sibling search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_protac_e3_issuesCRead-onlyIdempotentInspect
PROTAC E3-ligase recruitment / ternary failures.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds no behavioral context—no mention of result format, pagination, or filtering scope—so it fails to enrich the agent's understanding beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short phrase with no wasted words, which is concise. However, it is structurally a fragment without a verb, making it under-specified rather than effectively front-loaded. It is not a complete sentence providing actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having a rich output schema and six optional parameters, the description fails to explain what constitutes an E3-ligase recruitment/ternary failure or what the returned results will contain. For a specialized domain, this is insufficient for an agent to correctly invoke and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description itself adds no parameter meaning, but each parameter (tier, target, outcome, compound, limit, offset) is well-documented in the schema, making the description unnecessary for this dimension.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'PROTAC E3-ligase recruitment / ternary failures' identifies a specific domain and distinguishes from sibling tools, but lacks an explicit verb or statement of action. It is more a topic label than a clear description of what the tool does, leaving the agent to infer 'search' from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like search_failed_protacs or search_mechanism_failures. The description provides no contextual cues for selection, and the sibling list is not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_safety_failuresBRead-onlyIdempotentInspect
Clinical/preclinical safety failures across modalities.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds scope context ('clinical/preclinical', 'across modalities') which annotations do not provide. However, it does not disclose any behavioral details such as default filtering behavior (e.g., tier='curated'), pagination, or the fact that it returns findings. The presence of openWorldHint is not leveraged in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact phrase with zero filler words, making it highly concise and front-loaded with the core domain ('safety failures'). However, its brevity borders on under-specification for a tool with six parameters and many siblings; a slightly longer description could add value without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the presence of an output schema and detailed parameter descriptions, the tool description is too skeletal for the complexity of the tool and its crowded sibling landscape. It fails to explain how this search differs from similarly named tools like search_admet_failures_all_modalities or search_failed_antibodies, and it does not mention the tier concept (curated vs all) or the types of outcomes included. The agent lacks enough context to confidently select this tool for a given query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for all 6 parameters, each with descriptive text (tier, limit, offset, target, outcome, compound). The tool description adds no parameter-specific information, but the schema descriptions are sufficient. Baseline 3 is appropriate since the schema carries the full burden and the description does not contradict or add meaningful parameter context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Clinical/preclinical safety failures across modalities' clearly identifies the resource (safety failures) and scope (clinical/preclinical, across modalities), distinguishing it from more specific sibling tools like search_admet_failures or search_failed_antibodies. However, it lacks an explicit verb like 'search' or 'list', relying on the tool name to convey the action. This makes it slightly less direct than the ideal 'verb + resource + scope' formulation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its many siblings such as search_admet_failures_all_modalities, search_failed_antibodies, or search_developability_failures. The description does not mention exclusions, prerequisites, or specific use cases. The agent is left to infer the intended usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_target_historyARead-onlyIdempotentInspect
ALL failed approaches against a target across every modality.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | Yes | UniProt accession or gene symbol (required) |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that only 'failed approaches' are returned and that the scope spans 'every modality', which is useful context beyond the readOnlyHint and idempotentHint annotations. However, it makes a strong 'ALL' claim that sits somewhat uneasily with the openWorldHint annotation, though not enough to be a contradiction. No additional behavioral traits (e.g., result ordering, data curation caveats) are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the core function and scope. It is front-loaded and every word contributes meaning, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with the comprehensive input schema and annotations, gives an agent enough context to invoke the tool correctly. The output schema is present, so return-value details do not need to be in the description. While the description is minimal, it fully captures the essential behavior, though slightly more clarity on what 'every modality' includes would be helpful given the large sibling family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: all four parameters (target, tier, limit, offset) have detailed descriptions in the input schema, including tier behavior for 'curated' vs 'all'. The tool description adds no parameter-level information beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'ALL failed approaches against a target across every modality', specifying both the resource (failed approaches) and the scope (any target, every modality). This effectively distinguishes it from the many modality-specific search_failed_* sibling tools, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'across every modality' implicitly establishes this as the cross-modality aggregate search tool, contrasting with sibling tools that target specific modalities. While it doesn't explicitly name alternatives, the context is clear enough for an agent to infer when to use this tool over modality-specific ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_vaccine_immunogenicity_failuresCRead-onlyIdempotentInspect
Failed vaccine immunogen designs.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Confidence tier. 'curated' (default) returns the credible layer; 'all' also includes high-volume screening-grade rows (PubChem HTS inactives, CRISPR non-essential tails). | curated |
| limit | No | Maximum number of findings to return (1–100, default 25). | |
| offset | No | Number of findings to skip before this page, for pagination (default 0). | |
| target | No | UniProt accession or gene symbol | |
| outcome | No | outcome filter (inactive, failed_safety, terminated, …) | |
| compound | No | compound name, ChEMBL ID, or InChIKey |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | No | Matching negative findings (same shape as the REST /findings endpoint). |
| has_more | No | True when more results exist beyond this page. |
| coverage_note | No | Honest coverage caveat for thin Phase-1 modalities (present only when relevant). |
| query_metadata | Yes | Echo of the resolved query — tool, limit, offset, and any applied presets. |
| returned_count | No | Findings returned in this page. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds no behavioral context beyond these annotations, such as pagination behavior, result volume, or what 'failed' means. It does not contradict annotations, but it also provides no additional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short ('Failed vaccine immunogen designs.'), but it is under-specified rather than concisely complete. It is a fragment that does not form an instructive sentence, making it closer to the 'Process' example than to an efficient two-word summary that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 6-parameter search tool, rich annotations, and output schema, the description is too sparse to be complete. It does not explain the scope of 'failed vaccine immunogen designs', how it relates to sibling tools, or any context about the failure categories. The tool relies entirely on the name and schema for meaning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of the 6 parameters having a descriptive comment (e.g., tier, limit, offset, target, outcome, compound). The description itself adds no parameter-specific meaning, so the baseline of 3 applies because the schema carries the parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Failed vaccine immunogen designs' is a noun phrase, not a statement with a verb. It essentially restates the tool name 'vaccine_immunogenicity_failures' in different words, providing no explicit action like 'search' or 'list'. It does not distinguish this tool from siblings such as search_failed_vaccines.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives. No prerequisites, exclusions, or alternative tool mentions are present. Siblings like search_failed_vaccines and search_peptide_stability_issues could overlap, but the description does not clarify the distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceNegative results intelligence for drug discovery: inactive compounds, failed selectivity panels, terminated clinical trials, failed CRISPR screens, antibody developability failures, and more — each result carrying full provenance (source database, DOI/PMID, license)1MIT
- AlicenseAqualityBmaintenancePre-clinical drug discovery intelligence MCP server providing 44 tools to query 800+ drug targets, 12K+ compounds, 46K+ papers, 18K+ clinical trials, and 16K+ patents.44Apache 2.0
- FlicenseAqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for accessing the SureChEMBL chemical patent database.157
- Alicense-qualityDmaintenanceMCP server for clinical and pharmaceutical data, enabling search of ClinicalTrials.gov, PubMed, FDA, and ICH guidelines without API keys.32MIT