PhelanShao

PubChem MCP Server

Community PhelanShao
Updated

Enables large language models to correctly query molecular databases and generate structure files

PubChem MCP Server

A Model Context Protocol (MCP) server for retrieving chemical compound data from PubChem database.

Overview

PubChem MCP Server is a Python implementation of an MCP server that allows AI models to query chemical compound information from the PubChem database. It provides easy access to compound properties, 2D structures, and 3D molecular coordinates through a standard MCP interface.

Features

  • Query compounds by name or PubChem CID
  • Retrieve comprehensive compound data including:
    • IUPAC name
    • Molecular formula
    • Molecular weight
    • SMILES notation
    • InChI and InChIKey
  • Support for multiple output formats:
    • JSON (default)
    • CSV
    • XYZ (3D structure)
  • Built-in caching system to improve performance
  • Automatic retry mechanism for API reliability
  • Fallback 3D structure generation if PubChem 3D is unavailable

Requirements

  • Python 3.8+
  • Requests library
  • RDKit (optional, for enhanced 3D structure handling)

Installation

From Source

# Clone the repository
git clone https://github.com/yourusername/pubchem-mcp-server.git
cd pubchem-mcp-server/python_version

# Install the package
pip install -e .

# For enhanced 3D structure handling, install with RDKit
pip install -e ".[rdkit]"

MCP Configuration

To use the server with Claude or other MCP-capable AI models, add the following to your MCP configuration file:

{
  "mcpServers": {
    "pubchem": {
      "command": "python3",
      "args": ["/path/to/pubchem-mcp-server/python_version/mcp_server.py"],
      "env": {
        "PYTHONUNBUFFERED": "1"
      },
      "disabled": false,
      "autoApprove": [
        "get_pubchem_data",
        "download_structure"
      ]
    }
  }
}

Available Tools

get_pubchem_data

Retrieves chemical compound structure and property data.

Parameters:

  • query (required): Compound name or PubChem CID
  • format (optional): Output format - "JSON" (default), "CSV", or "XYZ"
  • include_3d (optional): Whether to include 3D structure (only valid when format is "XYZ")

Example use:

<use_mcp_tool>
<server_name>pubchem</server_name>
<tool_name>get_pubchem_data</tool_name>
<arguments>
{
  "query": "aspirin",
  "format": "JSON"
}
</arguments>
</use_mcp_tool>

download_structure

Downloads structure files for a compound.

Parameters:

  • cid (required): PubChem CID
  • format (optional): File format - "sdf" (default), "mol", or "smi"
  • filename (optional): Custom filename for the downloaded structure

Example use:

<use_mcp_tool>
<server_name>pubchem</server_name>
<tool_name>download_structure</tool_name>
<arguments>
{
  "cid": "2244",
  "format": "sdf"
}
</arguments>
</use_mcp_tool>

Project Structure

pubchem-mcp-server/
├── python_version/               # Python implementation
│   ├── mcp_server.py             # Main MCP server script
│   ├── setup.py                  # Package installation script
│   ├── pubchem_mcp_server/       # Core package
│   │   ├── __init__.py
│   │   ├── pubchem_api.py        # PubChem API interaction
│   │   ├── xyz_utils.py          # 3D structure and XYZ format utilities
│   │   ├── server.py             # MCP server implementation
│   │   ├── cli.py                # Command-line interface
│   │   └── async_processor.py    # Asynchronous request handling
└── LICENSE

Caching

The server uses a caching mechanism to improve performance:

  • API responses are cached in memory
  • 3D structure data is cached in ~/.pubchem-mcp/cache/

License

This project is licensed under the MIT License - see the LICENSE file for details.

MCP Server · Populars

MCP Server · New

    Zaloog

    kanban-tui

    Task Manager with a TUI written in Python and usable by agents

    Community Zaloog
    metehan777

    Google Search Console MCP Server

    It connects directly to your Google Search Console account via the official API, letting you access key data right from AI tools like Claude Desktop or OpenAI Agents SDK and others .

    Community metehan777
    Fozikio

    @fozikio/cortex-engine

    Cognitive engine for AI agents — semantic memory, observations, embeddings, dream consolidation. Cloud Run service + MCP tools.

    Community Fozikio
    NitroRCr

    Gread

    One Skill for all repos. Give your agent access to the source code and docs of all open-source libraries

    Community NitroRCr
    russellbrenner

    jurisd

    MCP server for Australian and New Zealand legal research. Searches AustLII for case law and legislation, retrieves full-text judgements with paragraph numbers preserved, and supports OCR for scanned PDFs.

    Community russellbrenner