๐ Unofficial SureChEMBL MCP Server
A comprehensive Model Context Protocol (MCP) server for accessing the SureChEMBL chemical patent database, offering tools for patent search, chemical discovery, structure analysis, and patent intelligence research.
Developed by Augmented Nature
๐ Quick Start
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 various chemical and patent - related tasks.
โจ 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
Install Dependencies
npm install
Build the Server
npm run build
Development Mode
npm run watch
๐ป Usage Examples
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
Basic Usage
await use_mcp_tool({
server_name: "surechembl-server",
tool_name: "search_chemicals_by_name",
arguments: {
name: "aspirin",
limit: 10,
},
});
Advanced Usage
await use_mcp_tool({
server_name: "surechembl-server",
tool_name: "analyze_patent_chemistry",
arguments: {
document_id: "US-2021123456-A1",
},
});
๐ Documentation
Tool Reference
Document & Patent Search
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.
๐ง Technical Details
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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
๐ License
MIT License - see LICENSE file for details.
Support
For issues and questions:
- GitHub Issues: [Report bugs and feature requests](https://github.com/augmented - nature/surechembl - mcp - server/issues)
- Documentation: SureChEMBL API Documentation
Related Projects
- [ChEMBL MCP Server](https://github.com/augmented - nature/chembl - mcp - server) - ChEMBL bioactivity database
- [PubChem MCP Server](https://github.com/augmented - nature/pubchem - mcp - server) - PubChem chemical database
- [UniProt MCP Server](https://github.com/augmented - nature/uniprot - mcp - server) - UniProt protein database
Citation
If you use this project in your research or publications, please cite it as follows:
@misc{surechemblmcp2025,
author = {Moudather Chelbi},
title = {SureChEMBL MCP Server},
year = {2025},
howpublished = {https://github.com/Augmented-Nature/SureChEMBL-MCP-Server},
note = {Accessed: 2025-06-29}