Skip to main content
Glama
Augmented-Nature

SureChEMBL MCP Server

SureChEMBL MCP Server Logo

Unofficial SureChEMBL MCP Server

A comprehensive Model Context Protocol (MCP) server for accessing the SureChEMBL chemical patent database. This server provides tools for patent search, chemical discovery, structure analysis, and patent intelligence research.

Developed by Augmented Nature

Overview

SureChEMBL is a large-scale chemical patent database that provides access to chemical structures and their associated patent documents. This MCP server enables seamless integration with SureChEMBL's API, offering powerful tools for:

  • Patent Intelligence: Search and analyze chemical patents

  • Chemical Discovery: Find compounds and their patent coverage

  • Prior Art Research: Identify existing chemical disclosures

  • Competitive Analysis: Track chemical developments by companies

  • Structure-Activity Analysis: Correlate chemical structures with patent claims

Related MCP server: ChEMBL MCP Server

Features

๐Ÿ” Document & Patent Search (4 tools)

  • search_patents - Search patents by text, keywords, or identifiers

  • get_document_content - Get complete patent document content with chemical annotations

  • get_patent_family - Get patent family members and relationships

  • search_by_patent_number - Search by specific patent numbers

๐Ÿงช Chemical Search & Retrieval (4 tools)

  • search_chemicals_by_name - Search chemicals by name or synonym

  • get_chemical_by_id - Get detailed chemical information by SureChEMBL ID

  • search_by_smiles - Search chemicals by SMILES structure notation

  • search_by_inchi - Search chemicals by InChI/InChI key

๐Ÿ–ผ๏ธ Structure & Visualization (2 tools)

  • get_chemical_image - Generate chemical structure images

  • get_chemical_properties - Get molecular properties and descriptors

๐Ÿ“Š Data Export & Analysis (2 tools)

  • export_chemicals - Bulk export chemical data (CSV/XML)

  • analyze_patent_chemistry - Analyze chemical content in patents

๐Ÿ”ฌ Advanced Analysis Tools (3 tools)

  • get_chemical_frequency - Get frequency statistics for chemicals across patent database

  • search_similar_structures - Find structurally similar chemicals using similarity search

  • get_patent_statistics - Get statistical overview of chemical content in patents

๐Ÿ“š Resource Templates

  • surechembl://document/{doc_id} - Patent document content

  • surechembl://chemical/{chem_id} - Chemical compound data

  • surechembl://family/{patent_id} - Patent family information

  • surechembl://search/{query} - Search results

Installation

Prerequisites

  • Node.js 18+

  • npm or yarn

Install Dependencies

npm install

Build the Server

npm run build

Development Mode

npm run watch

Usage

Running the Server

npm start

Using with Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "surechembl-server": {
      "command": "node",
      "args": ["/path/to/surechembl-server/build/index.js"]
    }
  }
}

Using with MCP Inspector

npm run inspector

API Examples

Search for Chemicals by Name

// Search for aspirin-related compounds
await use_mcp_tool({
  server_name: "surechembl-server",
  tool_name: "search_chemicals_by_name",
  arguments: {
    name: "aspirin",
    limit: 10,
  },
});

Get Patent Document Content

// Get full patent document with chemical annotations
await use_mcp_tool({
  server_name: "surechembl-server",
  tool_name: "get_document_content",
  arguments: {
    document_id: "WO-2020096695-A1",
  },
});

Generate Chemical Structure Image

// Generate structure image from SMILES
await use_mcp_tool({
  server_name: "surechembl-server",
  tool_name: "get_chemical_image",
  arguments: {
    structure: "CC(=O)OC1=CC=CC=C1C(=O)O",
    width: 300,
    height: 200,
  },
});

Analyze Patent Chemistry

// Analyze chemical annotations in a patent
await use_mcp_tool({
  server_name: "surechembl-server",
  tool_name: "analyze_patent_chemistry",
  arguments: {
    document_id: "US-2021123456-A1",
  },
});

