Skip to main content
Glama
Augmented-Nature

Unofficial PubChem MCP Server

PubChem MCP Server Logo

Unofficial PubChem MCP Server

A comprehensive Model Context Protocol (MCP) server for accessing the PubChem chemical database. This server provides access to over 110 million chemical compounds with extensive molecular properties, bioassay data, and chemical informatics tools.

Features

πŸ” Chemical Search & Retrieval (6 tools)

  • search_compounds - Search by name, CAS number, formula, or identifier

  • get_compound_info - Detailed compound information by CID

  • search_by_smiles - Exact SMILES string matching

  • search_by_inchi - InChI/InChI key search

  • search_by_cas_number - CAS Registry Number lookup

  • get_compound_synonyms - All names and synonyms

🧬 Structure Analysis & Similarity (5 tools)

  • search_similar_compounds - Tanimoto similarity search

  • substructure_search - Find compounds containing substructures

  • superstructure_search - Find larger compounds containing query

  • get_3d_conformers - 3D structural information

  • analyze_stereochemistry - Chirality and isomer analysis

βš—οΈ Chemical Properties & Descriptors (6 tools)

  • get_compound_properties - Molecular weight, logP, TPSA, etc.

  • calculate_descriptors - Comprehensive molecular descriptors

  • predict_admet_properties - ADMET predictions

  • assess_drug_likeness - Lipinski Rule of Five analysis

  • analyze_molecular_complexity - Synthetic accessibility

  • get_pharmacophore_features - Pharmacophore mapping

πŸ§ͺ Bioassay & Activity Data (5 tools)

  • search_bioassays - Find biological assays

  • get_assay_info - Detailed assay protocols

  • get_compound_bioactivities - All activity data for compounds

  • search_by_target - Find compounds tested against targets

  • compare_activity_profiles - Cross-compound comparisons

⚠️ Safety & Toxicity (4 tools)

  • get_safety_data - GHS hazard classifications

  • get_toxicity_info - LD50, carcinogenicity data

  • assess_environmental_fate - Biodegradation analysis

  • get_regulatory_info - FDA, EPA regulations

πŸ”— Cross-References & Integration (4 tools)

  • get_external_references - Links to ChEMBL, DrugBank, etc.

  • search_patents - Chemical patent information

  • get_literature_references - PubMed citations

  • batch_compound_lookup - Bulk processing (up to 200 compounds)

Related MCP server: SureChEMBL MCP Server

Resource Templates

Access PubChem data through URI patterns:

  • pubchem://compound/{cid} - Complete compound data

  • pubchem://structure/{cid} - 2D/3D structure information

  • pubchem://properties/{cid} - Molecular properties

  • pubchem://bioassay/{aid} - Bioassay data

  • pubchem://similarity/{smiles} - Similarity search results

  • pubchem://safety/{cid} - Safety and toxicity data

Installation

# Clone or create the server directory
cd pubchem-server

# Install dependencies
npm install

# Build the server
npm run build

# Run the server
npm start

Usage

// Search for compounds by name
{
  "tool": "search_compounds",
  "arguments": {
    "query": "aspirin",
    "max_records": 10
  }
}

// Get detailed compound information
{
  "tool": "get_compound_info",
  "arguments": {
    "cid": 2244
  }
}

Structure Analysis

// Find similar compounds
{
  "tool": "search_similar_compounds",
  "arguments": {
    "smiles": "CC(=O)OC1=CC=CC=C1C(=O)O",
    "threshold": 85,
    "max_records": 50
  }
}

// Analyze molecular properties
{
  "tool": "get_compound_properties",
  "arguments": {
    "cid": 2244,
    "properties": ["MolecularWeight", "XLogP", "TPSA"]
  }
}

Bioactivity Analysis

// Get bioassay information
{
  "tool": "get_assay_info",
  "arguments": {
    "aid": 1159607
  }
}

// Search compounds by target
{
  "tool": "search_by_target",
  "arguments": {
    "target": "cyclooxygenase",
    "max_records": 100
  }
}

Safety Information

// Get safety classifications
{
  "tool": "get_safety_data",
  "arguments": {
    "cid": 2244
  }
}

Batch Processing

// Process multiple compounds
{
  "tool": "batch_compound_lookup",
  "arguments": {
    "cids": [2244, 5090, 3672],
    "operation": "property"
  }
}

Integration with Other MCP Servers

This PubChem server integrates perfectly with other chemical/biological databases:

Complete Chemical Informatics Pipeline

1. Target Discovery: UniProt β†’ STRING β†’ AlphaFold
2. Chemical Discovery: PubChem ← β†’ ChEMBL
3. Complete Workflow: Protein β†’ Structure β†’ Interactions β†’ Small Molecules β†’ Bioactivity

Cross-Database Workflows

  • UniProt β†’ PubChem: Find protein targets β†’ Find small molecule ligands

  • PubChem β†’ ChEMBL: Discover compounds β†’ Analyze bioactivity data

  • STRING β†’ PubChem: Protein interactions β†’ Chemical modulators

API Rate Limits

PubChem API guidelines:

  • 5 requests per second

  • 400 requests per minute maximum

  • No API key required

  • Respectful usage encouraged

Data Sources

  • 110+ million compounds with full chemical data

  • 1.5+ million bioassays with biological activity

  • Chemical properties and computed descriptors

  • 3D conformers and structural data

  • Safety classifications and toxicity information

  • Cross-references to 500+ external databases

Error Handling

The server includes comprehensive error handling:

  • Invalid compound IDs return clear error messages

  • API timeouts are handled gracefully

  • Rate limiting compliance built-in

  • TypeScript validation for all inputs

