Skip to main content
Glama

get_3d_conformers

Retrieve 3D molecular conformer data and structural information from PubChem's chemical database using compound IDs for molecular modeling and analysis.

Instructions

Get 3D conformer data and structural information

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cidYesPubChem Compound ID (CID)
conformer_typeNoType of conformer data (default: 3d)

Implementation Reference

  • The main handler function that implements the logic for the 'get_3d_conformers' tool by validating input and fetching 3D conformer properties (Volume3D, ConformerCount3D) from the PubChem API.
    private async handleGet3dConformers(args: any) { if (!isValidConformerArgs(args)) { throw new McpError(ErrorCode.InvalidParams, 'Invalid 3D conformer arguments'); } try { const response = await this.apiClient.get(`/compound/cid/${args.cid}/property/Volume3D,ConformerCount3D/JSON`); return { content: [ { type: 'text', text: JSON.stringify({ cid: args.cid, conformer_type: args.conformer_type || '3d', properties: response.data, }, null, 2), }, ], }; } catch (error) { throw new McpError( ErrorCode.InternalError, `Failed to get 3D conformers: ${error instanceof Error ? error.message : 'Unknown error'}` ); } }
  • The input schema definition for the 'get_3d_conformers' tool, registered in the tools list.
    { name: 'get_3d_conformers', description: 'Get 3D conformer data and structural information', inputSchema: { type: 'object', properties: { cid: { type: ['number', 'string'], description: 'PubChem Compound ID (CID)' }, conformer_type: { type: 'string', enum: ['3d', '2d'], description: 'Type of conformer data (default: 3d)' }, }, required: ['cid'], }, },
  • Helper function for validating the input arguments specific to the 'get_3d_conformers' tool.
    const isValidConformerArgs = ( args: any ): args is { cid: number | string; conformer_type?: string } => { return ( typeof args === 'object' && args !== null && (typeof args.cid === 'number' || typeof args.cid === 'string') && (args.conformer_type === undefined || ['3d', '2d'].includes(args.conformer_type)) ); };
  • src/index.ts:760-761 (registration)
    Registration of the 'get_3d_conformers' handler in the main tool dispatcher switch statement.
    case 'get_3d_conformers': return await this.handleGet3dConformers(args);

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/k-lordbodin7/PubChem-MCP-Server'

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