Tool Reference

search_patents

Search patents by text, keywords, or identifiers.

Parameters:

  • query (string, required): Search query

  • limit (number, optional): Results limit (1-1000, default: 25)

  • offset (number, optional): Results offset (default: 0)

get_document_content

Get complete patent document content with chemical annotations.

Parameters:

  • document_id (string, required): Patent document ID (e.g., WO-2020096695-A1)

get_patent_family

Get patent family members and relationships.

Parameters:

  • patent_id (string, required): Patent ID to find family members for

search_by_patent_number

Search for patents by specific patent numbers.

Parameters:

  • patent_number (string, required): Patent or publication number

Chemical Search & Retrieval

search_chemicals_by_name

Search for chemicals by name, synonym, or common name.

Parameters:

  • name (string, required): Chemical name or synonym

  • limit (number, optional): Results limit (1-1000, default: 25)

get_chemical_by_id

Get detailed chemical information by SureChEMBL chemical ID.

Parameters:

  • chemical_id (string, required): SureChEMBL chemical ID (numeric)

search_by_smiles

Search for chemicals by SMILES structure notation.

Parameters:

  • smiles (string, required): SMILES string

  • limit (number, optional): Results limit (1-1000, default: 25)

search_by_inchi

Search for chemicals by InChI or InChI key.

Parameters:

  • inchi (string, required): InChI string or InChI key

  • limit (number, optional): Results limit (1-1000, default: 25)

Structure & Visualization

get_chemical_image

Generate chemical structure image from SMILES or other structure notation.

Parameters:

  • structure (string, required): SMILES string or structure notation

  • height (number, optional): Image height in pixels (default: 200)

  • width (number, optional): Image width in pixels (default: 200)

get_chemical_properties

Get molecular properties and descriptors for a chemical.

Parameters:

  • chemical_id (string, required): SureChEMBL chemical ID

Data Export & Analysis

export_chemicals

Bulk export chemical data in CSV or XML format.

Parameters:

  • chemical_ids (array, required): Array of SureChEMBL chemical IDs (1-100)

  • output_type (string, optional): Export format - 'csv' or 'xml' (default: csv)

  • kind (string, optional): ID type - 'cid' or 'smiles' (default: cid)

analyze_patent_chemistry

Analyze chemical content and annotations in a patent document.

Parameters:

  • document_id (string, required): Patent document ID to analyze

Advanced Analysis Tools

get_chemical_frequency

Get frequency statistics for chemicals across the patent database.

Parameters:

  • chemical_id (string, required): SureChEMBL chemical ID

search_similar_structures

Find structurally similar chemicals using similarity search.

Parameters:

  • reference_id (string, required): Reference chemical ID for similarity search

  • threshold (number, optional): Similarity threshold (0.0-1.0, default: 0.7)

  • limit (number, optional): Number of results to return (1-100, default: 25)

get_patent_statistics

Get statistical overview of chemical content in patents.

Parameters:

  • document_id (string, required): Patent document ID for statistics

  • include_annotations (boolean, optional): Include detailed annotation statistics (default: true)

Resource Templates

Document Resource

surechembl://document/{doc_id}

Access complete patent document content with chemical annotations.

Chemical Resource

surechembl://chemical/{chem_id}

Access chemical compound information and properties.

Patent Family Resource

surechembl://family/{patent_id}

Access patent family members and relationships.

Search Resource

surechembl://search/{query}

Access chemical search results for a query.

Error Handling

The server includes comprehensive error handling for:

  • Invalid API parameters

  • Network timeouts and connection issues

  • API rate limiting

  • Malformed chemical structures

  • Missing documents or chemicals

All errors are returned with descriptive messages and appropriate error codes.

Rate Limiting

The server respects SureChEMBL's API rate limits:

  • 30-second timeout for complex requests

  • Respectful request spacing

  • Automatic retry logic for transient failures

Development

Project Structure