Contributing

This server uses:

  • TypeScript for type safety

  • Axios for HTTP requests

  • MCP SDK for protocol compliance

  • PubChem REST API for data access

License

MIT License - See LICENSE file for details.

Support

For issues with:

  • Server functionality: Check error messages and API responses

  • PubChem API: Refer to official PubChem documentation

  • Chemical data: Validate compound identifiers and search terms

Examples

Drug Discovery Workflow

// 1. Search for anti-inflammatory compounds
{
  "tool": "search_compounds",
  "arguments": {
    "query": "anti-inflammatory",
    "max_records": 100
  }
}

// 2. Analyze drug-likeness
{
  "tool": "assess_drug_likeness",
  "arguments": {
    "cid": 2244
  }
}

// 3. Check safety profile
{
  "tool": "get_safety_data",
  "arguments": {
    "cid": 2244
  }
}

// 4. Find bioactivity data
{
  "tool": "search_by_target",
  "arguments": {
    "target": "COX-2",
    "activity_type": "IC50"
  }
}

Chemical Similarity Analysis

// 1. Find similar compounds
{
  "tool": "search_similar_compounds",
  "arguments": {
    "smiles": "your_query_smiles",
    "threshold": 90
  }
}

// 2. Compare molecular properties
{
  "tool": "batch_compound_lookup",
  "arguments": {
    "cids": [1234, 5678, 9012],
    "operation": "property"
  }
}

// 3. Analyze structural features
{
  "tool": "analyze_stereochemistry",
  "arguments": {
    "cid": 1234
  }
}

Architecture

The server is built with a modular architecture:

  • Type-safe validation for all API inputs

  • Comprehensive error handling with clear messages

  • Efficient batch processing for multiple compounds

  • Resource templates for direct data access

  • Integration-ready for multi-database workflows

This makes it the most comprehensive chemical informatics MCP server available!

Citation

If you use this project in your research or publications, please cite it as follows:

author = {Moudather Chelbi},
title = {PubChem MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/PubChem-MCP-Server},
note = {Accessed: 2025-06-29}

Available Tools

30 tools
analyze_molecular_complexityC

Analyze molecular complexity and synthetic accessibility

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool analyzes molecular complexity and synthetic accessibility but does not describe how it behavesβ€”e.g., whether it returns scores, reports, or predictions; if it requires specific permissions or has rate limits; or what the output format is. This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core functionality and appropriately sized for the context, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of molecular analysis, no annotations, and no output schema, the description is incomplete. It does not explain what the analysis entails, the format or content of results, or any behavioral traits. This leaves significant gaps for an AI agent to understand how to use the tool effectively, especially compared to more detailed siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'cid' parameter clearly documented as a PubChem Compound ID. The description does not add any parameter-specific information beyond the schema, but with only one parameter and high schema coverage, the baseline is strong. No additional semantics are needed, so a score of 4 reflects adequate parameter understanding from the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose as analyzing molecular complexity and synthetic accessibility, which is clear but vague. It specifies the action ('analyze') and domain ('molecular complexity and synthetic accessibility'), but lacks specificity on what 'analyze' entails (e.g., scoring, classification, or detailed breakdown) and does not differentiate from siblings like 'calculate_descriptors' or 'assess_drug_likeness', which might overlap in assessing compound properties.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention prerequisites, context (e.g., for drug discovery or chemical synthesis), or exclusions. With siblings like 'calculate_descriptors' and 'assess_drug_likeness' that might relate to molecular analysis, the lack of differentiation leaves usage ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_stereochemistryC

Analyze stereochemistry, chirality, and isomer information

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states what the tool analyzes but doesn't reveal any behavioral traits - whether it performs calculations, retrieves pre-computed data, requires specific permissions, has rate limits, returns structured data, or has any side effects. For a tool with zero annotation coverage, this is a significant gap in behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise - just 6 words listing three analysis domains. While efficient, it may be too brief given the lack of other contextual information. The structure is simple and front-loaded with the core purpose, but could benefit from additional context to make it more helpful for an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of stereochemical analysis and the absence of both annotations and output schema, the description is incomplete. It doesn't explain what kind of analysis is performed, what format the results take, whether this is a computational or lookup operation, or how it differs from related compound analysis tools. For a specialized analytical tool with no structured metadata, the description should provide more context about the operation and expected outputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'cid' clearly documented as 'PubChem Compound ID (CID)'. The description doesn't add any parameter information beyond what's in the schema. With high schema coverage and only one parameter, the baseline score of 3 is appropriate - the schema does the heavy lifting, and the description doesn't need to compensate for gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool analyzes stereochemistry, chirality, and isomer information, which gives a general purpose but lacks specificity about what resource or data source it operates on. It doesn't distinguish itself from siblings like 'get_compound_properties' or 'calculate_descriptors' that might also provide stereochemical information. The description is vague about whether this is a calculation, retrieval, or analysis operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 alternatives. With many sibling tools available for compound analysis (like get_compound_info, calculate_descriptors, get_3d_conformers), the description gives no indication of what makes this tool unique or when it should be preferred over other compound analysis tools. There's no mention of prerequisites, limitations, 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.

assess_drug_likenessC

Assess drug-likeness using Lipinski Rule of Five, Veber rules, and PAINS filters

