substructure_search
Identify compounds with a specific chemical substructure using SMILES string input and retrieve relevant results from PubChem’s extensive database.
Instructions
Find compounds containing a specific substructure
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| max_records | No | Maximum number of results (1-10000, default: 100) | |
| smiles | Yes | SMILES string of the substructure query |
Implementation Reference
- src/index.ts:1012-1014 (handler)The handler function that executes the substructure_search tool logic. Currently a placeholder implementation returning a 'not yet implemented' message.private async handleSubstructureSearch(args: any) { return { content: [{ type: 'text', text: JSON.stringify({ message: 'Substructure search not yet implemented', args }, null, 2) }] }; }
- src/index.ts:457-464 (schema)Input schema definition for the substructure_search tool, specifying SMILES query and optional max_records.inputSchema: { type: 'object', properties: { smiles: { type: 'string', description: 'SMILES string of the substructure query' }, max_records: { type: 'number', description: 'Maximum number of results (1-10000, default: 100)', minimum: 1, maximum: 10000 }, }, required: ['smiles'], },
- src/index.ts:454-465 (registration)Registration of the substructure_search tool in the ListToolsRequestSchema response.{ name: 'substructure_search', description: 'Find compounds containing a specific substructure', inputSchema: { type: 'object', properties: { smiles: { type: 'string', description: 'SMILES string of the substructure query' }, max_records: { type: 'number', description: 'Maximum number of results (1-10000, default: 100)', minimum: 1, maximum: 10000 }, }, required: ['smiles'], }, },
- src/index.ts:756-757 (registration)Dispatch/registration case in the CallToolRequestSchema handler that routes calls to the substructure_search handler function.case 'substructure_search': return await this.handleSubstructureSearch(args);