surechembl-server/
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ index.ts          # Main server implementation
โ”œโ”€โ”€ build/                # Compiled JavaScript
โ”œโ”€โ”€ package.json          # Dependencies and scripts
โ”œโ”€โ”€ tsconfig.json         # TypeScript configuration
โ””โ”€โ”€ README.md            # This file

Available Scripts

  • npm run build - Compile TypeScript to JavaScript

  • npm run watch - Watch mode for development

  • npm run inspector - Run MCP inspector

  • npm start - Start the server

  • npm run dev - Development mode with watch

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests if applicable

  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Support

For issues and questions:

Citation

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

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

**SureChEMBL MCP Server** - Empowering chemical patent intelligence through the Model Context Protocol.

Available Tools

15 tools
analyze_patent_chemistryC

Analyze chemical content and annotations in a patent document

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYesPatent document ID to analyze

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool analyzes chemical content and annotations but does not specify whether this is a read-only operation, what permissions are required, how results are returned, or any rate limits. This is inadequate for a tool that likely involves data processing without structured behavioral hints.

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

Conciseness5/5

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

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

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It does not explain what the analysis entails, the format of results, or any behavioral aspects like error handling. For a tool that likely returns complex chemical data, this leaves significant gaps in understanding its functionality and output.

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

Parameters3/5

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

The input schema has 100% description coverage, with the single parameter 'document_id' clearly documented. The description does not add any additional meaning beyond the schema, such as format examples or constraints, but since schema coverage is high, the baseline score of 3 is appropriate as the schema handles the parameter documentation adequately.

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

Purpose4/5

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

The description clearly states the tool's purpose as analyzing chemical content and annotations in patent documents, specifying both the action ('analyze') and resource ('chemical content and annotations in a patent document'). However, it does not explicitly differentiate from sibling tools like 'get_document_content' or 'search_patents', which might also involve patent document analysis, leaving room for ambiguity.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It lacks context on prerequisites, such as needing a specific document ID, and does not mention any sibling tools like 'get_document_content' or 'search_patents' as alternatives, leaving the agent without usage direction.

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

export_chemicalsC

Bulk export chemical data in CSV or XML format

ParametersJSON Schema
NameRequiredDescriptionDefault
chemical_idsYesArray of SureChEMBL chemical IDs (1-100)
output_typeNoExport format (default: csv)
kindNoID type for export (default: cid)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but lacks critical behavioral details. It mentions bulk export and formats but doesn't disclose permissions needed, rate limits, file size constraints, whether it's a synchronous or asynchronous operation, or what the output contains. 'Bulk' hints at scale but without specifics, leaving gaps in understanding the tool's behavior.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It front-loads key information ('bulk export chemical data') and specifies formats concisely. 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.

Completeness2/5

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

For a tool with 3 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits (e.g., execution mode, limits), output structure, and usage context. While concise, it doesn't compensate for the missing structured data, leaving the agent with insufficient information for optimal use.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional parameter semantics beyond implying bulk handling and format options, which are already covered by the schema's descriptions and enums. 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.

Purpose4/5

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

The description clearly states the action ('bulk export') and resource ('chemical data'), specifying the output formats (CSV or XML). It distinguishes from siblings by focusing on export functionality rather than search, analysis, or retrieval operations. However, it doesn't explicitly contrast with specific sibling tools like 'get_chemical_properties' or 'search_chemicals_by_name'.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, ideal scenarios, or contrast with sibling tools like 'get_chemical_by_id' for single records or 'search_chemicals_by_name' for different query types. Usage is implied by the name and purpose but not explicitly stated.

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

get_chemical_by_idC

Get detailed chemical information by SureChEMBL chemical ID

ParametersJSON Schema
NameRequiredDescriptionDefault
chemical_idYesSureChEMBL chemical ID (numeric)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves 'detailed chemical information' but doesn't specify what that entails (e.g., structure, properties, metadata), whether it's a read-only operation, potential errors (e.g., invalid ID), or any rate limits. This leaves significant gaps in understanding how the tool behaves beyond its basic purpose.

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