ParametersJSON Schema
NameRequiredDescriptionDefault
cidNoPubChem Compound ID (CID)
smilesNoSMILES string (alternative to CID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the assessment methods (Lipinski, Veber, PAINS) but doesn't describe what the tool returns (e.g., pass/fail results, scores, or detailed outputs), whether it's read-only or has side effects, or any limitations like rate limits or input constraints. This leaves significant gaps for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('Assess drug-likeness' and the methods list) earns its place by conveying essential information concisely.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete for a tool that assesses compound properties. It lacks details on return values (e.g., what the assessment outputs), behavioral traits (e.g., if it's a read operation), and usage context. For a tool with 2 parameters and complex functionality (drug-likeness assessment), this leaves too many gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters ('cid' and 'smiles') well-documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't clarify if both parameters are required together or alternatives, or provide examples). Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Assess drug-likeness using Lipinski Rule of Five, Veber rules, and PAINS filters'. It specifies the action ('assess') and the resource ('drug-likeness'), and mentions the specific methods used. However, it doesn't explicitly differentiate from siblings like 'predict_admet_properties' or 'calculate_descriptors', which might also evaluate compound properties.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention prerequisites (e.g., needing a CID or SMILES), exclusions, or compare it to sibling tools like 'predict_admet_properties' or 'calculate_descriptors' that might overlap in assessing compound characteristics. Usage is implied but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

assess_environmental_fateC

Assess environmental fate including biodegradation and bioaccumulation

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool assesses environmental fate but doesn't describe what the assessment entails (e.g., returns predictions, scores, or detailed reports), whether it's a read-only operation, potential limitations, or error conditions. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely conciseβ€”a single sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. Every word earns its place by specifying the assessment focus ('environmental fate') and key components ('biodegradation and bioaccumulation').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of environmental fate assessment and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., scores, predictions, or detailed analyses), potential dependencies, or how it differs from related tools. For a tool with no structured output information, the description should provide more context to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'cid' parameter clearly documented as 'PubChem Compound ID (CID).' The description doesn't add any parameter-specific information beyond what the schema provides, such as format examples or constraints. However, with high schema coverage, the baseline score of 3 is appropriate, as the schema adequately handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Assess environmental fate including biodegradation and bioaccumulation.' It specifies the action ('assess') and the resource ('environmental fate'), and distinguishes it from siblings by focusing on environmental properties rather than molecular complexity, stereochemistry, drug-likeness, or other chemical analyses. However, it doesn't explicitly name the resource being assessed (e.g., 'compound' or 'chemical'), which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention prerequisites, context for environmental fate assessment, or differentiate from similar tools like 'get_safety_data' or 'get_toxicity_info' that might overlap with environmental concerns. Without any usage context, the agent must infer when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_compound_lookupC

Process multiple compound IDs efficiently

ParametersJSON Schema
NameRequiredDescriptionDefault
cidsYesArray of PubChem CIDs (1-200)
operationNoOperation to perform (default: property)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions 'efficiently' which hints at batch optimization, but doesn't disclose critical behavioral traits like rate limits, error handling for invalid CIDs, whether operations are atomic, response format, or performance characteristics. For a batch tool with no annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's appropriately sized for a tool with good schema documentation and gets straight to the point about batch processing compound IDs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete for a batch processing tool. It doesn't explain what 'process' means operationally, what results to expect, error conditions, or how this differs from single-compound siblings. For a tool with 2 parameters and multiple operation types, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain what the 'operation' enum values mean in practice or provide examples of CID arrays). Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Process multiple compound IDs efficiently' clearly states the verb ('process') and resource ('multiple compound IDs'), and the 'efficiently' hint suggests batch processing. However, it doesn't explicitly distinguish this batch operation from sibling tools like 'get_compound_info' or 'get_compound_properties' that might handle single compounds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. With siblings like 'get_compound_info', 'get_compound_properties', and 'get_compound_synonyms', there's no indication whether this tool is preferred for bulk operations or how it relates to those single-compound tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_descriptorsC

Calculate comprehensive molecular descriptors and fingerprints

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)
descriptor_typeNoType of descriptors (default: all)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'comprehensive' but doesn't detail what that entails, such as computational intensity, rate limits, output format, or whether it's a read-only operation. This leaves significant gaps for an AI agent to understand how the tool behaves beyond basic calculation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, front-loading the key action and resource. It's appropriately sized for the tool's complexity, making it easy to parse quickly without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral traits, return values, or how it differs from sibling tools, which is crucial for a tool in a crowded molecular analysis context. This leaves the AI agent with insufficient information for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters well. The description adds no additional meaning beyond implying 'comprehensive' might relate to 'descriptor_type', but it doesn't clarify syntax or usage details. This meets the baseline for adequate but unenhanced parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'calculate' and the resource 'molecular descriptors and fingerprints', making the purpose evident. However, it doesn't differentiate from siblings like 'get_compound_properties' or 'predict_admet_properties', which might also involve molecular analysis, leaving room for ambiguity in tool selection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. With many sibling tools for molecular analysis, the description lacks context on prerequisites, scenarios, or exclusions, making it unclear how it fits into workflows compared to tools like 'analyze_molecular_complexity' or 'get_compound_properties'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_activity_profilesC

Compare bioactivity profiles across multiple compounds

ParametersJSON Schema
NameRequiredDescriptionDefault
cidsYesArray of PubChem CIDs (2-50)
activity_typeNoSpecific activity type for comparison (optional)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It implies a read-only comparison operation but doesn't specify output format, performance characteristics, rate limits, or error conditions. For a tool with 2 parameters and no output schema, this leaves significant gaps in understanding how it behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a tool with clear parameters and no complex behavioral nuances to explain.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (comparing multiple compounds), lack of annotations, and absence of an output schema, the description is insufficiently complete. It doesn't explain what the comparison yields (e.g., similarity scores, visualizations, or structured data), which is critical for an agent to understand the tool's utility and integrate results into workflows.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain what 'bioactivity profiles' consist of or how the comparison is performed). This meets the baseline expectation when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as comparing bioactivity profiles across compounds, specifying both the action (compare) and the resource (bioactivity profiles). It distinguishes from siblings like 'get_compound_bioactivities' (which retrieves rather than compares) and 'search_bioassays' (which searches rather than compares profiles), though it doesn't explicitly name these alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention prerequisites, appropriate contexts, or exclusions, leaving the agent to infer usage from the purpose alone. For example, it doesn't clarify if this is for exploratory analysis versus targeted comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_3d_conformersC

