PubChem MCP Server
Provides access to PubMed citations and literature references for chemical compounds, enabling retrieval of scientific publications related to specific molecules and chemical research.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PubChem MCP Serversearch for compounds similar to aspirin and show their molecular weights"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

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: PubChem Chemical Safety MCP Server
Resource Templates
Access PubChem data through URI patterns:
pubchem://compound/{cid}- Complete compound datapubchem://structure/{cid}- 2D/3D structure informationpubchem://properties/{cid}- Molecular propertiespubchem://bioassay/{aid}- Bioassay datapubchem://similarity/{smiles}- Similarity search resultspubchem://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 startUsage
Basic Compound Search
// 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 β BioactivityCross-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 toolsanalyze_molecular_complexityC
Analyze molecular complexity and synthetic accessibility
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
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 'analyze' but doesn't specify what the analysis entails (e.g., computational methods, output format, or potential limitations like processing time or data requirements). 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.
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 appropriately sized for a simple tool, though it could be slightly more informative to improve clarity without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the analysis returns (e.g., scores, metrics, or reports) or any behavioral aspects like error handling. For a tool with no structured output information, the description should provide more context to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'cid' parameter well-documented as a PubChem Compound ID. The description adds no additional parameter information beyond what the schema provides, such as format examples or constraints. Given the high schema coverage, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: analyzing molecular complexity and synthetic accessibility. It uses specific verbs ('analyze') and identifies the resource domain (molecular properties), making the function understandable. However, it doesn't explicitly differentiate from siblings like 'calculate_descriptors' or 'assess_drug_likeness', which might also involve molecular analysis, 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.
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 related to compound analysis (e.g., 'calculate_descriptors', 'assess_drug_likeness'), there is no indication of specific contexts, prerequisites, or exclusions. This leaves the agent without clear direction for tool selection.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden but offers minimal behavioral information. It doesn't disclose whether this is a read-only operation, what format the analysis returns, whether it requires specific permissions, or any rate limits. The vague 'analyze' verb provides little insight into actual behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just one phrase listing three analysis areas. While efficient, it may be too brief given the complexity of stereochemical analysis. Each term earns its place but more context could be helpful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and operating in a domain with many specialized sibling tools, the description is inadequate. It doesn't explain what kind of analysis is performed, what format results are returned in, or how this differs from other compound information tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter information beyond what the schema provides. With 100% schema description coverage for the single 'cid' parameter, the baseline is 3. The description doesn't explain what stereochemical analysis is performed on the CID or how results might vary by compound type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool analyzes stereochemistry, chirality, and isomer information, which provides a general purpose but lacks specificity about what resource it operates on or what analysis it performs. It doesn't clearly distinguish from siblings like 'get_compound_properties' or 'calculate_descriptors' that might also provide stereochemical data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling tools for compound analysis, the description doesn't indicate whether this is for basic stereochemistry checks versus detailed isomer analysis, or when to prefer it over tools like 'get_compound_info' or 'calculate_descriptors'.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cid | No | PubChem Compound ID (CID) | |
| smiles | No | SMILES string (alternative to CID) |
TDQS
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 explain what the tool returns (e.g., pass/fail results, scores, or detailed reports), whether it's read-only or has side effects, or any limitations like rate limits or input validation. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose and methods without any wasted words. It's appropriately sized for the tool's complexity, making it easy to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the assessment returns (e.g., a summary or detailed breakdown), which is critical for a tool with no structured output documentation. For a tool that performs a multi-method analysis, more context on results and behavior is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting 'cid' as a PubChem Compound ID and 'smiles' as a SMILES string. The description adds no additional parameter semantics beyond this, as it doesn't clarify usage (e.g., that one parameter is required, or how they interact). With high schema coverage, the baseline is 3, and the description doesn't compensate further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Assess drug-likeness using Lipinski Rule of Five, Veber rules, and PAINS filters.' It specifies the action ('assess'), the target concept ('drug-likeness'), and the methods used, which distinguishes it from siblings like 'calculate_descriptors' or 'predict_admet_properties.' However, it doesn't explicitly contrast with all similar tools (e.g., 'predict_admet_properties' might overlap), keeping it at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a CID or SMILES), exclusions, or comparisons to siblings like 'predict_admet_properties' or 'calculate_descriptors,' which might handle related analyses. Without such context, users must infer usage from the purpose alone.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
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 states what the tool does ('Assess environmental fate') but doesn't describe how it behaves: it doesn't specify whether this is a read-only operation, what data sources it uses, potential limitations, error conditions, or output format. For a 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. It avoids unnecessary words, though it could be slightly more structured by explicitly separating key components (e.g., 'Assesses environmental fate, focusing on biodegradation and bioaccumulation').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a single parameter with good schema coverage, the description is incomplete. It doesn't explain what 'assess' entails operationally, what the output looks like, or any behavioral traits. For a tool performing environmental assessment, more context on methodology or result interpretation would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'cid' well-documented in the schema as 'PubChem Compound ID (CID)'. The description adds no parameter-specific information beyond what's in the schema, so it meets the baseline of 3 for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Assess') and resource ('environmental fate'), and identifies key aspects ('biodegradation and bioaccumulation'). It distinguishes from many siblings focused on molecular analysis or data retrieval, but doesn't explicitly differentiate from tools like 'get_toxicity_info' or 'predict_admet_properties' that might overlap in environmental assessment domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, nor does it reference sibling tools like 'get_toxicity_info' or 'predict_admet_properties' that might handle related environmental or toxicity assessments. Usage is implied by the name and description alone.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cids | Yes | Array of PubChem CIDs (1-200) | |
| operation | No | Operation to perform (default: property) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Process' is vague about behaviorβit doesn't specify what operations are performed, what data is returned, or any constraints like rate limits or authentication needs. 'Efficiently' hints at performance but lacks concrete details. For a tool with 2 parameters and no output schema, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasteβ'Process multiple compound IDs efficiently' is front-loaded and appropriately sized. Every word contributes to the core message without redundancy or fluff, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters, no annotations, no output schema, and many sibling tools, the description is incomplete. It doesn't explain what 'process' entails operationally, what results to expect, or how it differs from similar tools. For a batch tool in a complex domain like compound analysis, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters (cids array with limits, operation enum). The description adds no parameter-specific semantics beyond implying batch processing for 'multiple compound IDs', which aligns with the cids parameter but doesn't provide additional context like format examples or default behavior nuances. Baseline 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.
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 distinguish this from sibling tools like 'get_compound_info' or 'get_compound_properties' that might handle single compounds, leaving some ambiguity about when to choose batch over individual lookups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for compound-related operations (e.g., 'get_compound_properties', 'get_compound_synonyms'), there's no indication that this is the batch version or when batch processing is preferred over individual calls. The implicit context is efficiency for multiple IDs, but no explicit when/when-not rules are stated.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) | |
| descriptor_type | No | Type of descriptors (default: all) |
TDQS
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 'comprehensive' but doesn't disclose behavioral traits like computational intensity, rate limits, authentication needs, or what 'comprehensive' entails (e.g., output format, time to compute). This leaves gaps for an agent to understand operational implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point without unnecessary words. It's appropriately sized for the tool's complexity, though it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'comprehensive' means in terms of output (e.g., types of descriptors, format), nor does it address behavioral aspects like performance or limitations, making it inadequate for an agent to fully understand the tool's context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters well. The description adds no additional meaning beyond the schema, such as explaining what 'descriptors and fingerprints' are or how 'comprehensive' relates to the 'descriptor_type' enum. Baseline 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('calculate') and resource ('molecular descriptors and fingerprints'), making the purpose understandable. However, it doesn't differentiate from siblings like 'get_compound_properties' or 'predict_admet_properties' which might also involve molecular analysis, leaving room for confusion about when to choose this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools related to molecular analysis (e.g., 'get_compound_properties', 'predict_admet_properties'), there is no indication of context, prerequisites, or exclusions to help an agent select appropriately among them.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cids | Yes | Array of PubChem CIDs (2-50) | |
| activity_type | No | Specific activity type for comparison (optional) |
TDQS
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 disclose what 'compare' entails (e.g., output format, computational intensity, rate limits, or authentication needs). The description is minimal and doesn't add context beyond the basic action, leaving the agent with insufficient information about how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It front-loads the core purpose ('compare bioactivity profiles') and is appropriately sized for the tool's complexity, 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.
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. It doesn't explain what the comparison yields (e.g., similarity scores, visualizations, or tabular data), which is critical for a tool with 2 parameters and bioactivity analysis complexity. The description lacks necessary context for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters (cids as PubChem CIDs array with constraints, activity_type as optional string). The description adds no additional parameter semantics beyond implying comparison involves bioactivity profiles, which is already inferred from the tool name and schema. Baseline 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('compare') and target ('bioactivity profiles across multiple compounds'), which is specific and unambiguous. 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 distinctions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing PubChem CIDs from other tools), exclusions, or comparative contexts with siblings like 'get_compound_bioactivities' for single-compound data or 'search_bioassays' for assay-based searches.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) | |
| conformer_type | No | Type of conformer data (default: 3d) |
TDQS
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 retrieving data but lacks details on permissions, rate limits, response format, or error handling. For a 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded and wastes no space, 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.
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 returned data includes (e.g., file formats, structural details) or behavioral aspects like error cases. For a tool with no structured support, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with clear descriptions for both parameters (CID and conformer_type). The description adds no additional meaning beyond the schema, such as explaining what '3D conformer data' entails or how the CID is used. Baseline 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('3D conformer data and structural information'), making the purpose understandable. However, it doesn't differentiate this tool from potential siblings like 'get_compound_info' or 'calculate_descriptors' that might also provide structural 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.
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. Given the many sibling tools for compound analysis (e.g., 'get_compound_info', 'calculate_descriptors'), there is no indication of specific use cases, prerequisites, or exclusions, leaving the agent with minimal context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_assay_infoC
Get detailed information for a specific bioassay by AID
| Name | Required | Description | Default |
|---|---|---|---|
| aid | Yes | PubChem Assay ID (AID) |
TDQS
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 'detailed information' but doesn't specify what that includes (e.g., assay type, results, metadata), whether it's a read-only operation, potential rate limits, or error handling. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Get detailed information for a specific bioassay') and includes the key identifier. There is no wasted wording, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of bioassay data and the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'detailed information' entails, potential response formats, or how this tool fits into the broader context of sibling tools (e.g., vs. 'search_bioassays'), leaving gaps for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'aid' parameter clearly documented as 'PubChem Assay ID (AID)'. The description adds minimal value beyond this, only reiterating the parameter in 'by AID' without providing additional context like format examples or constraints. 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.
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 ('detailed information for a specific bioassay'), and it identifies the key identifier ('by AID'). However, it doesn't explicitly differentiate this tool from its sibling 'search_bioassays', which might also retrieve bioassay information but through search rather than direct lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a specific AID), exclusions, or how it differs from sibling tools like 'search_bioassays' or 'get_compound_bioactivities', leaving the agent to infer 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_bioactivitiesC
Get all bioassay results and activities for a compound
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) | |
| activity_outcome | No | Filter by activity outcome (default: all) |
TDQS
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 retrieving data but lacks details on permissions, rate limits, pagination, or response format. For a data-fetching 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.
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 and wastes no space, making it highly concise and well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description is incomplete. It does not address behavioral aspects like data format, limitations, or error handling. For a tool with two parameters and no structured output information, more context is needed to ensure reliable agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both parameters ('cid' and 'activity_outcome') with descriptions and an enum. The description adds no additional meaning beyond implying filtering by activity outcome, which is already covered in the schema, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and 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 could provide similar or overlapping functionality, 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.
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', there is no indication of context, prerequisites, or exclusions, leaving the agent to infer usage without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_compound_infoB
Get detailed information for a specific compound by PubChem CID
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) | |
| format | No | Output format (default: json) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the action but lacks behavioral details such as rate limits, authentication needs, error handling, or what 'detailed information' includes (e.g., structure, properties, references). For a read operation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose with zero waste. Every word earns its place, making it highly concise and well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is minimally adequate but incomplete. It specifies the action and key parameter (CID) but omits behavioral context and output details. For a tool with 2 parameters and rich sibling tools, it should do more to guide usage and set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (cid, format) well-documented in the schema. The description adds no additional parameter semantics beyond implying the tool uses PubChem CID, which is already covered. Baseline 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get detailed information') and resource ('for a specific compound by PubChem CID'), making the purpose specific and unambiguous. It distinguishes from siblings like get_compound_properties or get_compound_synonyms by emphasizing comprehensive 'detailed information' rather than specific subsets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools (e.g., get_compound_properties, get_compound_synonyms, search_compounds), it lacks explicit when/when-not instructions or named alternatives, leaving the agent to infer usage from context alone.
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.)
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) | |
| properties | No | Specific properties to retrieve (optional) |
TDQS
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. While 'Get' implies a read-only operation, the description doesn't specify whether this requires authentication, has rate limits, returns structured data, or handles errors. For a tool with no annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a simple retrieval tool, though it could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details on usage context, behavioral traits, and output format. With no output schema, the description doesn't explain what values are returned, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters (cid and properties). The description adds minimal value beyond the schema by mentioning example property types (MW, logP, TPSA), which helps clarify what 'properties' might include, but doesn't provide additional syntax or format details. Baseline 3 is appropriate when the schema does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('molecular properties'), and provides examples of the types of properties (MW, logP, TPSA). However, it doesn't explicitly differentiate this tool from similar siblings like 'calculate_descriptors' or 'get_compound_info', which might also retrieve molecular properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'calculate_descriptors', 'get_compound_info', 'predict_admet_properties'), there's no indication of whether this tool is for basic property retrieval, how it differs from descriptors calculation, or any prerequisites for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_compound_synonymsC
Get all names and synonyms for a compound
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
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 all names and synonyms'), implying a read-only operation, but does not cover aspects like rate limits, authentication needs, error handling, or the format of returned data. This leaves significant gaps in understanding 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.
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 any unnecessary words. It is front-loaded and to the point, making it easy for an agent to parse quickly, which is ideal for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 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., list format, data structure) or address potential complexities like handling invalid CIDs. For a tool with no structured behavioral hints, more context is needed to ensure reliable agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'cid' parameter clearly documented as 'PubChem Compound ID (CID)'. The description does not add any additional meaning beyond this, such as examples or constraints, but since the schema is comprehensive, a baseline score of 3 is appropriate as it meets minimum viability without extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('all names and synonyms for a compound'), making it easy to understand what it does. However, it does not explicitly differentiate from sibling tools like 'get_compound_info' or 'get_compound_properties', which might also provide related information, 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.
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, such as 'get_compound_info' or 'search_compounds', there is no indication of specific contexts, prerequisites, or exclusions for using this tool, leaving the agent to infer usage based on the name alone.
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.)
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but lacks behavioral details. It doesn't specify if this is a read-only operation, potential rate limits, authentication needs, or what the output format looks like (e.g., list of URLs, structured data). The description is minimal and doesn't compensate for the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose with no wasted words. It directly states what the tool does and provides relevant examples, making it easy to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool that likely returns structured external reference data. It doesn't explain return values, error conditions, or behavioral traits, leaving significant gaps for an AI agent to understand how to use it effectively in context with many sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the 'cid' parameter as a PubChem Compound ID. The description adds no additional parameter semantics beyond implying external database links are retrieved for a compound, which is already inferred from the tool name and schema. Baseline 3 is appropriate as the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get links') and resource ('external databases'), specifying examples like ChEMBL, DrugBank, and KEGG. It distinguishes this tool from siblings that focus on properties, bioactivities, or searches, though it doesn't explicitly contrast with 'get_literature_references' or 'get_assay_info' for related external data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing a PubChem CID, or differentiate from siblings like 'get_literature_references' for external academic links or 'get_assay_info' for database-specific assay data.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
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 the tool does but doesn't reveal any behavioral traits such as whether it's read-only, requires authentication, has rate limits, returns structured data, or handles errors. 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.
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 front-loaded and wastes no space, 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.
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., citation formats, data structure) or any behavioral aspects, which are crucial for an agent to use it effectively in a scientific context with many sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'cid' parameter clearly documented as 'PubChem Compound ID (CID)'. The description doesn't add any meaning beyond this, such as explaining the format or providing examples, but the schema provides adequate baseline information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'PubMed citations and scientific literature references', making the purpose understandable. However, it doesn't distinguish this tool from sibling tools like 'get_external_references' or 'get_compound_info', which might also retrieve reference-like data, so it lacks explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'get_external_references', 'search_patents'), there's no indication of context, prerequisites, or exclusions, leaving the agent to guess based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pharmacophore_featuresB
Get pharmacophore features and binding site information
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
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 information but doesn't specify whether this is a read-only operation, if it requires authentication, rate limits, or what the output format looks like. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for a simple retrieval tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (simple retrieval with one parameter) and high schema coverage, the description is minimally adequate. However, with no annotations and no output schema, it lacks details on behavioral traits and return values, which could be important for an AI agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage (the 'cid' parameter is documented as 'PubChem Compound ID (CID)'), so the baseline is 3. The description adds no additional parameter information beyond what the schema provides, such as format details or examples, but it 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.
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 pharmacophore features and binding site information' - a specific verb ('Get') and resources ('pharmacophore features', 'binding site information'). It distinguishes from most siblings that focus on different chemical analyses (e.g., 'analyze_molecular_complexity', 'calculate_descriptors'), though it doesn't explicitly differentiate from similar retrieval tools like 'get_compound_info' or 'get_3d_conformers'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, nor does it reference any sibling tools for comparison. The agent must infer usage from the tool name and description alone.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
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 retrieving information but doesn't specify aspects like data sources, rate limits, authentication needs, or response format. For a 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.
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 appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of regulatory data and lack of annotations or output schema, the description is insufficient. It doesn't explain what 'regulatory information' entails (e.g., approvals, restrictions, guidelines), how results are structured, or any limitations, leaving key contextual gaps for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-specific information beyond what the input schema provides. With 100% schema description coverage (the 'cid' parameter is documented as 'PubChem Compound ID'), the baseline score of 3 is appropriate, as the schema handles the parameter semantics adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the 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.
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 siblings like 'get_safety_data' and 'get_toxicity_info' potentially covering similar regulatory aspects, the description lacks any indication of scope, prerequisites, or distinctions, leaving usage unclear.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
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 tool retrieves data but doesn't mention any behavioral traits like rate limits, authentication needs, response formats, or potential errors. This is a significant gap for a tool with no structured safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without any wasted words. It is appropriately sized for a simple lookup tool, 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.
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 returned safety information includes, how it's structured, or any limitations, which is crucial for an agent to use the tool effectively in a complex domain like chemical safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'cid' parameter clearly documented as 'PubChem Compound ID (CID)'. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints, 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.
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 ('GHS hazard classifications and safety information'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_toxicity_info' or 'get_regulatory_info', which might overlap in safety-related domains, 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.
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 'get_toxicity_info' or 'get_regulatory_info', which are listed as siblings. It lacks context on specific 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.
get_toxicity_infoC
Get toxicity data including LD50, carcinogenicity, and mutagenicity
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
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 types of toxicity data retrieved but doesn't cover aspects like data sources, accuracy, rate limits, authentication needs, or what happens if the CID is invalid. For a tool with no annotation coverage, this leaves significant gaps in understanding its operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and includes specific data types, making it easy to parse quickly. Every part of the sentence contributes meaningfully.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of toxicity data retrieval, no annotations, and no output schema, the description is incomplete. It doesn't explain the return format, data units, potential errors, or how to interpret results like LD50 values. For a tool with rich data output and no structured support, more contextual information is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'cid' parameter clearly documented as 'PubChem Compound ID (CID)'. The description adds no additional parameter information beyond what's in the schema, such as format examples or constraints. Baseline 3 is appropriate since the schema does the heavy lifting, but the description doesn't enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'toxicity data', specifying the types of data included (LD50, carcinogenicity, mutagenicity). It distinguishes from siblings like 'get_safety_data' or 'get_regulatory_info' by focusing specifically on toxicity metrics. However, it doesn't explicitly contrast with these similar tools, keeping it at a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_safety_data' or 'get_regulatory_info', which might overlap in scope. There's no mention of prerequisites, limitations, or specific contexts where this tool is preferred. It simply states what it does without usage context.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| cid | No | PubChem Compound ID (CID) | |
| smiles | No | SMILES string (alternative to CID) |
TDQS
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 properties but doesn't mention what kind of prediction it performs (e.g., machine learning model, rule-based), whether it requires authentication, rate limits, or what the output format might be. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely conciseβa single sentence that efficiently conveys the core purpose without any wasted words. It's front-loaded with the essential information, making it easy for an agent to parse quickly. Every part of the sentence earns its place by defining the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of predicting ADMET properties, the lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the prediction entails (e.g., numerical values, classifications), potential limitations, or how to interpret results. For a tool with significant functional scope and no structured output documentation, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (cid and smiles) with clear descriptions. The description doesn't add any additional meaning about the parameters beyond what's in the schema, such as explaining the relationship between them or providing usage examples. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Predict ADMET properties (Absorption, Distribution, Metabolism, Excretion, Toxicity)'. It specifies the verb ('Predict') and the resource ('ADMET properties'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_toxicity_info' or '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.
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 (like 'get_toxicity_info', 'assess_drug_likeness', 'get_compound_properties'), there's no indication of what makes this tool distinct or when it's the appropriate choice. The lack of context leaves the agent without usage direction.
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
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | General search query | |
| target | No | Target protein or gene name | |
| source | No | Data source (e.g., ChEMBL, NCGC) | |
| max_records | No | Maximum number of results (1-1000, default: 100) |
TDQS
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 but offers minimal information. It mentions what can be searched (target, description, source) but doesn't describe the search behavior, result format, pagination, rate limits, authentication requirements, or what happens when multiple parameters are combined. This is inadequate 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.
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 for a search tool and gets straight to the point without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 4 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain result format, error conditions, or how multiple search parameters interact. Given the complexity of biological assay data and the lack of structured behavioral information, the description should provide more context about what users can expect from this search operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions three searchable fields (target, description, source) that correspond to three of the four parameters, but doesn't explain the 'query' parameter or how parameters interact. With 100% schema description coverage, the schema already documents all parameters well, so the description adds only marginal value beyond what's in the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as searching for biological assays using specific criteria (target, description, or source), which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'search_by_target' or 'search_compounds,' leaving some ambiguity about when to choose this tool over those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With multiple search-related sibling tools (search_by_target, search_compounds, search_similar_compounds, etc.), there's no indication of this tool's specific use case, prerequisites, or how it differs from other search options.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cas_number | Yes | CAS Registry Number (e.g., 50-78-2) |
TDQS
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 it's a search operation, implying read-only behavior, but doesn't specify details like whether it returns exact matches only, handles partial CAS numbers, includes pagination, or what the output format is. For a search tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded and wastes no space, 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.
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 simple input schema, the description is incomplete. It lacks information on behavioral traits (e.g., search scope, result format) and usage context relative to siblings. For a tool in a server with many compound-related tools, more guidance is needed to help the agent select it appropriately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'cas_number' well-documented as 'CAS Registry Number (e.g., 50-78-2)'. The description adds no additional parameter information beyond what's in the schema, such as format constraints or 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Search for') and resource ('compounds'), specifying the search method ('by CAS Registry Number'). It distinguishes from siblings like 'search_by_smiles' or 'search_by_inchi' by focusing on CAS numbers, but could be more explicit about differentiation. The purpose is specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for compound searching (e.g., 'search_by_smiles', 'search_compounds'), it lacks explicit instructions on use cases, prerequisites, or exclusions. This leaves 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_inchiC
Search for compounds by InChI or InChI key
| Name | Required | Description | Default |
|---|---|---|---|
| inchi | Yes | InChI string or InChI key |
TDQS
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 but doesn't describe what 'search' entailsβe.g., whether it returns exact matches, partial matches, or multiple results; any rate limits; authentication needs; or error handling. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core purpose and appropriately sized for a simple search tool, with no wasted information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the search returns (e.g., compound IDs, properties, or matches), how results are formatted, or any behavioral aspects like pagination or errors. For a tool in a complex chemical domain with many siblings, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'inchi' documented as 'InChI string or InChI key'. The description adds no additional parameter semantics beyond this, as it only repeats that the tool searches 'by InChI or InChI key'. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Search for compounds by InChI or InChI key', which includes a specific verb ('Search') and resource ('compounds'), and identifies the search method. However, it doesn't explicitly differentiate from sibling tools like 'search_by_smiles' or 'search_by_cas_number' that also search compounds using different identifiers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. 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_smilesB
Search for compounds by SMILES string (exact match)
| Name | Required | Description | Default |
|---|---|---|---|
| smiles | Yes | SMILES string of the query molecule |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool searches for compounds by SMILES with exact matching, but doesn't disclose behavioral traits like what happens if no match is found, whether it's case-sensitive, if it requires authentication, rate limits, or what the output format might be. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core functionality ('Search for compounds by SMILES string') and adds a crucial qualifier ('exact match'). Every word earns its place with no redundancy or unnecessary elaboration, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations, no output schema, and 1 parameter with full schema coverage, the description is incomplete. It adequately explains the purpose but fails to address key contextual aspects like what the search returns (e.g., compound IDs, properties, or just existence), error conditions, or performance characteristics. For a search tool in a chemistry context, more completeness is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal semantic context beyond the schema, which has 100% coverage with a clear parameter description. It mentions 'SMILES string' and 'exact match', reinforcing the parameter's purpose, but doesn't provide additional details like SMILES format requirements, validation rules, or examples. With high schema coverage, the baseline 3 is appropriate as the description doesn't significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Search') and resource ('compounds'), specifying the search method ('by SMILES string') and match type ('exact match'). It distinguishes from siblings like 'search_by_cas_number' or 'search_similar_compounds' by focusing on SMILES-based exact matching. However, it doesn't explicitly differentiate from 'search_compounds' which might be more general.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when searching with a SMILES string for exact matches, but provides no explicit guidance on when to use this tool versus alternatives like 'search_by_inchi' or 'search_similar_compounds'. It mentions 'exact match' which helps differentiate from similarity searches, but lacks clear when-not-to-use scenarios or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_targetB
Find compounds tested against a specific biological target
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target name (gene, protein, or pathway) | |
| activity_type | No | Type of activity (e.g., IC50, EC50, Ki) | |
| max_records | No | Maximum number of results (1-1000, default: 100) |
TDQS
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 tested against a specific biological target' but doesn't cover critical aspects like whether this is a read-only operation, potential rate limits, authentication needs, or what the output format looks like. For a search tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without any wasted words. It's appropriately sized for a tool with a straightforward 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.
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 minimally adequate but incomplete. It states what the tool does but lacks behavioral context and usage guidelines, which are crucial for an agent to operate effectively in a server with many sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what the input schema provides. Since schema description coverage is 100%, the baseline score is 3. The schema already documents 'target', 'activity_type', and 'max_records' with descriptions and constraints, so the description doesn't need to compensate but also doesn't add extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Find') and resource ('compounds tested against a specific biological target'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'search_compounds' or 'search_bioassays', 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.
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 like 'search_compounds' and 'search_bioassays', there's no indication of context, prerequisites, or exclusions, leaving the agent to guess based on 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_compoundsC
Search PubChem database for compounds by name, CAS number, formula, or identifier
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (compound name, CAS, formula, or identifier) | |
| search_type | No | Type of search to perform (default: name) | |
| max_records | No | Maximum number of results (1-10000, default: 100) |
TDQS
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 search action but fails to describe key behavioral traits like rate limits, authentication needs, error handling, or the format of results (e.g., pagination, data structure). For a search tool with no annotation coverage, this leaves significant gaps in understanding its operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core functionality without unnecessary details. It uses clear language and avoids redundancy, making it easy to parse quickly while conveying the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for a search tool with 3 parameters. It does not explain the return values, result format, or behavioral aspects like performance or limitations. While the schema covers inputs well, the overall context for effective tool use is insufficient, especially compared to sibling tools that might offer more specialized functionality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning the input schema already documents all parameters thoroughly. The description adds minimal value by listing searchable attributes ('name, CAS number, formula, or identifier'), which partially overlaps with the 'query' and 'search_type' schema descriptions. It does not provide additional syntax, examples, or constraints beyond what the schema specifies, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search PubChem database for compounds') and the searchable attributes ('by name, CAS number, formula, or identifier'), making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'search_by_cas_number' or 'search_by_smiles', which perform similar but more specialized searches, leaving some 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.
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 the more specific sibling tools (e.g., 'search_by_cas_number' for CAS-only searches). It lacks context on prerequisites, exclusions, or recommended scenarios, offering only a basic functional statement without usage direction.
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
| Name | Required | Description | Default |
|---|---|---|---|
| cid | No | PubChem Compound ID (CID) | |
| query | No | Patent search query (alternative to CID) |
TDQS
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 only states the search function without detailing aspects like whether it's read-only, potential rate limits, authentication needs, output format, or pagination behavior. 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.
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 appropriately sized and front-loaded, with every part contributing essential information, 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.
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 two parameters, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, usage guidelines, and output expectations, which are crucial for an agent to effectively invoke this tool. The description does not compensate for the missing structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions searching by 'chemical patents and intellectual property information', which loosely relates to the parameters (CID for compound-based search, query for text-based search). However, with 100% schema description coverage, the schema already documents both parameters thoroughly. The description adds minimal value beyond what's in the schema, meeting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Search for chemical patents and intellectual property information', which includes a specific verb ('Search') and resource type ('chemical patents and intellectual property information'). It distinguishes itself from most sibling tools that focus on compound analysis, bioactivities, or other searches, though it doesn't explicitly differentiate from all search-related siblings like 'search_compounds' or 'search_by_target'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for choosing between CID or query parameters, or how it differs from other search tools in the sibling list (e.g., 'search_compounds' or 'search_by_target'). This leaves the agent with minimal direction on appropriate usage scenarios.
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
| Name | Required | Description | Default |
|---|---|---|---|
| smiles | Yes | SMILES string of the query molecule | |
| threshold | No | Similarity threshold (0-100, default: 90) | |
| max_records | No | Maximum number of results (1-10000, default: 100) |
TDQS
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 method ('Tanimoto similarity') but lacks details on what the tool returns (e.g., list of compounds with scores), performance characteristics (e.g., speed, database scope), or limitations (e.g., requires valid SMILES). This is a significant gap for a search 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and method, making it easy to parse. Every word earns its place without redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a chemical similarity search tool with no annotations and no output schema, the description is incomplete. It doesn't explain return values (e.g., what data is included in results), error handling, or practical constraints. This leaves gaps for an AI agent to understand how to interpret and use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, providing clear details for all parameters (smiles, threshold, max_records). The description adds no additional parameter semantics beyond what's in the schema, such as explaining Tanimoto similarity in context or default behaviors. 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.
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 verb ('Find'), resource ('chemically similar compounds'), and method ('Tanimoto similarity'). However, it doesn't explicitly differentiate from sibling tools like 'search_compounds' or 'substructure_search,' which might offer alternative search methods.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'search_compounds' (which might be broader) or 'substructure_search' (which uses a different matching method), nor does it specify prerequisites or exclusions. Usage is implied by the description 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.
substructure_searchC
Find compounds containing a specific substructure
| Name | Required | Description | Default |
|---|---|---|---|
| smiles | Yes | SMILES string of the substructure query | |
| max_records | No | Maximum number of results (1-10000, default: 100) |
TDQS
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 'finds' compounds, implying a read operation, but doesn't cover aspects like performance (e.g., speed, timeouts), result format (e.g., list of compounds with details), or limitations (e.g., database scope, partial matches). This is inadequate for a search tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with zero wasted words. It's front-loaded with the core purpose, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a substructure search (which can involve nuanced matching and result handling), no annotations, and no output schema, the description is insufficient. It doesn't explain what 'containing' means (e.g., partial matches, stereochemistry handling), the result format, or any error conditions, leaving significant gaps for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema fully documents both parameters (SMILES string and max_records with constraints). The description adds no parameter-specific information beyond implying the 'smiles' parameter is for substructure queries, which is already clear from the schema. 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.
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 containing a specific substructure'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'search_by_smiles' or 'search_similar_compounds', which might also involve SMILES queries, 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.
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' (which might search for exact matches) or 'search_similar_compounds' (which might use similarity metrics), leaving the agent without context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
superstructure_searchC
Find larger compounds that contain the query structure
| Name | Required | Description | Default |
|---|---|---|---|
| smiles | Yes | SMILES string of the query structure | |
| max_records | No | Maximum number of results (1-10000, default: 100) |
TDQS
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 that the tool finds 'larger compounds,' implying a search operation, but does not describe what 'larger' entails, how results are returned (e.g., format, pagination), or any limitations (e.g., performance, data sources). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is front-loaded with the core purpose and efficiently conveys the tool's function. Every part of the sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It lacks details on what 'larger compounds' means, how results are structured, any limitations (e.g., database scope), or error handling. The agent has insufficient context to use the tool effectively beyond basic parameter input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters ('smiles' and 'max_records'). The description does not add any meaning beyond what the schema providesβit does not explain parameter interactions, default behaviors, or usage examples. Baseline 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.
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 larger compounds that contain the query structure.' It specifies the action ('Find') and the resource ('larger compounds'), and distinguishes it from sibling tools like 'substructure_search' (which likely finds compounds containing the query) and 'search_similar_compounds' (which likely finds similar compounds). However, it could be more specific about what 'larger' means (e.g., in terms of molecular size or complexity).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'substructure_search' or 'search_similar_compounds', nor does it specify use cases, prerequisites, or exclusions. The agent must infer usage from the tool name and description 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. Dates show when Glama detected each change.
30 tool updates
- First observed
analyze_molecular_complexity - First observed
analyze_stereochemistry - First observed
assess_drug_likeness - First observed
assess_environmental_fate - First observed
batch_compound_lookup - First observed
calculate_descriptors - First observed
compare_activity_profiles - First observed
get_3d_conformers - First observed
get_assay_info - First observed
get_compound_bioactivities - First observed
get_compound_info - First observed
get_compound_properties - First observed
get_compound_synonyms - First observed
get_external_references - First observed
get_literature_references - First observed
get_pharmacophore_features - First observed
get_regulatory_info - First observed
get_safety_data - First observed
get_toxicity_info - First observed
predict_admet_properties - First observed
search_bioassays - First observed
search_by_cas_number - First observed
search_by_inchi - First observed
search_by_smiles - First observed
search_by_target - First observed
search_compounds - First observed
search_patents - First observed
search_similar_compounds - First observed
substructure_search - First observed
superstructure_search
TDQS
Scored across 30 tools
Most tools have distinct purposes with clear boundaries, such as 'get_compound_info' for general data versus 'get_compound_properties' for molecular metrics. However, some overlap exists, like 'search_by_smiles' and 'substructure_search' both involving SMILES queries, which could cause minor confusion without careful reading of descriptions.
All tool names follow a consistent verb_noun pattern using snake_case, such as 'analyze_molecular_complexity', 'calculate_descriptors', and 'search_compounds'. This uniformity makes the set predictable and easy to navigate, with no deviations in style or structure.
With 30 tools, the count is borderline high for a PubChem server, as it might overwhelm agents with many specialized functions. While it covers extensive chemical data needs, a more focused set of 15-25 tools could improve usability without sacrificing core functionality.
The tool set provides comprehensive coverage for chemical data retrieval and analysis, including search, retrieval, analysis, and prediction tools. It supports full CRUD-like workflows for compounds, assays, and properties, with no obvious gaps that would hinder agent operations in this domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search PubChem compounds, properties, safety data, bioactivity, and cross-references.
Link compounds to protein targets, rank bioactivity, and look up drug mechanisms and indications.
PubChem MCP β NIH chemistry compound database (no auth)
Biomedical data: compounds, drug info, and molecular targets
Related MCP Servers
- FlicenseBqualityFmaintenanceA comprehensive Model Context Protocol server providing access to over 110 million chemical compounds with extensive molecular properties, bioassay data, and chemical informatics tools from the PubChem database.3047-
- AlicenseBqualityDmaintenanceEnables users to retrieve chemical safety information including compound properties, GHS safety classifications, and toxicity data from PubChem database using compound names or CIDs. Supports batch queries with caching for efficient chemical safety research and analysis.3MIT
- AlicenseAqualityAmaintenanceEnables AI agents and applications to search, retrieve, and analyze chemical compounds, substances, and bioassays from PubChem's vast chemical information database through comprehensive tools for chemical research and discovery.102219Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to search and retrieve chemical compound information, structures, and physical properties from the PubChem database. It supports querying via compound names, SMILES notation, or CIDs to provide detailed molecular data for chemical analysis.5-
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/k-lordbodin7/PubChem-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server