Conciseness5/5

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

The description is a single, direct sentence that efficiently conveys the core purpose without unnecessary words. It's front-loaded with the key action and resource, making it easy to parse quickly, which is ideal for conciseness in tool descriptions.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is insufficient for a tool that presumably returns complex chemical data. It doesn't explain what 'detailed chemical information' includes, potential response formats, or error handling, leaving the agent with incomplete context for effective use in a chemistry-focused environment.

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

Parameters3/5

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

The schema description coverage is 100%, with the parameter 'chemical_id' fully documented in the schema as 'SureChEMBL chemical ID (numeric)'. The description adds no additional parameter semantics beyond this, such as format examples or constraints, so it meets the baseline for adequate but not enhanced parameter understanding.

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

Purpose4/5

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

The description clearly states the action ('Get detailed chemical information') and resource ('by SureChEMBL chemical ID'), making the purpose unambiguous. However, it doesn't explicitly differentiate this from sibling tools like 'get_chemical_properties' or 'get_chemical_frequency', which might also retrieve chemical data but through different mechanisms or with different scopes.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a valid SureChEMBL ID), exclusions, or comparisons to siblings like 'search_chemicals_by_name' or 'get_chemical_properties', leaving the agent to infer usage context solely from the tool name and description.

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

get_chemical_frequencyB

Get frequency statistics for chemicals across the patent database

ParametersJSON Schema
NameRequiredDescriptionDefault
chemical_idYesSureChEMBL chemical ID

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states what the tool does without behavioral details. It lacks information on permissions, rate limits, response format, or whether it's read-only (implied by 'Get' but not explicit), which is insufficient for a tool with no annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence 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.

Completeness3/5

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

Given the tool has 1 parameter with full schema coverage but no annotations or output schema, the description is minimally adequate. It clarifies the purpose but lacks behavioral context and usage guidelines, making it incomplete for optimal agent decision-making in a server with many sibling tools.

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

Parameters3/5

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

The schema description coverage is 100%, with the single parameter 'chemical_id' documented as 'SureChEMBL chemical ID'. The description adds no additional parameter semantics beyond this, so it meets the baseline score of 3 for high schema coverage without extra value.

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

Purpose4/5

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

The description clearly states the verb ('Get') and resource ('frequency statistics for chemicals across the patent database'), making the purpose understandable. However, it doesn't explicitly differentiate from siblings like 'get_patent_statistics' or 'get_chemical_properties', which could have overlapping statistical or chemical focus.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or compare to siblings such as 'get_patent_statistics' or 'search_chemicals_by_name', leaving the agent to infer usage context.

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

get_chemical_imageC

Generate chemical structure image from SMILES or other structure notation

ParametersJSON Schema
NameRequiredDescriptionDefault
structureYesSMILES string or other structure notation
heightNoImage height in pixels (default: 200)
widthNoImage width in pixels (default: 200)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates an image but doesn't describe the output format (e.g., PNG, SVG), potential errors (e.g., invalid SMILES), performance characteristics, or any side effects. For a tool with no annotations and unknown output, this leaves significant gaps in understanding its behavior.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with every element earning its place by specifying the action, output, and input type.

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

Completeness2/5

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

Given no annotations, no output schema, and a tool that generates images (which implies specific output formats and potential errors), the description is incomplete. It doesn't address what the output looks like (e.g., image type, how to handle it), error conditions, or usage constraints, leaving the agent with insufficient context for reliable invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all three parameters (structure, height, width) with descriptions and constraints. The description adds no additional parameter semantics beyond implying that 'SMILES or other structure notation' maps to the 'structure' parameter. This meets the baseline of 3 when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Generate chemical structure image from SMILES or other structure notation.' It specifies the verb (generate), resource (chemical structure image), and input type (SMILES/other notation). However, it doesn't explicitly differentiate from sibling tools like search_by_smiles or search_similar_structures, which might also involve SMILES input but serve different purposes.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like search_by_smiles (which might retrieve data rather than generate images) or get_chemical_by_id (which might fetch existing records). There's no context about prerequisites, alternatives, or exclusions.

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