Get 3D conformer data and structural information

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)
conformer_typeNoType of conformer data (default: 3d)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Get' which implies a read operation, but doesn't specify aspects like rate limits, authentication needs, data formats, or potential side effects. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded with a single, clear sentence that states the tool's purpose without any wasted words. It efficiently communicates the core function, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of molecular data retrieval and the lack of annotations and output schema, the description is insufficient. It doesn't explain what '3D conformer data and structural information' entails, the format of returned data, or any limitations, leaving the agent with incomplete context for proper tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting both parameters (cid and conformer_type) with details like data types and enums. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score without compensating for any gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('3D conformer data and structural information'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_compound_info' or 'calculate_descriptors', which might also provide structural data, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. With many sibling tools available for compound analysis, there is no mention of specific use cases, prerequisites, or exclusions, leaving the agent to infer usage from 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.

get_assay_infoC

Get detailed information for a specific bioassay by AID

ParametersJSON Schema
NameRequiredDescriptionDefault
aidYesPubChem Assay ID (AID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Get' implies a read-only operation, it doesn't specify authentication requirements, rate limits, what 'detailed information' includes, error conditions, or response format. For a tool with no annotation coverage, this leaves significant behavioral questions unanswered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple lookup tool and front-loads the essential information about what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'detailed information' includes, the response format, potential errors, or how this differs from related tools. Given the complexity of bioassay data and the rich sibling toolset, users need more context to use this effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions 'by AID' which aligns with the single 'aid' parameter in the schema. Since schema description coverage is 100% (the aid parameter has a clear description), the description adds minimal value beyond what's already in the structured schema. The baseline of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get detailed information') and the resource ('for a specific bioassay by AID'), making the purpose immediately understandable. However, it doesn't differentiate this tool from potential siblings like 'get_compound_info' or 'search_bioassays' - it's a specific lookup tool but the distinction isn't explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. With siblings like 'search_bioassays' and 'get_compound_bioactivities' available, there's no indication whether this is for retrieving metadata about assays themselves versus activity data, or when one would choose this over search tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_compound_bioactivitiesC

Get all bioassay results and activities for a compound

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)
activity_outcomeNoFilter by activity outcome (default: all)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Get all bioassay results and activities', which implies a read-only operation, but does not specify aspects like rate limits, authentication needs, pagination, or what 'all' entails (e.g., completeness, format). This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It is front-loaded and wastes no space, making it highly concise and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of retrieving bioassay data, no annotations, and no output schema, the description is insufficient. It lacks details on return values, data format, potential limitations, or how it integrates with sibling tools, leaving the agent with incomplete context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting both parameters (cid and activity_outcome) with details like filtering and enum values. The description adds no additional meaning beyond this, such as explaining the scope of 'bioassay results' or how parameters interact, so it meets the baseline score for high schema coverage without adding value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'all bioassay results and activities for a compound', making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'search_bioassays' or 'compare_activity_profiles', which might offer overlapping or related functionality, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. With sibling tools such as 'search_bioassays' and 'compare_activity_profiles', it's unclear if this tool is for retrieving all data for a specific compound or if other tools should be used for different scenarios, leaving the agent without explicit usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_compound_infoC

Get detailed information for a specific compound by PubChem CID

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)
formatNoOutput format (default: json)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but provides minimal information. It doesn't indicate whether this is a read-only operation, what kind of authentication might be required, potential rate limits, error conditions, or what 'detailed information' actually includes. The description is functional but lacks important behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a straightforward lookup tool and front-loads the essential information without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'detailed information' includes, what format the output takes, or provide any context about the scope or limitations of the information returned. Given the complexity implied by the sibling tools (which handle specific aspects like properties, bioactivities, safety data), this description should clarify what comprehensive information it provides.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it mentions 'PubChem CID' which the schema already covers, and doesn't elaborate on format choices or provide examples. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get detailed information') and target resource ('specific compound by PubChem CID'), which distinguishes it from siblings like get_compound_properties or get_compound_synonyms that retrieve specific subsets of information. However, it doesn't explicitly differentiate from batch_compound_lookup or search_compounds, which could also retrieve compound information through different mechanisms.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention when to prefer this over batch_compound_lookup for single compounds, or when to use get_compound_properties versus this more comprehensive information retrieval. There's no context about prerequisites 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.

get_compound_propertiesC

Get molecular properties (MW, logP, TPSA, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)
propertiesNoSpecific properties to retrieve (optional)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves properties but does not cover critical aspects such as data source, rate limits, error handling, or response format. This leaves significant gaps for an agent to understand how the tool behaves in practice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely conciseβ€”a single sentence that efficiently conveys the core functionality without any wasted words. It is front-loaded with the main action and includes helpful examples, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete for effective tool use. It does not explain what the return values look like (e.g., format, units), potential limitations, or how it integrates with other tools in the server, leaving the agent with insufficient context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting both parameters (cid and properties). The description adds minimal value by implying the types of properties (e.g., MW, logP, TPSA) but does not provide additional syntax, constraints, or examples beyond what the schema already specifies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('molecular properties'), and lists examples of properties (MW, logP, TPSA). However, it does not explicitly distinguish this tool from similar siblings like 'calculate_descriptors' or 'get_compound_info', which might also retrieve property-related data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. With many sibling tools available (e.g., 'calculate_descriptors', 'get_compound_info'), there is no mention of specific contexts, prerequisites, or exclusions to help an agent choose appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_compound_synonymsB

