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 "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@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. The description mentions analyzing complexity and synthetic accessibility but doesn't explain what the tool actually does behaviorallyβe.g., whether it performs calculations, returns scores, provides recommendations, or has limitations like computational intensity or data availability. It lacks details on output format, error conditions, or any operational constraints.
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 concise with a single phrase, making it front-loaded and easy to parse. However, it may be overly brief, potentially under-specifying the tool's functionality. There is no wasted text, but the brevity could compromise clarity given the lack of additional context.
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 implied by analyzing molecular complexity and synthetic accessibility, the description is incomplete. No output schema is provided, and the description doesn't explain what the tool returns (e.g., scores, reports, or structured data). With no annotations and a vague purpose, the description fails to provide enough context for an agent to understand how to interpret results or handle this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'cid' clearly documented as a PubChem Compound ID. The description doesn't add any parameter-specific information beyond what the schema provides, such as examples or constraints on CID values. Since schema coverage is high, 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 states the tool's purpose as analyzing molecular complexity and synthetic accessibility, which is clear but vague. It specifies the general domain (molecular analysis) but doesn't distinguish it from sibling tools like 'calculate_descriptors' or 'predict_admet_properties' that also perform molecular analysis. The description lacks specific details about what 'complexity' and 'synthetic accessibility' mean in this context.
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 focused on molecular analysis (e.g., 'calculate_descriptors', 'assess_drug_likeness'), there is no indication of what makes this tool unique or when it should be preferred. No exclusions, prerequisites, or alternative tools are mentioned.
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. It states the tool 'analyzes' information, implying a read-only operation, but doesn't specify if it's computationally intensive, requires specific permissions, or has rate limits. For a tool with no annotations, this leaves significant gaps in understanding its behavior and constraints.
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 lists the key analysis areas without unnecessary words. It's front-loaded with the main purpose, though it could be slightly more structured by explicitly mentioning the input parameter. Overall, it's concise and well-sized for its content.
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 stereochemistry analysis, no annotations, and no output schema, the description is incomplete. It doesn't explain what the analysis entails, the format or depth of results, or any limitations. For a tool that likely returns detailed chemical data, this leaves the agent with insufficient context 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?
The input schema has 100% description coverage, with the 'cid' parameter clearly documented as a PubChem Compound ID. The description doesn't add any meaning beyond this, such as explaining what types of stereochemistry analysis are performed or how the CID is used. With high schema coverage, 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 states the tool analyzes stereochemistry, chirality, and isomer information, which provides a general purpose. However, it lacks specificity about what resource it operates on (compounds identified by CID) and doesn't distinguish itself from sibling tools like 'get_compound_properties' or 'calculate_descriptors' that might also provide stereochemical insights. The purpose is clear but not sufficiently differentiated.
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 offers no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, such as when to choose this over 'get_compound_info' or 'calculate_descriptors' for stereochemistry data. Without any usage hints, the agent must infer 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.
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 full burden. It mentions the assessment methods but doesn't disclose behavioral traits such as computational requirements, typical runtime, output format, or any limitations (e.g., handling of specific compound types). This leaves gaps in understanding how the tool operates beyond its stated purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose and lists key methods without unnecessary details. Every word earns its place, 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 no annotations, no output schema, and a tool that performs assessment (implying analysis with potential complexity), the description is incomplete. It lacks details on what the assessment returns (e.g., scores, flags, recommendations), how results are interpreted, or any error conditions. This limits usability for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters 'cid' and 'smiles' are fully documented in the schema. The description adds no additional parameter semantics beyond implying input is a compound (via CID or SMILES). 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: assessing drug-likeness using specific methods (Lipinski Rule of Five, Veber rules, PAINS filters). It specifies the verb 'assess' and the resource 'drug-likeness', but doesn't explicitly differentiate from siblings like 'predict_admet_properties' or 'get_compound_properties' which might overlap in pharmaceutical assessment domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lists methods but doesn't indicate scenarios, prerequisites, or exclusions. For example, it doesn't clarify if this is for early-stage screening versus detailed analysis, or how it differs from sibling tools like 'predict_admet_properties'.
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 mentions assessing environmental fate but does not specify whether this is a read-only operation, requires specific permissions, involves computational predictions, or details output 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 clearly states the tool's function. It is front-loaded with the main purpose and includes specific aspects like biodegradation and bioaccumulation, with no wasted words, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of environmental fate assessment, lack of annotations, and no output schema, the description is incomplete. It does not address behavioral traits, output details, or how it differs from sibling tools, leaving the agent with insufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, fully documenting the 'cid' parameter as a PubChem Compound ID. The description adds no additional meaning beyond this, such as explaining what types of compounds are supported or how the CID is used. 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 states the tool assesses environmental fate, specifying biodegradation and bioaccumulation, which clarifies the verb and resource. However, it does not differentiate from siblings like 'get_toxicity_info' or 'predict_admet_properties', which may overlap in environmental aspects, leaving the purpose somewhat vague in context.
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 such as 'get_toxicity_info' and 'predict_admet_properties' that might cover related environmental or toxicity data, there is no indication of specific use cases, prerequisites, or exclusions, leading to potential confusion.
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. 'Process' is vague about behaviorβit doesn't specify what processing entails (e.g., fetching data, calculations), whether it's read-only or mutative, or any constraints like rate limits. The 'efficiently' hint is minimal and doesn't add substantive 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, concise sentence with no wasted words. It's front-loaded with the core action, though it could be more specific (e.g., 'Batch lookup of compound data'). Every word earns its place, but it's slightly under-specified rather than optimally informative.
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 vague description for a tool with 2 parameters, this is incomplete. The description doesn't compensate for missing behavioral details or clarify the tool's role among many siblings. It's inadequate for guiding an agent on proper invocation and expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters (cids array with limits, operation enum). The description adds no meaning beyond thisβit doesn't explain what 'process' means in terms of these parameters or provide examples. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Process multiple compound IDs efficiently' clearly states the verb ('process') and resource ('multiple compound IDs'), and the 'efficiently' hint suggests batch processing. However, it doesn't explicitly differentiate 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 many sibling tools like 'get_compound_properties' and 'get_compound_synonyms', there's no indication whether this is for batch operations, specific data types, or performance scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_descriptorsC
Calculate comprehensive molecular descriptors and fingerprints
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) | |
| descriptor_type | No | Type of descriptors (default: all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'comprehensive' but doesn't disclose computational cost, time, rate limits, or output format. For a calculation tool, this lack of behavioral context 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 with zero waste. It's front-loaded with the core action and resource, 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?
For a calculation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'descriptors and fingerprints' entail, potential limitations, or return values, leaving key contextual gaps for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
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 this is minimal. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'calculate' and the resource 'molecular descriptors and fingerprints', making the purpose understandable. However, it doesn't distinguish this tool from siblings like 'get_compound_properties' or 'predict_admet_properties' that might also compute molecular characteristics, missing specific differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for molecular analysis, there's no indication of context, prerequisites, or exclusions, 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.
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?
No annotations are provided, so the description carries full burden. It mentions 'compare' but doesn't disclose behavioral traits: what format the comparison output takes (e.g., similarity scores, visualizations), whether it's computationally intensive, if there are rate limits, or how it handles missing data. For a tool with 2 parameters and no output schema, 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: 'Compare bioactivity profiles across multiple compounds' directly states the core function. It's appropriately sized and front-loaded, 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 complexity (comparing multiple compounds' bioactivity profiles), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what a 'bioactivity profile' includes, how comparison results are returned, or any limitations (e.g., data availability, computation time). For a tool that likely produces structured comparison data, this leaves too much undefined.
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 (cids as an array of PubChem CIDs with size constraints, activity_type as optional string). The description adds no additional meaning beyond what's in the schemaβit doesn't explain what 'bioactivity profiles' entail or how activity_type influences comparison. 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 clearly states the tool's purpose: 'Compare bioactivity profiles across multiple compounds' specifies the action (compare) and 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). However, it doesn't explicitly mention the PubChem CID input, which could make it slightly less specific than a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_compound_bioactivities' (which retrieves bioactivity data) and 'search_bioassays' (which searches bioassays), there's no indication of when comparison is preferred over retrieval or search. No prerequisites, exclusions, or contextual boundaries are mentioned.
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. It mentions 'Get 3D conformer data and structural information' but doesn't disclose behavioral traits such as whether this is a read-only operation, if it requires authentication, potential rate limits, or what the output format looks like (e.g., file types, data structure). This leaves significant gaps for an agent to understand how to use it effectively.
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 front-loaded with the core action and resource, 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 retrieving 3D conformer data, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., coordinates, energy levels, file formats), any prerequisites, or error conditions. This makes it inadequate for an agent to fully understand the tool's behavior and 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?
Schema description coverage is 100%, so the schema already documents both parameters (cid and conformer_type) with descriptions and an enum. The description adds no additional meaning beyond what the schema provides, such as explaining what '3D conformer data' entails or how the conformer_type affects results. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('3D conformer data and structural information'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_compound_info' or 'calculate_descriptors' that might also provide structural data, so it's not fully specific.
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. For example, it doesn't clarify if this is for retrieving pre-computed conformers versus generating new ones, or how it differs from sibling tools like 'get_compound_properties' or 'calculate_descriptors' that might offer related data.
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 the full burden of behavioral disclosure. It states it 'Get detailed information,' implying a read-only operation, but doesn't specify what 'detailed information' includes, potential rate limits, authentication needs, or error handling. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states 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 complexity of bioassay data, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'detailed information' entails, such as assay metadata, results, or related compounds, leaving the agent uncertain about the tool's output and full capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'aid' parameter clearly documented as 'PubChem Assay ID (AID).' The description adds no additional meaning beyond this, such as format examples or constraints, so it meets the baseline for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get detailed information') and resource ('for a specific bioassay by AID'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'search_bioassays' or 'get_compound_bioactivities', which could provide related information, 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 prerequisites, such as needing a specific AID, or compare it to siblings like 'search_bioassays' for broader queries or 'get_compound_bioactivities' for compound-focused data, leaving the agent without 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_bioactivitiesB
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 states 'Get all bioassay results and activities', implying a read-only operation, but doesn't specify details like data format, pagination, rate limits, or permissions required. For a tool with no annotations, this is inadequate, scoring a 2 for vague behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and appropriately sized, earning a 5 for optimal conciseness and structure.
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 2 parameters with full schema coverage, the description is minimally complete. It covers the basic purpose but lacks details on behavior, output format, or usage context. For a simple read tool, it's adequate but has clear gaps, scoring a 3.
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 descriptions for both parameters (cid and activity_outcome). The description adds no additional meaning beyond the schema, such as explaining parameter interactions or usage examples. With high schema coverage, the baseline is 3, as the description doesn't compensate but doesn't detract either.
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. It distinguishes from siblings like 'get_compound_info' or 'search_bioassays' by focusing on bioassay results for a specific compound, though it doesn't explicitly name alternatives. This earns a 4 for being clear but lacking explicit sibling 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. It doesn't mention prerequisites, context, or exclusions, such as how it differs from 'search_bioassays' or 'compare_activity_profiles'. With no usage instructions, it scores a 2 for minimal guidance.
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?
No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Get detailed information' implies a read-only operation, it doesn't specify what 'detailed information' includes, whether there are rate limits, authentication requirements, or how results are structured. This leaves significant behavioral aspects undocumented.
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 immediately conveys the core purpose without any wasted words. It's appropriately sized for a simple lookup tool and front-loads the 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?
For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'detailed information' includes, how results are structured, or any limitations. Given the complexity implied by having 28 sibling tools in this domain, more context about the scope and boundaries of this tool 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 fully documents both parameters (cid and format). The description adds no additional parameter semantics beyond what's in the schema, such as explaining what constitutes valid CID values or format implications. Baseline 3 is appropriate when schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get detailed information') and resource ('for a specific compound by PubChem CID'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_compound_properties' or 'get_compound_bioactivities', which likely provide more specific subsets of compound information.
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 offering specialized compound data (e.g., properties, bioactivities, synonyms), there's no indication whether this is a comprehensive information source or how it relates to other compound-related tools.
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 mentions what properties can be retrieved but lacks details on permissions, rate limits, data sources, or response format. For a read operation with no annotation coverage, 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 extremely concise and front-loaded, consisting of a single sentence that directly states the tool's purpose with relevant examples. There is no wasted verbiage, making it efficient for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of molecular property retrieval and the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like data sources, error handling, or return format, which are crucial for an agent to use the tool effectively in a scientific context with many sibling alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters (cid and properties). The description adds minimal value by hinting at property types (MW, logP, TPSA), which aligns with the 'properties' parameter but doesn't provide additional syntax or format details 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 provides examples of the types of properties (MW, logP, TPSA). However, it doesn't explicitly differentiate this tool from sibling tools like 'calculate_descriptors' or 'get_compound_info', which might also retrieve molecular properties, leaving some ambiguity about its unique scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'get_compound_info', 'calculate_descriptors'), there is no indication of context, prerequisites, or exclusions to help an agent choose appropriately, relying solely on the tool name and basic description.
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 action but lacks details on permissions, rate limits, response format, or error handling. For a read operation with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and wastes no space, making it highly concise and well-structured.
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 simplicity (one parameter, read-only operation) and lack of output schema, the description is minimally adequate but incomplete. It covers the basic purpose but fails to address behavioral aspects like response format or usage context, which are important for effective tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the parameter 'cid' fully documented as 'PubChem Compound ID (CID)'. The description does not add any extra meaning beyond this, such as format examples or constraints, so it meets the baseline for 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 verb 'Get' and the resource 'all names and synonyms for a compound', making the purpose specific and understandable. However, it does not explicitly differentiate from sibling tools like 'get_compound_info' or 'get_compound_properties', which might also retrieve related data, 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 'get_compound_info' or 'search_compounds', which might offer overlapping or complementary functionality. There is no mention of prerequisites, exclusions, or specific contexts for usage.
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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get links' but does not describe what the output looks like (e.g., list of URLs, structured data), whether it's a read-only operation, potential rate limits, or error handling. For a tool with no annotations, this leaves significant gaps in understanding its behavior and constraints.
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. It uses parentheses to include examples (ChEMBL, DrugBank, KEGG, etc.) concisely. Every part of the sentence contributes directly to understanding the tool's function, making it appropriately sized 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's complexity (a read operation with one parameter) and the lack of annotations and output schema, the description is incomplete. It does not explain the return format, potential limitations (e.g., which databases are supported), or error cases. For a tool that retrieves external data, more context is needed to guide effective use, especially without structured output information.
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 'cid' documented as 'PubChem Compound ID (CID)'. The description adds no additional parameter semantics beyond implying that 'cid' is used to fetch external references. Since schema coverage is high, the baseline score is 3, as the description does not compensate with extra details like format examples or validation rules.
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 'links to external databases', specifying examples like ChEMBL, DrugBank, and KEGG. It distinguishes this tool from siblings focused on analysis, prediction, or searching by indicating it retrieves external references. However, it does not explicitly differentiate from 'get_literature_references' or 'get_assay_info', which might also involve external links, leaving some ambiguity.
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, such as needing a PubChem CID, or specify scenarios where this is preferred over other 'get_' tools like 'get_compound_info' or 'get_literature_references'. Without explicit when-to-use or exclusion criteria, the agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_literature_referencesC
Get PubMed citations and scientific literature references
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on permissions, rate limits, output format, or any constraints beyond the input parameter. For a read operation with no annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for the tool's complexity, 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. It doesn't explain what the tool returns (e.g., citation format, data structure) or any behavioral traits, leaving significant gaps for a tool that likely outputs complex literature data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond the input schema, which has 100% coverage for the single parameter 'cid'. The baseline score of 3 is appropriate since the schema fully documents the parameter, and the description doesn't compensate or add extra context about the CID usage.
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 ('PubMed citations and scientific literature references'), providing a specific purpose. However, it doesn't differentiate from sibling tools like 'get_external_references' or 'get_compound_info', which might also retrieve reference data, leaving some ambiguity about 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 offers no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'get_external_references', 'search_patents'), there's no indication of context, prerequisites, or exclusions, leaving the agent to guess based on tool names alone.
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 the tool retrieves information, implying a read-only operation, but lacks details on permissions, rate limits, response format, or error handling. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized for its function, with no wasted information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of pharmacophore features and the lack of annotations and output schema, the description is insufficient. It does not explain what 'pharmacophore features' or 'binding site information' entail, the return format, or any behavioral traits, leaving the agent with inadequate 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, with the 'cid' parameter clearly documented as 'PubChem Compound ID (CID)'. The description does not add any additional meaning beyond this, such as format examples or constraints, so it meets the baseline score when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resources ('pharmacophore features and binding site information'), making it easy to understand what it does. However, it doesn't distinguish itself from sibling tools like 'get_3d_conformers' or 'get_compound_info' that also retrieve compound-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?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available for compound data retrieval (e.g., 'get_compound_info', 'get_3d_conformers'), there is no indication of specific contexts, prerequisites, or exclusions for selecting this tool over others.
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. It states the tool retrieves information but doesn't disclose behavioral traits such as data freshness, rate limits, authentication needs, or potential side effects. 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 with zero waste. It is appropriately sized and front-loaded, clearly stating the tool's purpose 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 no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., format, structure of regulatory info) or address complexity like data sources or limitations, leaving gaps for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the 'cid' parameter as a PubChem Compound ID. The description adds no additional parameter details beyond what the schema provides, resulting in a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('regulatory information'), specifying the sources (FDA, EPA, international agencies). It distinguishes from siblings like get_safety_data or get_toxicity_info by focusing on regulatory aspects rather than general safety/toxicity, though the distinction could be more 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?
No explicit guidance on when to use this tool versus alternatives like get_safety_data or get_toxicity_info, which might overlap. The description implies usage for regulatory data but doesn't specify prerequisites, exclusions, or comparative contexts with sibling tools.
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 the full burden of behavioral disclosure. It states what the tool does ('Get GHS hazard classifications and safety information') but doesn't describe how it behavesβe.g., whether it's a read-only operation, what format the information is returned in, if there are rate limits, or if it requires specific permissions. For a 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 states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly. 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 safety data retrieval and the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'GHS hazard classifications and safety information' entails, how the data is structured, or what the return values look like. For a tool with no annotations and no output schema, the description should provide more context to help the agent understand the tool's behavior and 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' documented as 'PubChem Compound ID (CID)'. The description adds no additional parameter information beyond what's in the schema. According to the scoring rules, when schema_description_coverage is high (>80%), the baseline score 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 with a specific verb ('Get') and resource ('GHS hazard classifications and safety information'), making it immediately understandable. However, it doesn't explicitly differentiate this tool from similar siblings like 'get_toxicity_info' or 'get_regulatory_info', which might also provide safety-related data. The description is accurate but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available (e.g., 'get_toxicity_info', 'get_regulatory_info', 'assess_environmental_fate'), there's no indication of what makes this tool distinct or when it should be preferred. The agent must infer usage from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_toxicity_infoC
Get toxicity data including LD50, carcinogenicity, and mutagenicity
| Name | Required | Description | Default |
|---|---|---|---|
| cid | Yes | PubChem Compound ID (CID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Get' implies a read-only operation, the description doesn't specify whether this requires authentication, has rate limits, returns structured or unstructured data, or handles errors. For a tool with no annotation coverage, this leaves significant behavioral gaps unaddressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a simple lookup tool and front-loads the key information. However, it could be slightly more structured by separating the tool's purpose from the data types returned.
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 (toxicity data retrieval), lack of annotations, and absence of an output schema, the description is minimally adequate but incomplete. It covers what data is returned but not the format, scope, or limitations. For a tool with no structured behavioral hints, more context about response structure and constraints would be beneficial.
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 already in the schema (which has 100% coverage). It doesn't explain what 'cid' represents in context, provide examples of valid values, or clarify the relationship between CID and toxicity data. Since schema coverage is high, the baseline score of 3 is appropriate, but the description doesn't enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('toxicity data'), and lists the types of data returned (LD50, carcinogenicity, mutagenicity). It distinguishes itself from siblings like 'get_safety_data' by focusing specifically on toxicity metrics rather than general safety information. However, it doesn't explicitly contrast with other similar tools like 'get_compound_properties' or 'predict_admet_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 (like needing a PubChem CID), compare it to similar tools (like 'get_safety_data' or 'get_compound_properties'), or indicate when other tools might be more appropriate. The agent must infer usage from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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 doesn't explain how the prediction works, what models or data it uses, potential accuracy or limitations, rate limits, or authentication needs. 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 front-loads the core purpose without any wasted words. It's appropriately sized for the tool's complexity, 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?
Given the complexity of predicting ADMET properties, the description is incomplete. There are no annotations, no output schema to explain return values, and the description lacks details on behavioral aspects like prediction methods or limitations. This makes it inadequate for an agent to fully understand how to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for 'cid' (PubChem Compound ID) and 'smiles' (SMILES string). The description doesn't add any meaning beyond this, such as explaining the relationship between these parameters or usage examples. Since the schema does the heavy lifting, 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: predicting ADMET properties (Absorption, Distribution, Metabolism, Excretion, Toxicity). It specifies the verb 'predict' and the resource 'ADMET properties,' making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'assess_drug_likeness' or 'get_toxicity_info,' which might overlap in scope, so it doesn't reach a score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools such as 'assess_drug_likeness' and 'get_toxicity_info,' which may relate to ADMET aspects, there's no indication of context, prerequisites, or exclusions. This lack of usage instructions leaves the agent to infer 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.
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?
No annotations are provided, so the description carries full burden. It mentions searchable fields but lacks behavioral details: no indication of read-only vs. mutation, authentication needs, rate limits, pagination, result format, or error handling. For a search tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with core purpose, zero waste. Efficiently conveys the tool's function 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 no annotations, no output schema, and multiple sibling tools, the description is incomplete. It doesn't address result format, limitations, or how it differs from similar tools like get_assay_info, 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%, so the schema already documents all four parameters thoroughly. The description adds minimal value by listing searchable attributes (target, description, source) but doesn't explain parameter interactions, precedence, or provide examples beyond schema 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 'search' and resource 'biological assays', specifying searchable attributes (target, description, source). It distinguishes from most siblings (e.g., search_compounds, search_by_target) by focusing on assays rather than compounds or patents, though differentiation from get_assay_info is less 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?
No explicit guidance on when to use this tool versus alternatives like search_by_target, get_assay_info, or get_compound_bioactivities. The description implies usage for searching assays by multiple criteria but doesn't specify scenarios, prerequisites, or exclusions.
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's function but doesn't describe how it behavesβsuch as whether it returns exact matches only, handles partial CAS numbers, provides error messages for invalid formats, or includes pagination/rate limits. This leaves significant gaps in understanding the tool's operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words, making it easy to parse and front-loaded with essential information. It efficiently communicates the tool's core function 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 for a search tool. It doesn't explain what the search returns (e.g., compound details, error handling, or result format), which is critical for an AI agent to use it effectively. The high schema coverage helps with inputs but not outputs or behavioral 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, with the parameter 'cas_number' clearly documented as 'CAS Registry Number (e.g., 50-78-2)'. The description adds no additional semantic information beyond what the schema provides, so it meets the baseline score of 3 for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search for compounds') and the resource ('by CAS Registry Number'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'search_by_inchi' or 'search_by_smiles' that also search compounds using different identifiers, 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. With many sibling tools available for searching compounds (e.g., 'search_by_inchi', 'search_by_smiles', 'search_compounds'), there is no indication of when CAS number searches are preferred or what distinguishes this tool from others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_inchiC
Search for compounds by InChI or InChI key
| Name | Required | Description | Default |
|---|---|---|---|
| inchi | Yes | InChI string or InChI key |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic function without detailing aspects like whether it's a read-only operation, what the search scope is (e.g., exact match, partial), performance expectations, or error handling. This leaves significant gaps for a tool that likely queries a database.
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 wasted words. It is front-loaded and appropriately sized for a simple search tool, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, return values, or error conditions, which are crucial for an agent to use it effectively in a chemistry context with many sibling alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the 'inchi' parameter fully documented in the schema as 'InChI string or InChI key'. The description adds no additional meaning beyond this, such as format examples or validation rules, so it meets the baseline for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search for compounds') and the resource ('by InChI or InChI key'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'search_by_smiles' or 'search_by_cas_number', which perform similar searches using different identifiers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'search_by_smiles' or 'search_compounds', nor does it specify scenarios where InChI searching is preferred over other methods, leaving the agent without contextual usage cues.
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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'exact match', which hints at search behavior, but doesn't cover critical aspects like permissions, rate limits, response format, pagination, or error handling. For a search tool with zero annotation coverage, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely conciseβa single sentence that directly states the tool's function. It's front-loaded with the core purpose and wastes no words, 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. It doesn't explain what the search returns (e.g., compound IDs, properties, or just existence), how results are formatted, or any behavioral traits. For a tool with no structured metadata, more context is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the 'smiles' parameter. The description adds no additional parameter details beyond what's in the schema. According to guidelines, when schema coverage is high (>80%), the baseline score is 3 even with no param info in the description.
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 SMILES string (exact match)'. It specifies the verb ('Search'), resource ('compounds'), and method ('by SMILES string'), but doesn't explicitly differentiate from sibling tools like 'search_by_inchi' or 'search_by_cas_number' beyond the SMILES focus.
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', 'search_by_cas_number', or 'search_compounds', nor does it specify any prerequisites, exclusions, or contextual usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_targetB
Find compounds tested against a specific biological target
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target name (gene, protein, or pathway) | |
| activity_type | No | Type of activity (e.g., IC50, EC50, Ki) | |
| max_records | No | Maximum number of results (1-1000, default: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Find compounds tested against a specific biological target,' implying a read-only search operation, but fails to detail critical aspects like response format, pagination, rate limits, authentication needs, or potential side effects. For a 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: 'Find compounds tested against a specific biological target.' It is front-loaded with the core purpose, contains no redundant information, and is appropriately sized for the tool's complexity, 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's moderate complexity (3 parameters, 1 required), 100% schema coverage, and no output schema, the description is minimally adequate. It states the purpose clearly but lacks behavioral details and usage guidelines, which are crucial for effective tool invocation. The absence of annotations and output schema means the description should compensate more, but it falls short, resulting in a baseline score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning the input schema already documents all parameters thoroughly. The description does not add any semantic details beyond what the schema provides, such as examples or contextual usage for parameters. However, it implicitly reinforces the primary parameter 'target' by mentioning it in the description, aligning with the baseline score 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: 'Find compounds tested against a specific biological target.' It specifies the verb ('Find'), resource ('compounds'), and scope ('tested against a specific biological target'), which is precise and actionable. However, it doesn't explicitly differentiate from sibling tools like 'search_compounds' or 'search_bioassays,' which might have overlapping functionality, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It lacks context about prerequisites, exclusions, or comparisons to sibling tools such as 'search_bioassays' or 'get_compound_bioactivities,' which could be related. This omission leaves the agent without clear direction for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_compoundsC
Search PubChem database for compounds by name, CAS number, formula, or identifier
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query (compound name, CAS, formula, or identifier) | |
| search_type | No | Type of search to perform (default: name) | |
| max_records | No | Maximum number of results (1-10000, default: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the search functionality but doesn't disclose behavioral traits such as rate limits, authentication needs, response format, pagination, or error handling, which are critical for a search tool with no structured safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, clearly stating the tool's purpose 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 complexity of a search tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects, response format, and usage context, making it inadequate for guiding an AI agent effectively in this rich sibling environment.
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 all parameters thoroughly. The description adds minimal value by listing search types ('name, CAS number, formula, or identifier'), which partially overlaps with the 'search_type' enum, but doesn't provide additional syntax or format details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search PubChem database') and resource ('compounds'), specifying what the tool does. It distinguishes from siblings like 'search_by_cas_number' or 'search_by_smiles' by mentioning multiple search types, though it doesn't explicitly contrast with 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 is provided on when to use this tool versus alternatives. With many sibling tools like 'search_by_cas_number' or 'search_similar_compounds', the description lacks explicit when/when-not instructions or named alternatives, leaving usage context unclear.
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 what the tool does (searching) without any details on behavioral traits like whether it's read-only, potential rate limits, authentication needs, or what the search results might include. This is inadequate 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 any unnecessary words. It is appropriately sized and front-loaded, 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 two parameters and no output schema, the description is incomplete. It lacks details on behavioral aspects, usage guidelines, and what to expect in results, which are crucial for effective tool invocation in this 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, so the schema already documents both parameters (CID and query) adequately. The description adds no additional meaning beyond what the schema provides, such as explaining the relationship between CID and query or providing usage examples, resulting in the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as searching for chemical patents and intellectual property information, which is a specific verb+resource combination. However, it doesn't distinguish itself from potential sibling tools like 'search_compounds' or 'search_by_target' that might also search but for different types of information, 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 any specific contexts, prerequisites, or exclusions, such as when to prefer CID-based searches over query-based ones or how it differs from other search tools in the sibling list like 'search_compounds'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_similar_compoundsB
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?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the similarity method but doesn't describe what happens when no matches are found, whether results are paginated, what format results take, or any performance characteristics. For a search tool with no annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core purpose without unnecessary words. It's appropriately sized and front-loaded with the essential information. Every word earns its place in this concise formulation.
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 insufficiently complete. It doesn't explain what the tool returns (compound IDs, structures, similarity scores), how results are ordered, or what happens at the threshold boundaries. Given the complexity of chemical similarity searching and the lack of structured output information, the description should provide more contextual guidance.
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 parameter documentation, so the description doesn't need to add parameter details. The description doesn't provide additional parameter semantics beyond what's in the schema, which is acceptable given the comprehensive schema coverage. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Find chemically similar compounds') and method ('using Tanimoto similarity'), distinguishing it from sibling tools like 'search_compounds' or 'substructure_search' which use different search approaches. It provides a precise verb+resource combination that immediately communicates the tool's function.
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_compounds', 'substructure_search', or 'compare_activity_profiles'. While the mention of 'Tanimoto similarity' implies a specific similarity metric, there's no explicit comparison to other search methods or clarification of use cases where this approach is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
substructure_searchC
Find compounds containing a specific substructure
| Name | Required | Description | Default |
|---|---|---|---|
| smiles | Yes | SMILES string of the substructure query | |
| max_records | No | Maximum number of results (1-10000, default: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe important behavioral aspects: whether this is a read-only operation, what happens when no matches are found, performance characteristics, rate limits, authentication requirements, or what the output format looks like. 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 states the core purpose without unnecessary words. It's appropriately sized for a straightforward search tool and front-loads the essential information. 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?
For a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (compounds list, structures, IDs?), how results are ordered, pagination behavior, or error conditions. Given the complexity of chemical searching and the lack of structured output information, the description should provide more context about the operation's behavior and results.
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 doesn't add any parameter semantics beyond what's in the schema - it mentions 'specific substructure' which aligns with the 'smiles' parameter but provides no additional context about SMILES format requirements, validation, or search behavior. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find compounds containing a specific substructure' - a specific verb ('Find') and resource ('compounds') with the operation ('containing a specific substructure'). It distinguishes from siblings like 'search_compounds' (general search) and 'search_similar_compounds' (similarity-based), but doesn't explicitly differentiate from 'superstructure_search' (which finds compounds where the query is a superstructure).
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 substructure search is appropriate compared to other search methods like 'search_by_smiles' (exact match), 'search_similar_compounds' (similarity-based), or 'superstructure_search' (inverse relationship). No context about use cases or exclusions is provided.
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 mentions 'Find larger compounds' but doesn't specify aspects like rate limits, authentication needs, or what 'larger' means in terms of size or complexity. This leaves gaps in understanding the tool's behavior beyond basic functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and earns its place by conveying the core functionality clearly.
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' entails, how results are returned, or any behavioral traits, making it inadequate for full agent understanding in this 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, so parameters are well-documented there. The description adds no additional meaning beyond implying the 'smiles' parameter is for querying and 'max_records' limits results, but this is already covered in the schema. Baseline score of 3 is appropriate as the schema handles 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 understandable. However, it doesn't explicitly differentiate from the sibling tool 'substructure_search,' which might have overlapping functionality, leaving some ambiguity about uniqueness.
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 like 'substructure_search' or other search tools in the list. The description implies usage for finding larger compounds but lacks context on prerequisites, exclusions, or specific scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
30 tool updates
- First observed
analyze_molecular_complexity - First observed
analyze_stereochemistry - First observed
assess_drug_likeness - First observed
assess_environmental_fate - First observed
batch_compound_lookup - First observed
calculate_descriptors - First observed
compare_activity_profiles - First observed
get_3d_conformers - First observed
get_assay_info - First observed
get_compound_bioactivities - First observed
get_compound_info - First observed
get_compound_properties - First observed
get_compound_synonyms - First observed
get_external_references - First observed
get_literature_references - First observed
get_pharmacophore_features - First observed
get_regulatory_info - First observed
get_safety_data - First observed
get_toxicity_info - First observed
predict_admet_properties - First observed
search_bioassays - First observed
search_by_cas_number - First observed
search_by_inchi - First observed
search_by_smiles - First observed
search_by_target - First observed
search_compounds - First observed
search_patents - First observed
search_similar_compounds - First observed
substructure_search - First observed
superstructure_search
TDQS
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
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.-
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Augmented-Nature/PubChem-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server