get_chemical_propertiesC

Get molecular properties and descriptors for a chemical by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
chemical_idYesSureChEMBL chemical ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but does not reveal any behavioral traits like whether it's read-only, has rate limits, requires authentication, or what the output format might be. This leaves significant gaps in understanding how the tool behaves in practice.

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

Conciseness5/5

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

The description is a single, clear sentence that directly states the tool's purpose without any unnecessary words or fluff. It is front-loaded and efficiently communicates the core function, making it highly concise and well-structured.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It does not address behavioral aspects, usage context, or output details, which are crucial for a tool that likely returns complex data like molecular properties. This makes it inadequate for full understanding in a real-world scenario.

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

Parameters3/5

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

The input schema has 100% description coverage, with the parameter 'chemical_id' documented as 'SureChEMBL chemical ID'. The description does not add any additional meaning or context beyond what the schema provides, such as examples or format details, so it meets the baseline score for high schema coverage.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'molecular properties and descriptors for a chemical by ID', making the purpose specific and understandable. However, it does not explicitly distinguish this tool from sibling tools like 'get_chemical_by_id' or 'get_chemical_frequency', which may have overlapping or similar purposes, so it falls short of a perfect score.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as 'get_chemical_by_id' or 'search_chemicals_by_name'. It lacks context on prerequisites, exclusions, or specific scenarios where this tool is preferred, offering only a basic statement of function without usage instructions.

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

get_document_contentB

Get complete patent document content with chemical annotations by document ID

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYesPatent document ID (e.g., WO-2020096695-A1)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves content with chemical annotations but does not describe response format, error conditions, rate limits, or authentication needs. For a read operation with no annotation coverage, this leaves significant gaps in understanding tool behavior.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It is front-loaded with the core purpose and includes all necessary elements without redundancy, making it easy for an agent to parse quickly.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete for a tool that retrieves complex content. It does not explain what 'complete patent document content' includes, the format of chemical annotations, or any limitations, leaving the agent with insufficient context for effective use.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents the single parameter. The description adds minimal value beyond the schema by implying the document_id is for patent documents and mentioning chemical annotations, but does not provide additional syntax or format details. 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.

Purpose5/5

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

The description clearly states the specific action ('Get complete patent document content'), the resource ('patent document'), and key features ('with chemical annotations by document ID'). It distinguishes from siblings like get_patent_family or get_patent_statistics by focusing on full content retrieval with annotations rather than metadata or statistics.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or compare to siblings like search_patents or get_patent_family, leaving the agent to infer usage context independently.

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

get_patent_familyB

Get patent family members and relationships for a patent

ParametersJSON Schema
NameRequiredDescriptionDefault
patent_idYesPatent ID to find family members for

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on permissions, rate limits, response format, or whether it's read-only or has 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.

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose and 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.

Completeness3/5

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

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks behavioral details and usage context, making it incomplete for effective agent use without additional inference.

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

Parameters3/5

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

The schema description coverage is 100%, with the parameter 'patent_id' fully documented in the schema. The description doesn't add any extra meaning beyond the schema, such as format examples or constraints, so it meets the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the verb 'Get' and the resource 'patent family members and relationships for a patent', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'search_patents' or 'get_patent_statistics', which prevents a perfect score.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or compare to sibling tools such as 'search_by_patent_number' or 'get_patent_statistics', 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.

get_patent_statisticsC

Get statistical overview of chemical content in patents

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYesPatent document ID for statistics
include_annotationsNoInclude detailed annotation statistics (default: true)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it 'gets' statistics, implying a read-only operation, but doesn't specify if it's safe, has rate limits, requires authentication, or what the output format might be. For a tool with no annotations, this is a significant gap in transparency.

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