Get all names and synonyms for a compound

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves data ('Get'), implying a read-only operation, but does not disclose any behavioral traits such as rate limits, authentication needs, error handling, or the format of returned synonyms. This leaves significant gaps in understanding how the tool behaves beyond its basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words or fluff. It is front-loaded and appropriately sized for a simple retrieval tool, making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter, high schema coverage, and no output schema, the description is minimally complete. It covers the basic function but lacks details on output format, error cases, or integration with sibling tools. Given the simplicity, it meets the minimum threshold but could be more informative to fully guide an AI agent in complex scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'cid' parameter clearly documented as 'PubChem Compound ID (CID)' of type number or string. The description adds no additional meaning beyond this, as it does not elaborate on parameter usage, constraints, or examples. Given the high schema coverage, a baseline score of 3 is appropriate, as the schema adequately handles parameter semantics without extra description value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('all names and synonyms for a compound'), making the purpose specific and understandable. However, it does not explicitly distinguish this tool from sibling tools like 'get_compound_info' or 'search_compounds', which might also retrieve compound-related data, leaving some ambiguity in differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, such as sibling tools like 'get_compound_info' or 'search_by_smiles'. It lacks context on prerequisites, exclusions, or specific scenarios where retrieving synonyms is preferred over other compound data, offering minimal usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_external_referencesC

Get links to external databases (ChEMBL, DrugBank, KEGG, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action 'Get links' but doesn't describe what the output looks like (e.g., format, structure), whether it's a read-only operation, potential rate limits, or error handling. This is inadequate for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It front-loads the purpose and includes relevant examples (ChEMBL, DrugBank, KEGG) without unnecessary elaboration. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of retrieving external database links, no annotations, and no output schema, the description is incomplete. It lacks details on output format, behavioral traits, and usage context. This is a significant gap for a tool that likely returns structured data from multiple sources.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter 'cid' clearly documented as 'PubChem Compound ID (CID)'. The description doesn't add any parameter details beyond what the schema provides, such as examples or constraints. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and resource 'links to external databases', specifying examples like ChEMBL, DrugBank, and KEGG. It distinguishes from siblings by focusing on external database links rather than properties, bioactivities, or other compound data. However, it doesn't explicitly contrast with similar tools like 'get_literature_references' or 'get_compound_info'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention prerequisites, context for selecting external databases, or how it differs from sibling tools like 'get_compound_info' or 'get_literature_references'. The description implies usage for external links but offers no explicit when/when-not instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_literature_referencesC

Get PubMed citations and scientific literature references

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states what the tool returns (PubMed citations/literature references) but doesn't disclose format, pagination, rate limits, authentication needs, or whether it's a read-only operation. For a tool with zero annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one short phrase) with zero wasted words. It's front-loaded with the core purpose. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a single parameter, the description is incomplete. It doesn't explain what format the references come in, how many are returned, whether there are limitations, or what happens with invalid CIDs. For a tool that presumably returns structured data, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the single parameter 'cid' is well-described in the schema as 'PubChem Compound ID (CID)'). The description doesn't add any parameter information beyond what's in the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get PubMed citations and scientific literature references' specifies the action (get) and resource (PubMed citations/literature references). It distinguishes from many siblings focused on molecular analysis, but doesn't explicitly differentiate from 'get_external_references' which might overlap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 prerequisites, constraints, or when to choose this over other reference-related tools like 'get_external_references' or 'search_patents'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pharmacophore_featuresC

Get pharmacophore features and binding site information

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what is retrieved but doesn't mention any behavioral traits such as data format, potential errors, rate limits, or authentication needs. For a tool with no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It front-loads the key action and resources, making it easy to parse quickly without unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'pharmacophore features and binding site information' entails in terms of return values or format, leaving the agent uncertain about the tool's output. For a tool with no structured output documentation, this is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the parameter 'cid' clearly documented as 'PubChem Compound ID (CID)'. The description doesn't add any meaning beyond this, such as examples or constraints, but the schema provides adequate baseline information, justifying a score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resources 'pharmacophore features and binding site information', making the purpose specific. However, it doesn't distinguish this tool from potential siblings like 'get_compound_info' or 'get_3d_conformers' that might provide overlapping or related data, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. Given the many sibling tools for compound analysis (e.g., 'get_compound_info', 'get_3d_conformers'), the description lacks context on prerequisites, typical use cases, or exclusions, leaving the agent with minimal direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_regulatory_infoC

Get regulatory information from FDA, EPA, and international agencies

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions 'Get' implying a read operation, but doesn't specify permissions, rate limits, data formats, or whether it's a real-time query versus cached data. For a tool with no annotations, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasteβ€”it directly states the tool's purpose without fluff. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (regulatory info from multiple agencies), lack of annotations, and no output schema, the description is insufficient. It doesn't explain what 'regulatory information' entails (e.g., approvals, bans, guidelines), return formats, or error handling, leaving the agent with incomplete context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter-specific information beyond what's in the schema, which has 100% coverage (fully describes 'cid' as PubChem Compound ID). Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and resource ('regulatory information from FDA, EPA, and international agencies'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_safety_data' or 'get_toxicity_info', which might overlap in regulatory contexts, preventing a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. With many sibling tools (e.g., 'get_safety_data', 'get_toxicity_info', 'assess_environmental_fate') that could relate to regulatory aspects, there's no indication of specific use cases, prerequisites, or exclusions, leaving the agent to guess.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_safety_dataC

