substructure_search
Search PubChem's chemical database to find compounds containing specific molecular substructures using SMILES notation.
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 main handler function that executes the substructure_search tool logic. Currently a placeholder indicating not yet implemented.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 for validating arguments to the substructure_search tool: requires SMILES string, 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 ListTools response, defining name, description, and schema.{ 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 in the CallToolRequestSchema switch statement, routing calls to the handler.case 'substructure_search': return await this.handleSubstructureSearch(args);