Conciseness5/5

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

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

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

Completeness2/5

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

Given the complexity of statistical analysis, no annotations, and no output schema, the description is incomplete. It doesn't explain what 'statistical overview' entails, the types of statistics returned, or any behavioral traits like error handling. For a tool with these gaps, it should provide more context to be fully helpful.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters ('document_id' and 'include_annotations') with clear descriptions. The description adds no additional meaning beyond what the schema provides, such as examples or context for the parameters, so it meets the baseline for high coverage.

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

Purpose4/5

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

The description clearly states the action ('Get statistical overview') and resource ('chemical content in patents'), making the purpose immediately understandable. It doesn't explicitly differentiate from siblings like 'get_chemical_frequency' or 'analyze_patent_chemistry', which might offer overlapping functionality, so it doesn't reach the highest score.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_chemical_frequency' or 'analyze_patent_chemistry'. It lacks context about use cases, prerequisites, or exclusions, leaving the agent to infer usage from the name and schema alone.

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

search_by_inchiC

Search for chemicals by InChI or InChI key

ParametersJSON Schema
NameRequiredDescriptionDefault
inchiYesInChI string or InChI key
limitNoNumber of results to return (1-1000, default: 25)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure but only states the basic function. It doesn't cover aspects like whether this is a read-only operation, potential rate limits, authentication needs, error handling, or what the search results might include (e.g., chemical IDs, names, properties). This leaves significant gaps in understanding the tool's behavior.

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

Conciseness5/5

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

The description is a single, direct sentence with zero wasted words, efficiently conveying the core purpose. It is appropriately sized and front-loaded, making it easy to parse without unnecessary elaboration.

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

Completeness2/5

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

Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., chemical records, IDs, or error messages), how results are structured, or any limitations (e.g., partial matches, case sensitivity). This leaves the agent without sufficient context for effective use.

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

Parameters3/5

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

The schema description coverage is 100%, with clear documentation for both parameters ('inchi' as the search string and 'limit' with range and default). The description adds no additional parameter semantics beyond what the schema provides, such as examples of InChI formats or search behavior nuances, so it meets the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the action ('Search for chemicals') and the resource ('by InChI or InChI key'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'search_by_smiles' or 'search_chemicals_by_name', which would require mentioning the specific chemical identifier type used.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'search_by_smiles' for SMILES strings or 'search_chemicals_by_name' for name-based searches, nor does it specify prerequisites or contexts where InChI searching is preferred.

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

search_by_patent_numberC

Search for patents by specific patent numbers or publication numbers

ParametersJSON Schema
NameRequiredDescriptionDefault
patent_numberYesPatent or publication number

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool searches for patents but doesn't describe what the search returns (e.g., patent details, metadata, or a list), whether it's a read-only operation, or any limitations like rate limits or authentication needs. For a search tool with zero annotation coverage, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded with the core purpose, making it easy to parse quickly. Every part of the sentence earns its place by clarifying the action and criteria.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., patent data, error messages), behavioral traits like read-only status, or usage constraints. For a search tool with no structured output information, the description should provide more context to help an agent understand the full scope of the tool's operation.

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

Parameters3/5

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

The description mentions searching by 'patent numbers or publication numbers,' which aligns with the single parameter 'patent_number' in the schema. Since schema description coverage is 100% (the parameter is well-documented as 'Patent or publication number'), the description adds minimal value beyond the schema. This meets the baseline of 3, as the schema does the heavy lifting for parameter documentation.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Search for patents by specific patent numbers or publication numbers.' It specifies the verb ('search'), resource ('patents'), and criteria ('patent numbers or publication numbers'), making it easy to understand. However, it doesn't explicitly differentiate from siblings like 'search_patents' or 'get_patent_family,' which could cause confusion.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose it over siblings like 'search_patents' (which might have broader search capabilities) or 'get_patent_family' (which might retrieve related patents). Without such context, an agent might struggle to select the correct tool for a given task.

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 chemicals by SMILES structure notation