Get GHS hazard classifications and safety information

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Get' implies a read-only operation, the description doesn't clarify whether this requires authentication, has rate limits, returns structured or unstructured data, or has any side effects. For a tool with no annotation coverage, this leaves significant behavioral questions unanswered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states exactly what the tool does with zero wasted words. It's appropriately sized for a simple lookup tool and front-loads the core functionality without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'GHS hazard classifications' specifically include, what format the safety information returns, or how this differs from related sibling tools. The agent would need to guess about the output structure and appropriate usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the input schema already fully documents the single 'cid' parameter as a PubChem Compound ID. The description adds no additional parameter context beyond what the schema provides - it doesn't explain what GHS classifications are, what format the safety information takes, or how the CID maps to the output. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'GHS hazard classifications and safety information', making the purpose immediately understandable. However, it doesn't explicitly differentiate this from sibling tools like 'get_toxicity_info' or 'get_regulatory_info', which likely provide related but distinct safety-related data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. With multiple sibling tools that might provide overlapping or complementary safety information (get_toxicity_info, get_regulatory_info, assess_environmental_fate), the agent receives no help in choosing between them. There's no mention of prerequisites, limitations, 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.

get_toxicity_infoB

Get toxicity data including LD50, carcinogenicity, and mutagenicity

ParametersJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what data is retrieved but doesn't describe how the tool behaves: e.g., whether it returns structured data, error handling for invalid CIDs, rate limits, or authentication needs. For a read operation with no annotation coverage, this leaves significant gaps in understanding operational traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('Get toxicity data including LD50, carcinogenicity, and mutagenicity') directly contributes to understanding the tool's function, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter with full schema coverage and no output schema, the description is minimally adequate. It specifies the data types returned but lacks details on output format, error cases, or behavioral context. For a simple lookup tool, this is passable but leaves room for improvement in completeness, especially without annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'cid' fully documented in the schema as 'PubChem Compound ID (CID)'. The description adds no additional parameter semantics beyond implying that toxicity data is fetched for the given CID. This meets the baseline score of 3 since the schema adequately covers parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and the resource ('toxicity data'), specifying the types of data included (LD50, carcinogenicity, mutagenicity). It distinguishes this from general compound info tools like 'get_compound_info' by focusing on toxicity. However, it doesn't explicitly differentiate from 'get_safety_data' which might overlap, preventing a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention prerequisites (e.g., needing a CID), exclusions, or comparisons to sibling tools like 'get_safety_data' or 'predict_admet_properties' that might handle related toxicity or safety aspects. Usage is implied only by the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

predict_admet_propertiesC

Predict ADMET properties (Absorption, Distribution, Metabolism, Excretion, Toxicity)

ParametersJSON Schema
NameRequiredDescriptionDefault
cidNoPubChem Compound ID (CID)
smilesNoSMILES string (alternative to CID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool predicts ADMET properties but lacks details on how predictions are made (e.g., model used, accuracy), what the output format is, or any limitations (e.g., rate limits, data requirements). For a prediction tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the key information (predicting ADMET properties) and avoids redundancy, making it highly concise and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of predicting ADMET properties, no annotations, and no output schema, the description is incomplete. It does not cover behavioral aspects like prediction methods, output format, or limitations, which are crucial for a tool of this nature. The description alone is insufficient for an agent to use the tool effectively without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters (cid and smiles) with clear descriptions. The description does not add any meaning beyond this, such as explaining the relationship between cid and smiles or usage examples. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: predicting ADMET properties (Absorption, Distribution, Metabolism, Excretion, Toxicity). It specifies the verb 'predict' and the resource 'ADMET properties', making it distinct from siblings like 'assess_drug_likeness' or 'get_toxicity_info' which focus on different aspects. However, it doesn't explicitly differentiate from all similar tools, such as 'assess_drug_likeness' which might overlap in scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention prerequisites, context, or exclusions, such as how it differs from 'assess_drug_likeness' or 'get_toxicity_info'. Without this, users must infer usage from the tool name alone, which is insufficient for effective tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_bioassaysC

Search for biological assays by target, description, or source

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoGeneral search query
targetNoTarget protein or gene name
sourceNoData source (e.g., ChEMBL, NCGC)
max_recordsNoMaximum number of results (1-1000, default: 100)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the search action but fails to describe key traits like whether it's read-only, if there are rate limits, authentication needs, pagination behavior, or what the output format looks like. This is a significant gap for a search tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part of the sentence contributes directly to understanding the tool's function, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, usage context, and output expectations, which are crucial for an AI agent to invoke the tool correctly and interpret results. The high schema coverage doesn't compensate for these gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description lists searchable fields ('target, description, or source'), which partially maps to the input schema parameters (target, source, query). However, with 100% schema description coverage, the schema already documents all parameters thoroughly, so the description adds minimal value beyond what's in the structured data. The baseline score of 3 reflects adequate but not enhanced parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search for biological assays') and the searchable fields ('by target, description, or source'), which is specific and informative. However, it doesn't explicitly differentiate from sibling tools like 'search_by_target' or 'search_compounds', which might have overlapping functionality, preventing a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, such as 'search_by_target' or 'search_compounds' from the sibling list. It lacks context about use cases, exclusions, or prerequisites, leaving the agent to infer usage 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_by_cas_numberC

Search for compounds by CAS Registry Number

ParametersJSON Schema
NameRequiredDescriptionDefault
cas_numberYesCAS Registry Number (e.g., 50-78-2)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool searches for compounds, implying a read-only operation, but doesn't clarify aspects like whether it returns a single compound or multiple matches, error handling for invalid CAS numbers, rate limits, or authentication needs. For a search tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Search for compounds by CAS Registry Number'. It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple search tool. Every part of the sentence contributes essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., compound details, a list, or an error for no matches), behavioral traits, or usage context relative to siblings. For a search tool in a complex chemical domain with many alternatives, more guidance is needed to help the agent use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'cas_number' fully documented in the schema itself. The description adds no additional parameter information beyond what's in the schema. According to the rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search for compounds by CAS Registry Number'. It specifies the verb ('search') and resource ('compounds'), and the CAS Registry Number provides a specific identifier type. However, it doesn't differentiate from sibling tools like 'search_by_inchi' or 'search_by_smiles' that also search compounds by different identifiers, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention sibling tools like 'search_by_inchi' or 'search_by_smiles' for other identifier types, or 'search_compounds' for broader searches. There's no context on prerequisites, limitations, or typical use cases, leaving the agent 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_by_inchiB

