Unofficial PubChem MCP Server
Used for HTTP requests to the PubChem API, facilitating reliable data fetching for chemical compound information, bioassay data, and other chemical informatics resources.
Supports package management for server installation and dependency handling, making it easy to set up and maintain the PubChem MCP server environment.
Enables accessing PubMed citations related to chemical compounds through the 'get_literature_references' tool, allowing retrieval of scientific literature data associated with chemical structures.
Provides type safety for all API inputs and responses, ensuring reliable validation of chemical data structures and properties when interacting with the PubChem database.
Click on "Deploy 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., "@Unofficial PubChem MCP Serversearch for aspirin and show me its molecular weight and safety data"
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: SureChEMBL 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 states the tool analyzes molecular complexity and synthetic accessibility but does not describe how it behavesβe.g., whether it returns scores, reports, or predictions; if it requires specific permissions or has rate limits; or what the output format is. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core functionality and appropriately sized for the context, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of molecular analysis, no annotations, and no output schema, the description is incomplete. It does not explain what the analysis entails, the format or content of results, or any behavioral traits. This leaves significant gaps for an AI agent to understand how to use the tool effectively, especially compared to more detailed siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'cid' parameter clearly documented as a PubChem Compound ID. The description does not add any parameter-specific information beyond the schema, but with only one parameter and high schema coverage, the baseline is strong. No additional semantics are needed, so a score of 4 reflects adequate parameter understanding from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose as analyzing molecular complexity and synthetic accessibility, which is clear but vague. It specifies the action ('analyze') and domain ('molecular complexity and synthetic accessibility'), but lacks specificity on what 'analyze' entails (e.g., scoring, classification, or detailed breakdown) and does not differentiate from siblings like 'calculate_descriptors' or 'assess_drug_likeness', which might overlap in assessing compound properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context (e.g., for drug discovery or chemical synthesis), or exclusions. With siblings like 'calculate_descriptors' and 'assess_drug_likeness' that might relate to molecular analysis, the lack of differentiation leaves usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_stereochemistryC
Analyze stereochemistry, chirality, and isomer information
| 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. The description only states what the tool analyzes but doesn't reveal any behavioral traits - whether it performs calculations, retrieves pre-computed data, requires specific permissions, has rate limits, returns structured data, or has any side effects. For a tool with zero annotation coverage, this is a significant gap in behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - just 6 words listing three analysis domains. While efficient, it may be too brief given the lack of other contextual information. The structure is simple and front-loaded with the core purpose, but could benefit from additional context to make it more helpful for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of stereochemical analysis and the absence of both annotations and output schema, the description is incomplete. It doesn't explain what kind of analysis is performed, what format the results take, whether this is a computational or lookup operation, or how it differs from related compound analysis tools. For a specialized analytical tool with no structured metadata, the description should provide more context about the operation and expected outputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'cid' clearly documented as 'PubChem Compound ID (CID)'. The description doesn't add any parameter information beyond what's in the schema. With high schema coverage and only one parameter, the baseline score of 3 is appropriate - the schema does the heavy lifting, and the description doesn't need to compensate for gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool analyzes stereochemistry, chirality, and isomer information, which gives a general purpose but lacks specificity about what resource or data source it operates on. It doesn't distinguish itself from siblings like 'get_compound_properties' or 'calculate_descriptors' that might also provide stereochemical information. The description is vague about whether this is a calculation, retrieval, or analysis operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. With many sibling tools available for compound analysis (like get_compound_info, calculate_descriptors, get_3d_conformers), the description gives no indication of what makes this tool unique or when it should be preferred over other compound analysis tools. There's no mention of prerequisites, limitations, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_drug_likenessC
Assess drug-likeness using Lipinski Rule of Five, Veber rules, and PAINS filters
| 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 describe what the tool returns (e.g., pass/fail results, scores, or detailed outputs), whether it's read-only or has side effects, or any limitations like rate limits or input constraints. This leaves significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('Assess drug-likeness' and the methods list) earns its place by conveying essential information concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool that assesses compound properties. It lacks details on return values (e.g., what the assessment outputs), behavioral traits (e.g., if it's a read operation), and usage context. For a tool with 2 parameters and complex functionality (drug-likeness assessment), this leaves too many gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('cid' and 'smiles') well-documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't clarify if both parameters are required together or alternatives, or provide examples). Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Assess drug-likeness using Lipinski Rule of Five, Veber rules, and PAINS filters'. It specifies the action ('assess') and the resource ('drug-likeness'), and mentions the specific methods used. However, it doesn't explicitly differentiate from siblings like 'predict_admet_properties' or 'calculate_descriptors', which might also evaluate compound properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a CID or SMILES), exclusions, or compare it to sibling tools like 'predict_admet_properties' or 'calculate_descriptors' that might overlap in assessing compound characteristics. Usage is implied but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_environmental_fateC
Assess environmental fate including biodegradation and bioaccumulation
| 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 assesses environmental fate but doesn't describe what the assessment entails (e.g., returns predictions, scores, or detailed reports), whether it's a read-only operation, potential limitations, or error conditions. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely conciseβa single sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. Every word earns its place by specifying the assessment focus ('environmental fate') and key components ('biodegradation and bioaccumulation').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of environmental fate assessment and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., scores, predictions, or detailed analyses), potential dependencies, or how it differs from related tools. For a tool with no structured output information, the description should provide more context to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'cid' parameter clearly documented as 'PubChem Compound ID (CID).' The description doesn't add any parameter-specific information beyond what the schema provides, such as format examples or constraints. However, with high schema coverage, the baseline score of 3 is appropriate, as the schema adequately handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Assess environmental fate including biodegradation and bioaccumulation.' It specifies the action ('assess') and the resource ('environmental fate'), and distinguishes it from siblings by focusing on environmental properties rather than molecular complexity, stereochemistry, drug-likeness, or other chemical analyses. However, it doesn't explicitly name the resource being assessed (e.g., 'compound' or 'chemical'), which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for environmental fate assessment, or differentiate from similar tools like 'get_safety_data' or 'get_toxicity_info' that might overlap with environmental concerns. Without any usage context, the agent must infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_compound_lookupC
Process multiple compound IDs efficiently
| 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 full burden. It mentions 'efficiently' which hints at batch optimization, but doesn't disclose critical behavioral traits like rate limits, error handling for invalid CIDs, whether operations are atomic, response format, or performance characteristics. For a batch tool with no annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized for a tool with good schema documentation and gets straight to the point about batch processing compound IDs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a batch processing tool. It doesn't explain what 'process' means operationally, what results to expect, error conditions, or how this differs from single-compound siblings. For a tool with 2 parameters and multiple operation types, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain what the 'operation' enum values mean in practice or provide examples of CID arrays). Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Process multiple compound IDs efficiently' clearly states the verb ('process') and resource ('multiple compound IDs'), and the 'efficiently' hint suggests batch processing. However, it doesn't explicitly distinguish this batch operation from sibling tools like 'get_compound_info' or 'get_compound_properties' that might handle single compounds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_compound_info', 'get_compound_properties', and 'get_compound_synonyms', there's no indication whether this tool is preferred for bulk operations or how it relates to those single-compound tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_descriptorsC
Calculate comprehensive molecular descriptors and fingerprints
| 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 the full burden of behavioral disclosure. It mentions 'comprehensive' but doesn't detail what that entails, such as computational intensity, rate limits, output format, or whether it's a read-only operation. This leaves significant gaps for an AI agent to understand how the tool behaves beyond basic calculation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words, front-loading the key action and resource. It's appropriately sized for the tool's complexity, making it easy to parse quickly without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral traits, return values, or how it differs from sibling tools, which is crucial for a tool in a crowded molecular analysis context. This leaves the AI agent with insufficient information for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters well. The description adds no additional meaning beyond implying 'comprehensive' might relate to 'descriptor_type', but it doesn't clarify syntax or usage details. This meets the baseline for adequate but unenhanced parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'calculate' and the resource 'molecular descriptors and fingerprints', making the purpose evident. However, it doesn't differentiate from siblings like 'get_compound_properties' or 'predict_admet_properties', which might also involve molecular analysis, leaving room for ambiguity in tool selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling tools for molecular analysis, the description lacks context on prerequisites, scenarios, or exclusions, making it unclear how it fits into workflows compared to tools like 'analyze_molecular_complexity' or 'get_compound_properties'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_activity_profilesC
Compare bioactivity profiles across multiple compounds
| 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 the full burden of behavioral disclosure but offers minimal information. It implies a read-only comparison operation but doesn't specify output format, performance characteristics, rate limits, or error conditions. For a tool with 2 parameters and no output schema, this leaves significant gaps in understanding how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a tool with clear parameters and no complex behavioral nuances to explain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (comparing multiple compounds), lack of annotations, and absence of an output schema, the description is insufficiently complete. It doesn't explain what the comparison yields (e.g., similarity scores, visualizations, or structured data), which is critical for an agent to understand the tool's utility and integrate results into workflows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain what 'bioactivity profiles' consist of or how the comparison is performed). This meets the baseline expectation when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as comparing bioactivity profiles across compounds, specifying both the action (compare) and the resource (bioactivity profiles). It distinguishes from siblings like 'get_compound_bioactivities' (which retrieves rather than compares) and 'search_bioassays' (which searches rather than compares profiles), though it doesn't explicitly name these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or exclusions, leaving the agent to infer usage from the purpose alone. For example, it doesn't clarify if this is for exploratory analysis versus targeted comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_3d_conformersC
Get 3D conformer data and structural information
| 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 'Get' which implies a read operation, but doesn't specify aspects like rate limits, authentication needs, data formats, or potential side effects. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded with a single, clear sentence that states the tool's purpose without any wasted words. It efficiently communicates the core function, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of molecular data retrieval and the lack of annotations and output schema, the description is insufficient. It doesn't explain what '3D conformer data and structural information' entails, the format of returned data, or any limitations, leaving the agent with incomplete context for proper tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters (cid and conformer_type) with details like data types and enums. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score without compensating for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('3D conformer data and structural information'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_compound_info' or 'calculate_descriptors', which might also provide structural data, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available for compound analysis, there is no mention of specific use cases, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_assay_infoC
Get detailed information for a specific bioassay by AID
| Name | Required | Description | Default |
|---|---|---|---|
| aid | Yes | PubChem Assay ID (AID) |
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. While 'Get' implies a read-only operation, it doesn't specify authentication requirements, rate limits, what 'detailed information' includes, error conditions, or response format. For a tool with no annotation coverage, this leaves significant behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple lookup tool and front-loads the essential information about what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'detailed information' includes, the response format, potential errors, or how this differs from related tools. Given the complexity of bioassay data and the rich sibling toolset, users need more context to use this effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'by AID' which aligns with the single 'aid' parameter in the schema. Since schema description coverage is 100% (the aid parameter has a clear description), the description adds minimal value beyond what's already in the structured schema. The baseline of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get detailed information') and the resource ('for a specific bioassay by AID'), making the purpose immediately understandable. However, it doesn't differentiate this tool from potential siblings like 'get_compound_info' or 'search_bioassays' - it's a specific lookup tool but the distinction isn't explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'search_bioassays' and 'get_compound_bioactivities' available, there's no indication whether this is for retrieving metadata about assays themselves versus activity data, or when one would choose this over search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_compound_bioactivitiesC
Get all bioassay results and activities for a compound
| 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 'Get all bioassay results and activities', which implies a read-only operation, but does not specify aspects like rate limits, authentication needs, pagination, or what 'all' entails (e.g., completeness, format). This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It is front-loaded and wastes no space, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of retrieving bioassay data, no annotations, and no output schema, the description is insufficient. It lacks details on return values, data format, potential limitations, or how it integrates with sibling tools, leaving the agent with incomplete context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters (cid and activity_outcome) with details like filtering and enum values. The description adds no additional meaning beyond this, such as explaining the scope of 'bioassay results' or how parameters interact, so it meets the baseline score for high schema coverage without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'all bioassay results and activities for a compound', making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'search_bioassays' or 'compare_activity_profiles', which might offer overlapping or related functionality, so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools such as 'search_bioassays' and 'compare_activity_profiles', it's unclear if this tool is for retrieving all data for a specific compound or if other tools should be used for different scenarios, leaving the agent without explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_compound_infoC
Get detailed information for a specific compound by PubChem CID
| 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?
With no annotations provided, the description carries the full burden of behavioral disclosure but provides minimal information. It doesn't indicate whether this is a read-only operation, what kind of authentication might be required, potential rate limits, error conditions, or what 'detailed information' actually includes. The description is functional but lacks important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a straightforward lookup tool and front-loads the essential information without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'detailed information' includes, what format the output takes, or provide any context about the scope or limitations of the information returned. Given the complexity implied by the sibling tools (which handle specific aspects like properties, bioactivities, safety data), this description should clarify what comprehensive information it provides.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it mentions 'PubChem CID' which the schema already covers, and doesn't elaborate on format choices or provide examples. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get detailed information') and target resource ('specific compound by PubChem CID'), which distinguishes it from siblings like get_compound_properties or get_compound_synonyms that retrieve specific subsets of information. However, it doesn't explicitly differentiate from batch_compound_lookup or search_compounds, which could also retrieve compound information through different mechanisms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer this over batch_compound_lookup for single compounds, or when to use get_compound_properties versus this more comprehensive information retrieval. There's no context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_compound_propertiesC
Get molecular properties (MW, logP, TPSA, etc.)
| 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. It states the tool retrieves properties but does not cover critical aspects such as data source, rate limits, error handling, or response format. This leaves significant gaps for an agent to understand how the tool behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely conciseβa single sentence that efficiently conveys the core functionality without any wasted words. It is front-loaded with the main action and includes helpful examples, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for effective tool use. It does not explain what the return values look like (e.g., format, units), potential limitations, or how it integrates with other tools in the server, leaving the agent with insufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters (cid and properties). The description adds minimal value by implying the types of properties (e.g., MW, logP, TPSA) but does not provide additional syntax, constraints, or examples beyond what the schema already specifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('molecular properties'), and lists examples of properties (MW, logP, TPSA). However, it does not explicitly distinguish this tool from similar siblings like 'calculate_descriptors' or 'get_compound_info', which might also retrieve property-related data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'calculate_descriptors', 'get_compound_info'), there is no mention of specific contexts, prerequisites, or exclusions to help an agent choose appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_compound_synonymsB
Get all names and synonyms for a compound
| 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'), implying a read-only operation, but does not disclose any behavioral traits such as rate limits, authentication needs, error handling, or the format of returned synonyms. This leaves significant gaps in understanding how the tool behaves beyond its basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words or fluff. It is front-loaded and appropriately sized for a simple retrieval tool, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, high schema coverage, and no output schema, the description is minimally complete. It covers the basic function but lacks details on output format, error cases, or integration with sibling tools. Given the simplicity, it meets the minimum threshold but could be more informative to fully guide an AI agent in complex scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'cid' parameter clearly documented as 'PubChem Compound ID (CID)' of type number or string. The description adds no additional meaning beyond this, as it does not elaborate on parameter usage, constraints, or examples. Given the high schema coverage, a baseline score of 3 is appropriate, as the schema adequately handles parameter semantics without extra description value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('all names and synonyms for a compound'), making the purpose specific and understandable. However, it does not explicitly distinguish this tool from sibling tools like 'get_compound_info' or 'search_compounds', which might also retrieve compound-related data, leaving some ambiguity in differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as sibling tools like 'get_compound_info' or 'search_by_smiles'. It lacks context on prerequisites, exclusions, or specific scenarios where retrieving synonyms is preferred over other compound data, offering minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_external_referencesC
Get links to external databases (ChEMBL, DrugBank, KEGG, etc.)
| 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 action 'Get links' but doesn't describe what the output looks like (e.g., format, structure), whether it's a read-only operation, potential rate limits, or error handling. This is inadequate for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It front-loads the purpose and includes relevant examples (ChEMBL, DrugBank, KEGG) without unnecessary elaboration. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of retrieving external database links, no annotations, and no output schema, the description is incomplete. It lacks details on output format, behavioral traits, and usage context. This is a significant gap for a tool that likely returns structured data from multiple sources.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'cid' clearly documented as 'PubChem Compound ID (CID)'. The description doesn't add any parameter details beyond what the schema provides, such as examples or constraints. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'links to external databases', specifying examples like ChEMBL, DrugBank, and KEGG. It distinguishes from siblings by focusing on external database links rather than properties, bioactivities, or other compound data. However, it doesn't explicitly contrast with similar tools like 'get_literature_references' or 'get_compound_info'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, context for selecting external databases, or how it differs from sibling tools like 'get_compound_info' or 'get_literature_references'. The description implies usage for external links but offers no explicit when/when-not instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_literature_referencesC
Get PubMed citations and scientific literature references
| 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 full burden but offers minimal behavioral insight. It states what the tool returns (PubMed citations/literature references) but doesn't disclose format, pagination, rate limits, authentication needs, or whether it's a read-only operation. For a tool with zero annotation coverage, this is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one short phrase) with zero wasted words. It's front-loaded with the core purpose. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a single parameter, the description is incomplete. It doesn't explain what format the references come in, how many are returned, whether there are limitations, or what happens with invalid CIDs. For a tool that presumably returns structured data, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single parameter 'cid' is well-described in the schema as 'PubChem Compound ID (CID)'). The description doesn't add any parameter information beyond what's in the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get PubMed citations and scientific literature references' specifies the action (get) and resource (PubMed citations/literature references). It distinguishes from many siblings focused on molecular analysis, but doesn't explicitly differentiate from 'get_external_references' which might overlap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, constraints, or when to choose this over other reference-related tools like 'get_external_references' or 'search_patents'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pharmacophore_featuresC
Get pharmacophore features and binding site information
| 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 is retrieved but doesn't mention any behavioral traits such as data format, potential errors, rate limits, or authentication needs. For a tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It front-loads the key action and resources, making it easy to parse quickly without unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'pharmacophore features and binding site information' entails in terms of return values or format, leaving the agent uncertain about the tool's output. For a tool with no structured output documentation, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'cid' clearly documented as 'PubChem Compound ID (CID)'. The description doesn't add any meaning beyond this, such as examples or constraints, but the schema provides adequate baseline information, justifying a score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resources 'pharmacophore features and binding site information', making the purpose specific. However, it doesn't distinguish this tool from potential siblings like 'get_compound_info' or 'get_3d_conformers' that might provide overlapping or related data, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Given the many sibling tools for compound analysis (e.g., 'get_compound_info', 'get_3d_conformers'), the description lacks context on prerequisites, typical use cases, or exclusions, leaving the agent with minimal direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_regulatory_infoC
Get regulatory information from FDA, EPA, and international agencies
| 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 mentions 'Get' implying a read operation, but doesn't specify permissions, rate limits, data formats, or whether it's a real-time query versus cached data. For a tool with no annotations, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasteβit directly states the tool's purpose without fluff. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (regulatory info from multiple agencies), lack of annotations, and no output schema, the description is insufficient. It doesn't explain what 'regulatory information' entails (e.g., approvals, bans, guidelines), return formats, or error handling, leaving the agent with incomplete context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-specific information beyond what's in the schema, which has 100% coverage (fully describes 'cid' as PubChem Compound ID). Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools (e.g., 'get_safety_data', 'get_toxicity_info', 'assess_environmental_fate') that could relate to regulatory aspects, there's no indication of specific use cases, prerequisites, or exclusions, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_safety_dataC
Get GHS hazard classifications and safety information
| 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. While 'Get' implies a read-only operation, the description doesn't clarify whether this requires authentication, has rate limits, returns structured or unstructured data, or has any side effects. For a tool with no annotation coverage, this leaves significant behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states exactly what the tool does with zero wasted words. It's appropriately sized for a simple lookup tool and front-loads the core functionality without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'GHS hazard classifications' specifically include, what format the safety information returns, or how this differs from related sibling tools. The agent would need to guess about the output structure and appropriate usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already fully documents the single 'cid' parameter as a PubChem Compound ID. The description adds no additional parameter context beyond what the schema provides - it doesn't explain what GHS classifications are, what format the safety information takes, or how the CID maps to the output. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'GHS hazard classifications and safety information', making the purpose immediately understandable. However, it doesn't explicitly differentiate this from sibling tools like 'get_toxicity_info' or 'get_regulatory_info', which likely provide related but distinct safety-related data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools that might provide overlapping or complementary safety information (get_toxicity_info, get_regulatory_info, assess_environmental_fate), the agent receives no help in choosing between them. There's no mention of prerequisites, limitations, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_toxicity_infoB
Get toxicity data including LD50, carcinogenicity, and mutagenicity
| 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 data is retrieved but doesn't describe how the tool behaves: e.g., whether it returns structured data, error handling for invalid CIDs, rate limits, or authentication needs. For a read operation with no annotation coverage, this leaves significant gaps in understanding operational traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('Get toxicity data including LD50, carcinogenicity, and mutagenicity') directly contributes to understanding the tool's function, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter with full schema coverage and no output schema, the description is minimally adequate. It specifies the data types returned but lacks details on output format, error cases, or behavioral context. For a simple lookup tool, this is passable but leaves room for improvement in completeness, especially without annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'cid' fully documented in the schema as 'PubChem Compound ID (CID)'. The description adds no additional parameter semantics beyond implying that toxicity data is fetched for the given CID. This meets the baseline score of 3 since the schema adequately covers parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and the resource ('toxicity data'), specifying the types of data included (LD50, carcinogenicity, mutagenicity). It distinguishes this from general compound info tools like 'get_compound_info' by focusing on toxicity. However, it doesn't explicitly differentiate from 'get_safety_data' which might overlap, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a CID), exclusions, or comparisons to sibling tools like 'get_safety_data' or 'predict_admet_properties' that might handle related toxicity or safety aspects. Usage is implied only by the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
predict_admet_propertiesC
Predict ADMET properties (Absorption, Distribution, Metabolism, Excretion, Toxicity)
| 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 ADMET properties but lacks details on how predictions are made (e.g., model used, accuracy), what the output format is, or any limitations (e.g., rate limits, data requirements). For a prediction tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the key information (predicting ADMET properties) and avoids redundancy, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of predicting ADMET properties, no annotations, and no output schema, the description is incomplete. It does not cover behavioral aspects like prediction methods, output format, or limitations, which are crucial for a tool of this nature. The description alone is insufficient for an agent to use the tool effectively without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (cid and smiles) with clear descriptions. The description does not add any meaning beyond this, such as explaining the relationship between cid and smiles or usage examples. Baseline 3 is appropriate as the schema handles parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: predicting ADMET properties (Absorption, Distribution, Metabolism, Excretion, Toxicity). It specifies the verb 'predict' and the resource 'ADMET properties', making it distinct from siblings like 'assess_drug_likeness' or 'get_toxicity_info' which focus on different aspects. However, it doesn't explicitly differentiate from all similar tools, such as 'assess_drug_likeness' which might overlap in scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or exclusions, such as how it differs from 'assess_drug_likeness' or 'get_toxicity_info'. Without this, users must infer usage from the tool name alone, which is insufficient for effective tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_bioassaysC
Search for biological assays by target, description, or source
| 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 the full burden of behavioral disclosure. It mentions the search action but fails to describe key traits like whether it's read-only, if there are rate limits, authentication needs, pagination behavior, or what the output format looks like. This is a significant gap for a search tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part of the sentence contributes directly to understanding the tool's function, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, usage context, and output expectations, which are crucial for an AI agent to invoke the tool correctly and interpret results. The high schema coverage doesn't compensate for these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists searchable fields ('target, description, or source'), which partially maps to the input schema parameters (target, source, query). However, with 100% schema description coverage, the schema already documents all parameters thoroughly, so the description adds minimal value beyond what's in the structured data. The baseline score of 3 reflects adequate but not enhanced parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search for biological assays') and the searchable fields ('by target, description, or source'), which is specific and informative. However, it doesn't explicitly differentiate from sibling tools like 'search_by_target' or 'search_compounds', which might have overlapping functionality, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as 'search_by_target' or 'search_compounds' from the sibling list. It lacks context about use cases, exclusions, or prerequisites, leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_cas_numberC
Search for compounds by CAS Registry Number
| 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 the tool searches for compounds, implying a read-only operation, but doesn't clarify aspects like whether it returns a single compound or multiple matches, error handling for invalid CAS numbers, rate limits, or authentication needs. For a search tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Search for compounds by CAS Registry Number'. It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple search tool. Every part of the sentence contributes essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., compound details, a list, or an error for no matches), behavioral traits, or usage context relative to siblings. For a search tool in a complex chemical domain with many alternatives, more guidance is needed to help the agent use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'cas_number' fully documented in the schema itself. The description adds no additional parameter information beyond what's in the schema. According to the rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for compounds by CAS Registry Number'. It specifies the verb ('search') and resource ('compounds'), and the CAS Registry Number provides a specific identifier type. However, it doesn't differentiate from sibling tools like 'search_by_inchi' or 'search_by_smiles' that also search compounds by different identifiers, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'search_by_inchi' or 'search_by_smiles' for other identifier types, or 'search_compounds' for broader searches. There's no context on prerequisites, limitations, or typical use cases, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_inchiB
Search for compounds by InChI or InChI key
| 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 performs a search, implying a read-only operation, but doesn't clarify aspects like whether it returns exact matches only, handles partial keys, supports pagination, or has rate limits. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core functionality. There is no wasted verbiage or redundancy, making it easy to parse quickly. It earns its place by succinctly conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose but lacks details on usage context, behavioral traits, and output expectations. For a search tool among many siblings, more guidance would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal value beyond the input schema, which has 100% coverage. It mentions 'InChI or InChI key', aligning with the schema's description of 'InChI string or InChI key'. No additional semantics, such as format examples or validation rules, are provided. With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search for compounds by InChI or InChI key'. It specifies the verb ('search'), resource ('compounds'), and input type ('InChI or InChI key'), which is specific and unambiguous. However, it doesn't explicitly differentiate from siblings like 'search_by_smiles' or 'search_by_cas_number', which perform similar searches with different input formats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'search_by_smiles' or 'search_by_cas_number', nor does it specify scenarios where InChI-based searching is preferred over other methods. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_smilesC
Search for compounds by SMILES string (exact match)
| 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?
With no annotations provided, the description carries full burden for behavioral disclosure. It states it's a search operation but doesn't describe what happens if no match is found, whether it's case-sensitive, if it returns multiple results, or any performance characteristics. The 'exact match' hint is minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple search tool and front-loads the essential information about what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations and no output schema, the description is insufficient. It doesn't explain what format the results will be in, whether it returns compound IDs or full records, or any limitations. Given the rich ecosystem of sibling tools, more context about this tool's specific role is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage with the parameter 'smiles' clearly documented as 'SMILES string of the query molecule'. The description adds no additional parameter semantics beyond what the schema already provides, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search for compounds') and the resource ('by SMILES string'), with the specific constraint 'exact match' that distinguishes it from similarity-based searches. However, it doesn't explicitly differentiate from sibling tools like 'search_by_inchi' or 'search_compounds' which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'search_by_inchi', 'search_similar_compounds', or 'substructure_search'. It mentions 'exact match' but doesn't explain what this means in practice or when other search methods would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_targetC
Find compounds tested against a specific biological target
| 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' but does not specify whether this is a read-only operation, if it requires authentication, has rate limits, or what the output format might be. For a search tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently conveys the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It does not explain what the tool returns (e.g., list of compounds, bioactivity data), potential limitations, or error conditions. For a search tool with no structured output information, this leaves significant gaps in understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already documents all parameters (target, activity_type, max_records) adequately. The description does not add any additional meaning or context beyond what the schema provides, such as examples of target names or activity types, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Find') and resource ('compounds tested against a specific biological target'), making it easy to understand what it does. However, it does not explicitly differentiate from sibling tools like 'search_compounds' or 'search_bioassays', which might have overlapping functionality, so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as 'search_compounds' or 'search_bioassays', which are listed as siblings. It lacks explicit context, exclusions, or prerequisites, leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_compoundsC
Search PubChem database for compounds by name, CAS number, formula, or identifier
| 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?
With no annotations provided, the description carries full burden but lacks behavioral details. It doesn't mention rate limits, authentication needs, response format, pagination, or error handling. 'Search' implies read-only, but this isn't explicitly stated, leaving gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the core action, zero waste. Every word earns its place by specifying the database, target, and searchable fields efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what results look like (e.g., compound IDs, names, properties), how many results are typical, or handling of large result sets, leaving significant gaps for an AI agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds minimal value by listing searchable fields, which aligns with the 'query' parameter and 'search_type' enum, but doesn't provide additional syntax or format details beyond what the schema already covers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search' and resource 'PubChem database for compounds', specifying the searchable fields (name, CAS number, formula, or identifier). It distinguishes from siblings like 'search_by_cas_number' or 'search_by_smiles' by being a general search tool, but doesn't explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'search_by_cas_number', 'search_by_smiles', or 'batch_compound_lookup'. The description lists searchable fields but doesn't explain trade-offs or recommend specific tools for different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_patentsC
Search for chemical patents and intellectual property information
| 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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action ('Search') without detailing behavioral traits like whether it's read-only, requires authentication, has rate limits, returns paginated results, or what the output format might be. This leaves significant gaps for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It's appropriately sized and front-loaded, directly stating the tool's purpose without unnecessary elaboration, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It lacks information on behavioral aspects, output format, and usage context, which are crucial for an AI agent to effectively invoke the tool. The description does not compensate for the absence of structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for 'cid' and 'query' parameters. The description adds no additional meaning beyond the schema, such as explaining the relationship between CID and query or providing usage examples. With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Search for chemical patents and intellectual property information', which includes a specific verb ('Search') and resource ('chemical patents and intellectual property information'). However, it doesn't explicitly differentiate from sibling tools like 'search_by_target' or 'search_compounds', which might also involve searching but for different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions, such as whether to use CID or query parameters, or how it differs from other search tools in the sibling list like 'search_by_cas_number' or 'search_similar_compounds'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_similar_compoundsC
Find chemically similar compounds using Tanimoto similarity
| 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 similarity method ('Tanimoto similarity') but doesn't describe key behavioral traits: what the output looks like (e.g., list of compounds with scores), whether it's a read-only operation (implied but not stated), performance characteristics (e.g., speed, limitations), or error handling. For a search tool with no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Find chemically similar compounds using Tanimoto similarity.' It is front-loaded with the core purpose, has zero wasted words, and appropriately sized for the tool's complexity. Every part of the sentence earns its place by specifying the action, resource, and method.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is incomplete. It lacks information on output format (critical for a search tool), behavioral context (e.g., read-only nature, performance), and usage guidelines relative to siblings. Without an output schema, the description should ideally hint at return values, but it doesn't, leaving the agent with insufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all parameters well-documented in the schema (e.g., 'smiles' as 'SMILES string of the query molecule'). The description adds no additional parameter semantics beyond what's in the schemaβit doesn't explain parameter interactions, default behaviors beyond defaults listed, or usage nuances. Thus, it meets the baseline score of 3, as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find chemically similar compounds using Tanimoto similarity.' It specifies the action ('Find'), resource ('chemically similar compounds'), and method ('Tanimoto similarity'), which distinguishes it from siblings like 'search_compounds' or 'substructure_search' that likely use different search methods. However, it doesn't explicitly differentiate from all siblings (e.g., 'search_by_smiles' might also use SMILES input), keeping it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over siblings like 'search_compounds' (which might be a general search) or 'substructure_search' (which uses structural matching), nor does it specify prerequisites or exclusions. This lack of contextual direction leaves the agent to infer usage from the tool name and parameters alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
substructure_searchB
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 what the tool does but lacks critical details such as whether this is a read-only operation, potential rate limits, authentication requirements, or what the output format looks like (e.g., list of compounds, error handling). For a search tool with no 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 directly states the tool's purpose without any fluff or redundant information. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (a search tool with 2 parameters), no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose but lacks details on behavior, output, and usage context. With no output schema, the agent is left uncertain about return values, which reduces completeness for effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear documentation for both parameters (SMILES string and max_records). The description adds no additional meaning beyond the schema, such as explaining what a 'substructure' means in this context or providing 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 'Find' and the resource 'compounds containing a specific substructure', which is specific and actionable. However, it does not explicitly differentiate from sibling tools like 'search_compounds' or 'superstructure_search', which appear related but have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'search_compounds' and 'superstructure_search' present, there is no indication of the specific context or scenarios where substructure_search is preferred, leaving the agent to guess based on tool names alone.
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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks critical behavioral details: it doesn't specify if this is a read-only operation, what the output format is, whether there are rate limits, authentication needs, or how results are ordered/returned. For a search tool with no 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 directly states the tool's purpose with zero waste. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 doesn't explain what 'larger compounds' means in context, how results are returned, or any behavioral traits, leaving the agent with insufficient information to fully understand the tool's 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?
Schema description coverage is 100%, with both parameters well-documented in the schema (SMILES string and max_records with range/default). The description adds no additional parameter semantics beyond implying the query structure is input via SMILES, so it meets the baseline of 3 where 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 'find' and the resource 'larger compounds that contain the query structure', making the purpose specific and understandable. It distinguishes from siblings like 'substructure_search' (which likely finds smaller compounds) by specifying 'larger compounds', but doesn't explicitly name alternatives or fully differentiate from all siblings like 'search_similar_compounds'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when-not scenarios, prerequisites, or explicitly name sibling tools like 'substructure_search' or 'search_similar_compounds' for comparison, leaving the agent to 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
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, but some overlap exists, such as 'search_compounds' (general search) and specific search tools like 'search_by_smiles' or 'search_by_cas_number', which could cause minor confusion. However, descriptions clarify their specific use cases, making them generally distinguishable.
Tool names follow a highly consistent verb_noun pattern throughout, using snake_case uniformly. Examples include 'get_compound_info', 'search_by_smiles', and 'predict_admet_properties', with no deviations in style or convention.
With 30 tools, the count is borderline high for a PubChem server, as it may feel heavy and potentially overwhelming. However, given the comprehensive domain of chemical data analysis, it is reasonable but could benefit from consolidation or better scoping.
The tool set provides extensive coverage for chemical data retrieval, analysis, and search, including CRUD-like operations (e.g., get, search, analyze) and specialized functions like toxicity assessment and ADMET prediction. No obvious gaps are present for the domain.
Maintenance
Related MCP Connectors
PubChem MCP β NIH chemistry compound database (no auth)
Search PubChem compounds, properties, safety data, bioactivity, and cross-references.
Biomedical data: compounds, drug info, and molecular targets
Link compounds to protein targets, rank bioactivity, and look up drug mechanisms and indications.
Related MCP Servers
- FlicenseBqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server providing advanced access to the ChEMBL chemical database.2789-
- FlicenseAqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server for accessing the SureChEMBL chemical patent database.157-
- AlicenseBqualityDmaintenanceEnables comprehensive access to PubChem's chemical database with over 110 million compounds. Supports chemical searches, structure analysis, bioactivity data, safety information, and molecular property calculations through 30 specialized tools.30MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides tools for querying the PubChem database for detailed information on chemical compounds, substances, bioassays, and molecular properties. It enables users to search by name, structure, or identifier to retrieve chemical classifications and cross-references through natural language.-