ParametersJSON Schema
NameRequiredDescriptionDefault
smilesYesSMILES string of the chemical structure
limitNoNumber of results to return (1-1000, default: 25)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool is for searching, implying a read operation, but doesn't cover critical aspects like whether it's a fuzzy or exact match search, what the output format is (e.g., list of chemicals with IDs), performance characteristics (e.g., speed, accuracy), or error handling. For a search tool with no annotation coverage, this is a significant gap in behavioral context.

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

Conciseness5/5

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

The description is a single, efficient sentence: 'Search for chemicals by SMILES structure notation.' It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a straightforward search tool. Every part of the sentence contributes directly to understanding the tool's function.

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

Completeness2/5

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

Given the complexity of a chemical search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the search returns (e.g., chemical IDs, names, properties), how results are ordered, or potential limitations (e.g., database coverage). For a tool with 2 parameters and no structured output information, the description should provide more context to guide effective use.

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

Parameters3/5

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

The input schema has 100% description coverage, with clear documentation for both parameters: 'smiles' as the SMILES string and 'limit' with range and default. The description adds no additional parameter semantics beyond what's in the schema, such as examples of valid SMILES strings or how the limit applies to results. With high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Search for chemicals by SMILES structure notation.' It specifies the verb ('Search'), resource ('chemicals'), and method ('by SMILES structure notation'). However, it doesn't explicitly distinguish this tool from its sibling 'search_by_inchi' or 'search_similar_structures,' which are related chemical search tools. The purpose is clear 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'search_by_inchi' (for InChI notation), 'search_chemicals_by_name' (for name-based search), or 'search_similar_structures' (for structural similarity). There's no context on prerequisites, exclusions, or recommended scenarios, leaving the agent to infer usage from the tool name alone.

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

search_chemicals_by_nameC

Search for chemicals by name, synonym, or common name

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesChemical name or synonym to search for
limitNoNumber of results to return (1-1000, default: 25)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It states the search functionality but lacks critical details: whether this is a read-only operation, if it requires authentication, rate limits, pagination behavior, or what the output format looks like. For a search tool with zero annotation coverage, this is a significant gap.

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

Conciseness5/5

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

The description is a single, efficient sentence: 'Search for chemicals by name, synonym, or common name.' It's front-loaded with the core purpose and wastes no words. Every part of the sentence contributes meaning.

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

Completeness2/5

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

Given the tool's complexity (search operation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain return values, error conditions, or behavioral constraints. For a search tool in a chemical database context, more context about result format (e.g., chemical IDs, names, properties) would be helpful.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both parameters ('name' and 'limit'). The description adds no parameter-specific information beyond what's in the schema. It mentions 'name, synonym, or common name' which aligns with the schema's 'Chemical name or synonym to search for', but provides no additional syntax or format details. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Search for chemicals by name, synonym, or common name.' It specifies the verb (search) and resource (chemicals), and indicates the search scope (name, synonym, common name). However, it doesn't explicitly differentiate from sibling tools like 'search_by_inchi' or 'search_by_smiles' which search by different chemical identifiers.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'search_by_inchi' (for InChI strings) or 'search_by_smiles' (for SMILES notation), nor does it specify use cases or exclusions. The agent must infer usage from the tool name alone.

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

search_patentsB

Search patents by text, keywords, or identifiers in SureChEMBL database

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (keywords, patent numbers, or text)
limitNoNumber of results to return (1-1000, default: 25)
offsetNoNumber of results to skip (default: 0)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the search functionality but lacks details on permissions, rate limits, response format, or error handling. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its operational behavior.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('Search patents by text, keywords, or identifiers in SureChEMBL database') contributes directly to understanding the tool's function.

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

Completeness3/5

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