Search for compounds by InChI or InChI key

ParametersJSON Schema
NameRequiredDescriptionDefault
inchiYesInChI string or InChI key

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool performs a search, implying a read-only operation, but doesn't clarify aspects like whether it returns exact matches only, handles partial keys, supports pagination, or has rate limits. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core functionality. There is no wasted verbiage or redundancy, making it easy to parse quickly. It earns its place by succinctly conveying the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose but lacks details on usage context, behavioral traits, and output expectations. For a search tool among many siblings, more guidance would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds minimal value beyond the input schema, which has 100% coverage. It mentions 'InChI or InChI key', aligning with the schema's description of 'InChI string or InChI key'. No additional semantics, such as format examples or validation rules, are provided. With high schema coverage, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search for compounds by InChI or InChI key'. It specifies the verb ('search'), resource ('compounds'), and input type ('InChI or InChI key'), which is specific and unambiguous. However, it doesn't explicitly differentiate from siblings like 'search_by_smiles' or 'search_by_cas_number', which perform similar searches with different input formats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention sibling tools like 'search_by_smiles' or 'search_by_cas_number', nor does it specify scenarios where InChI-based searching is preferred over other methods. The agent must infer usage from 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_by_smilesC

Search for compounds by SMILES string (exact match)

ParametersJSON Schema
NameRequiredDescriptionDefault
smilesYesSMILES string of the query molecule

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states it's a search operation but doesn't describe what happens if no match is found, whether it's case-sensitive, if it returns multiple results, or any performance characteristics. The 'exact match' hint is minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple search tool and front-loads the essential information about what the tool does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with no annotations and no output schema, the description is insufficient. It doesn't explain what format the results will be in, whether it returns compound IDs or full records, or any limitations. Given the rich ecosystem of sibling tools, more context about this tool's specific role is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage with the parameter 'smiles' clearly documented as 'SMILES string of the query molecule'. The description adds no additional parameter semantics beyond what the schema already provides, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search for compounds') and the resource ('by SMILES string'), with the specific constraint 'exact match' that distinguishes it from similarity-based searches. However, it doesn't explicitly differentiate from sibling tools like 'search_by_inchi' or 'search_compounds' which might have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like 'search_by_inchi', 'search_similar_compounds', or 'substructure_search'. It mentions 'exact match' but doesn't explain what this means in practice or when other search methods would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_by_targetC

Find compounds tested against a specific biological target

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesTarget name (gene, protein, or pathway)
activity_typeNoType of activity (e.g., IC50, EC50, Ki)
max_recordsNoMaximum number of results (1-1000, default: 100)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Find compounds' but does not specify whether this is a read-only operation, if it requires authentication, has rate limits, or what the output format might be. For a search tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It does not explain what the tool returns (e.g., list of compounds, bioactivity data), potential limitations, or error conditions. For a search tool with no structured output information, this leaves significant gaps in understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so the schema already documents all parameters (target, activity_type, max_records) adequately. The description does not add any additional meaning or context beyond what the schema provides, such as examples of target names or activity types, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Find') and resource ('compounds tested against a specific biological target'), making it easy to understand what it does. However, it does not explicitly differentiate from sibling tools like 'search_compounds' or 'search_bioassays', which might have overlapping functionality, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, such as 'search_compounds' or 'search_bioassays', which are listed as siblings. It lacks explicit context, exclusions, or prerequisites, leaving the agent to infer usage 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_compoundsC

Search PubChem database for compounds by name, CAS number, formula, or identifier

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (compound name, CAS, formula, or identifier)
search_typeNoType of search to perform (default: name)
max_recordsNoMaximum number of results (1-10000, default: 100)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but lacks behavioral details. It doesn't mention rate limits, authentication needs, response format, pagination, or error handling. 'Search' implies read-only, but this isn't explicitly stated, leaving gaps for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the core action, zero waste. Every word earns its place by specifying the database, target, and searchable fields efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what results look like (e.g., compound IDs, names, properties), how many results are typical, or handling of large result sets, leaving significant gaps for an AI agent to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds minimal value by listing searchable fields, which aligns with the 'query' parameter and 'search_type' enum, but doesn't provide additional syntax or format details beyond what the schema already covers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'search' and resource 'PubChem database for compounds', specifying the searchable fields (name, CAS number, formula, or identifier). It distinguishes from siblings like 'search_by_cas_number' or 'search_by_smiles' by being a general search tool, but doesn't explicitly contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 alternatives like 'search_by_cas_number', 'search_by_smiles', or 'batch_compound_lookup'. The description lists searchable fields but doesn't explain trade-offs or recommend specific tools for different scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_patentsC

