Skip to main content
Glama
Augmented-Nature

Unofficial PubChem MCP Server

get_3d_conformers

Retrieve 3D conformer data and structural information for chemical compounds using PubChem Compound ID (CID) to analyze molecular properties and configurations.

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 validates input arguments and queries the PubChem API for 3D conformer properties (Volume3D, ConformerCount3D) for the specified CID.
    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'}` ); } }
  • src/index.ts:478-490 (registration)
    Registration of the 'get_3d_conformers' tool in the ListTools response, defining its name, description, and input schema.
    { 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'], }, }, {
  • src/index.ts:760-761 (registration)
    Dispatch case in the main CallToolRequestSchema switch statement that routes to the handler function.
    case 'get_3d_conformers': return await this.handleGet3dConformers(args);
  • Helper validation function (type guard) used to check input arguments for 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)) ); };

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/Augmented-Nature-PubChem-MCP-Server'

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