Given the tool's moderate complexity (search with three parameters), no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose but lacks details on behavior, usage context, and output, which are needed for a more complete understanding. It meets the minimum viable threshold but has clear gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents the three parameters (query, limit, offset). The description adds minimal value by implying the query can include 'text, keywords, or identifiers', but this doesn't go beyond the schema's description of 'Search query (keywords, patent numbers, or text)'. Baseline 3 is appropriate when the schema handles most documentation.

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

Purpose4/5

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

The description clearly states the action ('Search patents') and target resource ('patents in SureChEMBL database'), with the method ('by text, keywords, or identifiers') providing specific context. However, it doesn't explicitly differentiate from sibling tools like 'search_by_patent_number' or 'search_chemicals_by_name', which reduces it from a perfect score.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'search_by_patent_number' or 'search_chemicals_by_name'. It mentions the database (SureChEMBL) but doesn't specify use cases, exclusions, or prerequisites, leaving the agent without contextual direction.

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

search_similar_structuresC

Find structurally similar chemicals using similarity search

ParametersJSON Schema
NameRequiredDescriptionDefault
reference_idYesReference chemical ID for similarity search
thresholdNoSimilarity threshold (0.0-1.0, default: 0.7)
limitNoNumber of results to return (1-100, default: 25)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'similarity search' but doesn't specify what similarity metric is used (e.g., Tanimoto, Euclidean), whether results are paginated, rate limits, authentication needs, or what the output format looks like. This leaves significant gaps for an AI agent to understand how to invoke 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.

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action ('Find structurally similar chemicals') without unnecessary words. Every part earns its place by specifying the method ('using similarity search'), 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.

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete for a tool with 3 parameters and behavioral complexity. It lacks details on the similarity metric, result format, error handling, or performance characteristics, which are crucial for an AI agent to use this tool correctly in a chemical search context.

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

Parameters3/5

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

The input schema has 100% description coverage, clearly documenting all three parameters with types, ranges, and defaults. The description adds no additional parameter semantics beyond what's in the schema, such as explaining what 'reference_id' refers to (e.g., a database ID, SMILES string) or how 'threshold' impacts results. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb 'Find' and resource 'structurally similar chemicals' with the method 'using similarity search', making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'search_by_smiles' or 'search_chemicals_by_name', which might also involve chemical searching but with different criteria.

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

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'search_by_smiles' or 'search_chemicals_by_name' available, there's no indication of when structural similarity search is preferred over other search methods, nor any prerequisites or exclusions mentioned.

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.

  1. 15 tool updates
    • First observedanalyze_patent_chemistry
    • First observedexport_chemicals
    • First observedget_chemical_by_id
    • First observedget_chemical_frequency
    • First observedget_chemical_image
    • First observedget_chemical_properties
    • First observedget_document_content
    • First observedget_patent_family
    • First observedget_patent_statistics
    • First observedsearch_by_inchi
    • First observedsearch_by_patent_number
    • First observedsearch_by_smiles
    • First observedsearch_chemicals_by_name
    • First observedsearch_patents
    • First observedsearch_similar_structures

TDQS

A3.6/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no significant overlap. For example, search_by_smiles and search_by_inchi both search chemicals but use different input formats, while get_chemical_by_id retrieves specific records. The descriptions clarify distinct functions like analysis vs. export vs. search.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case, such as get_chemical_by_id, search_by_smiles, and analyze_patent_chemistry. The naming is predictable and readable throughout the set, with verbs like get, search, analyze, and export used appropriately.

Tool Count5/5

With 15 tools, the count is well-scoped for a patent chemistry database server. Each tool earns its place by covering distinct aspects like chemical retrieval, patent search, analysis, and export, without being overwhelming or too sparse for the domain.

Completeness5/5

The tool set provides complete coverage for the SureChEMBL domain, including CRUD-like operations (e.g., get, search, analyze, export) for both chemicals and patents. There are no obvious gaps; it supports chemical lookup, structure search, patent analysis, and data export, enabling full agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

Latest Blog Posts

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/SureChEMBL-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server