Search for chemical patents and intellectual property information

ParametersJSON Schema
NameRequiredDescriptionDefault
cidNoPubChem Compound ID (CID)
queryNoPatent search query (alternative to CID)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('Search') without detailing behavioral traits like whether it's read-only, requires authentication, has rate limits, returns paginated results, or what the output format might be. This leaves significant gaps for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration, making it easy to understand at a glance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It lacks information on behavioral aspects, output format, and usage context, which are crucial for an AI agent to effectively invoke the tool. The description does not compensate for the absence of structured data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with clear documentation for 'cid' and 'query' parameters. The description adds no additional meaning beyond the schema, such as explaining the relationship between CID and query or providing usage examples. With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Search for chemical patents and intellectual property information', which includes a specific verb ('Search') and resource ('chemical patents and intellectual property information'). However, it doesn't explicitly differentiate from sibling tools like 'search_by_target' or 'search_compounds', which might also involve searching but for different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention any context, prerequisites, or exclusions, such as whether to use CID or query parameters, or how it differs from other search tools in the sibling list like 'search_by_cas_number' or 'search_similar_compounds'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_similar_compoundsC

Find chemically similar compounds using Tanimoto similarity

ParametersJSON Schema
NameRequiredDescriptionDefault
smilesYesSMILES string of the query molecule
thresholdNoSimilarity threshold (0-100, default: 90)
max_recordsNoMaximum number of results (1-10000, default: 100)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the similarity method ('Tanimoto similarity') but doesn't describe key behavioral traits: what the output looks like (e.g., list of compounds with scores), whether it's a read-only operation (implied but not stated), performance characteristics (e.g., speed, limitations), or error handling. For a search tool with no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Find chemically similar compounds using Tanimoto similarity.' It is front-loaded with the core purpose, has zero wasted words, and appropriately sized for the tool's complexity. Every part of the sentence earns its place by specifying the action, resource, and method.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is incomplete. It lacks information on output format (critical for a search tool), behavioral context (e.g., read-only nature, performance), and usage guidelines relative to siblings. Without an output schema, the description should ideally hint at return values, but it doesn't, leaving the agent with insufficient context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all parameters well-documented in the schema (e.g., 'smiles' as 'SMILES string of the query molecule'). The description adds no additional parameter semantics beyond what's in the schemaβ€”it doesn't explain parameter interactions, default behaviors beyond defaults listed, or usage nuances. Thus, it meets the baseline score of 3, as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find chemically similar compounds using Tanimoto similarity.' It specifies the action ('Find'), resource ('chemically similar compounds'), and method ('Tanimoto similarity'), which distinguishes it from siblings like 'search_compounds' or 'substructure_search' that likely use different search methods. However, it doesn't explicitly differentiate from all siblings (e.g., 'search_by_smiles' might also use SMILES input), keeping it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention when to choose this over siblings like 'search_compounds' (which might be a general search) or 'substructure_search' (which uses structural matching), nor does it specify prerequisites or exclusions. This lack of contextual direction leaves the agent to infer usage from the tool name and parameters alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 30 tool updates
    • First observedanalyze_molecular_complexity
    • First observedanalyze_stereochemistry
    • First observedassess_drug_likeness
    • First observedassess_environmental_fate
    • First observedbatch_compound_lookup
    • First observedcalculate_descriptors
    • First observedcompare_activity_profiles
    • First observedget_3d_conformers
    • First observedget_assay_info
    • First observedget_compound_bioactivities
    • First observedget_compound_info
    • First observedget_compound_properties
    • First observedget_compound_synonyms
    • First observedget_external_references
    • First observedget_literature_references
    • First observedget_pharmacophore_features
    • First observedget_regulatory_info
    • First observedget_safety_data
    • First observedget_toxicity_info
    • First observedpredict_admet_properties
    • First observedsearch_bioassays
    • First observedsearch_by_cas_number
    • First observedsearch_by_inchi
    • First observedsearch_by_smiles
    • First observedsearch_by_target
    • First observedsearch_compounds
    • First observedsearch_patents
    • First observedsearch_similar_compounds
    • First observedsubstructure_search
    • First observedsuperstructure_search

TDQS

B3.2/5.0

Scored across 30 tools

Disambiguation4/5

Most tools have distinct purposes, but some overlap exists, such as 'search_compounds' (general search) and specific search tools like 'search_by_smiles' or 'search_by_cas_number', which could cause minor confusion. However, descriptions clarify their specific use cases, making them generally distinguishable.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, using snake_case uniformly. Examples include 'get_compound_info', 'search_by_smiles', and 'predict_admet_properties', with no deviations in style or convention.

Tool Count3/5

With 30 tools, the count is borderline high for a PubChem server, as it may feel heavy and potentially overwhelming. However, given the comprehensive domain of chemical data analysis, it is reasonable but could benefit from consolidation or better scoping.

Completeness5/5

The tool set provides extensive coverage for chemical data retrieval, analysis, and search, including CRUD-like operations (e.g., get, search, analyze) and specialized functions like toxicity assessment and ADMET prediction. No obvious gaps are present for the domain.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables comprehensive access to PubChem's chemical database with over 110 million compounds. Supports chemical searches, structure analysis, bioactivity data, safety information, and molecular property calculations through 30 specialized tools.
    30
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides tools for querying the PubChem database for detailed information on chemical compounds, substances, bioassays, and molecular properties. It enables users to search by name, structure, or identifier to retrieve chemical classifications and cross-references through natural language.
    -