Web Analytics

pubchem-agent-toolkit

⭐ 2 stars German by Milor123

version version version version version version version version version version version version version version version version version version version version

Verbesserter PubChem MCP-Server für KI-Assistenten

🧪 Ein fortschrittlicher, robuster und datenschutzorientierter MCP-Server, der KI-Assistenten ermöglicht, intelligent nach chemischen Verbindungen in PubChem zu suchen und darauf zuzugreifen.

Dieser PubChem MCP-Server dient als leistungsstarke Schnittstelle zwischen KI-Assistenten (wie denen in AnythingLLM) und der umfangreichen chemischen Datenbank von PubChem. Er nutzt das Model Context Protocol (MCP), damit KI-Modelle intelligente, widerstandsfähige Suchanfragen nach chemischen Verbindungen durchführen und deren detaillierte Eigenschaften programmatisch abrufen können.


✨ Hauptfunktionen

Dies ist nicht einfach ein weiterer PubChem-Wrapper. Der Server wurde komplett neu entwickelt, um besonders robust und intelligent zu sein:

---


🚀 Keine Installation erforderlich: Testen Sie es live auf Smithery.ai

Für diejenigen, die mit MCP-Servern noch nicht vertraut sind oder die Fähigkeiten dieses Tools ohne lokale Einrichtung testen möchten, steht eine Live-Version auf Smithery.ai zur Verfügung. Damit können Sie direkt im Browser mit dem Agenten chatten.

<-- Entdecken Sie den Live-PubChem-Agenten auf Smithery.ai -->

So starten Sie:

> ✅ Empfohlene Modelle für beste Ergebnisse >
Um die höchste Genauigkeit zu erzielen, insbesondere bei langen Dezimalzahlen, empfehlen wir nachdrücklich die Verwendung leistungsstarker Modelle. Die folgenden wurden getestet und funktionieren hervorragend mit diesem Tool:
>
* Claude 3 Sonnet von Anthropic
* OpenAIs GPT-4 Turbo (oder neuere Versionen wie GPT-4o)
>
Wir haben bestätigt, dass beide Modelle die volle Präzision der vom Tool zurückgegebenen Dezimalzahlen korrekt verarbeitet haben, ohne jegliches Runden.


🚀 Schnellstart & Installation

Dieser Server ist dafür ausgelegt, lokal ausgeführt zu werden, entweder auf Ihrem Desktop oder innerhalb der AnythingLLM Docker-Umgebung.

1. Abhängigkeiten

Dieses Projekt benötigt einige Python-Bibliotheken. Stellen Sie sicher, dass sie in Ihrer Umgebung installiert sind.

Erstellen Sie eine requirements.txt-Datei mit folgendem Inhalt:

requests
bs4 
mcp 
pubchempy
pandas
PySocks
Installieren Sie sie mit uv oder pip:

uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt
(Hinweis: PySocks wird nur benötigt, wenn Sie die Tor SOCKS5-Proxy-Funktion verwenden möchten.)

2. Konfiguration

Der Server wird über eine config.ini-Datei konfiguriert, die automatisch erstellt wird, wenn Sie ihn das erste Mal ausführen. Diese Datei erscheint im gleichen Verzeichnis wie das Skript pubchem_server.py.

Standard-config.ini:

[proxy]

Change 'use_proxy' to 'true' to route all requests through a proxy.

Essential for protecting your privacy if you use Tor.

use_proxy = false

Defines the proxy type. Options:

socks5h -> (Recommended for Tor) The native SOCKS proxy for Tor. More secure.

http -> An HTTP proxy. If using Tor, requires additional configuration.

proxy_type = socks5h

The proxy address. THIS IS A CRITICAL SETTING!

- If you run this script on your DESKTOP, use: 127.0.0.1

- If you run this script inside DOCKER, use: host.docker.internal

host = 127.0.0.1

The proxy port.

9050 -> Default port for Tor's SOCKS proxy.

8118 -> Default port for Tor's HTTP proxy (if enabled).

port = 9050

3. Integration mit AnythingLLM

Folgen Sie der offiziellen Dokumentation, um dies als benutzerdefinierten MCP-Server hinzuzufügen. Der entscheidende Punkt ist, den command auf Ihr Python-Programm und das Skript pubchem_server.py zu verweisen.

Beispiel für AnythingLLM Desktop (plugins/anythingllm_mcp_servers.json):

{
  "mcpServers": {
    "pubchem": {
      "name": "PubChem Server (Enhanced)",
      "transport": "stdio",
      "command": "\"C:\\path\\to\\your\\.venv\\Scripts\\python.exe\" \"C:\\path\\to\\your\\project\\pubchem_server.py\"",
      "cwd": "C:\\path\\to\\your\\project"
    }
  }
}

3.1 Implementierungsbeispiele mit AnythingLLM

Hier sind einige Beispiele dafür, wie man mit dem Agenten interagiert. Diese Tests wurden mit AnythingLLM Desktop durchgeführt, wobei verschiedene Large Language Models über OpenRouter verbunden wurden.

Ein entscheidender Befund aus unseren Tests ist die Bedeutung des gewählten Modells. Wir raten dringend davon ab, kleine oder lokale Modelle für diese Aufgabe zu verwenden. Kleinere Modelle haben oft Schwierigkeiten, die vom Tool zurückgegebenen Daten korrekt zu parsen, was zu Fehlern wie halluzinierten Werten, falscher Formatierung oder, am kritischsten, dem Runden von Dezimalzahlen führt, was den Zweck dieses hochpräzisen Tools zunichtemacht.

Um die Integrität Ihrer Ergebnisse zu gewährleisten, ist es immer eine gute Praxis, die Rohdaten zu überprüfen, die vom MCP zurückgegeben werden. Wie Sie dies tun können, erfahren Sie im nächsten Abschnitt: 3.2 Überprüfung der MCP-Ausgaben in den Logs.

imagen

Andererseits haben mehrere Modelle eine hervorragende Leistung gezeigt. Wir erzielten herausragende Ergebnisse mit Googles Gemini 2.5 Flash lite. zeigte bemerkenswerte Präzision im Umgang mit langen Dezimalzahlen und bei der korrekten Formatierung der finalen Markdown-Tabelle.

Google Gemini 2.5 Flash lite ohne Prompt und mit Prompt behält perfekte Dezimalzahlen (im Beispiel wurde eine Temperatur von 0,6 verwendet)

imagen

Für diese spezifische Aufgabe ist mein persönlicher Favorit Gemini 2.5 Flash lite, da es durchgehend Genauigkeit und Zuverlässigkeit bietet.

3.2 Überprüfung der MCP-Ausgaben in den Logs

Die beste Möglichkeit, zu bestätigen, dass der Agent die richtigen Daten erhält und das LLM keine Fehler macht, besteht darin, die Debug-Logdatei zu überprüfen, die vom MCP-Server erzeugt wird.

Dieser Server ist so konfiguriert, dass er automatisch eine Logdatei in einem Unterordner Ihres Projektverzeichnisses erstellt. Der Speicherort wird sein:

your-project-folder/
└── logs_mcp/
    └── mcp_debug.log

Im Inneren von mcp_debug.log finden Sie die exakten JSON-Daten, die das Tool an das LLM zurücksendet, bevor das Modell sie verarbeitet. Sie können dieses JSON manuell überprüfen, um beliebige Werte zu verifizieren, insbesondere lange Dezimalzahlen von Eigenschaften wie monoisotopic_mass, und sicherstellen, dass das LLM in seiner endgültigen Antwort keine Rundungsfehler oder Halluzinationen eingeführt hat.


📊 Verwendung

Nach der Integration verwendet Ihr KI-Assistent dieses Tool automatisch, wenn nach chemischen Informationen gefragt wird. Das Hauptwerkzeug, das bereitgestellt wird, ist search_compounds_by_name.

Beispiel-Prompt

Dieser Prompt demonstriert die Fähigkeit des Tools, eine Liste von Verbindungen mit unterschiedlichen Namensarten zu verarbeiten und mehrere Eigenschaften abzurufen.

@agent
Please use your PubChem tool to find information on the following compounds:

  • Thiamine (Vitamin B1)
  • Riboflavin (Vitamin B2)
  • Folic Acid
  • Hydroxocobalamin
For each compound found, please retrieve the IUPAC Name, Molecular Formula, and Monoisotopic Mass.

Present all the results in a single Markdown table.

Der Agent wird das Tool search_compounds_by_name aufrufen, das jeden Wirkstoff intelligent findet, die zugehörigen Daten abruft und sie an das LLM zur Formatierung zurückgibt.


🛠 MCP-Tool freigelegt

search_compounds_by_name

Sucht nacheinander nach mehreren Wirkstoffen anhand des Namens, wobei eine intelligente Fallback-Strategie mit Pausen und Wiederholungen für maximale Zuverlässigkeit eingesetzt wird.

Parameter:

Rückgabe: Eine Liste von Wörterbüchern, wobei jedes Wörterbuch entweder die gefundenen Informationen zum Wirkstoff oder eine Fehlermeldung enthält, die erklärt, warum die Suche für diesen spezifischen Wirkstoff fehlgeschlagen ist.


🙏 Danksagungen

Dieses Projekt wurde stark inspiriert von und basiert auf dem Original PubChem-MCP-Server, erstellt von JackKuo666.

Auch wenn dieses Repository kein direkter Fork ist, war das Originalprojekt der entscheidende Ausgangspunkt. Diese Version erweitert das ursprüngliche Konzept mit Fokus auf extreme Robustheit, intelligente Suchstrategien und den Schutz der Nutzerprivatsphäre durch optionale Tor-Integration 🧅.

Vielen Dank an den Originalautor für seine großartige Arbeit und dafür, dass er sie mit der Community geteilt hat.


⚠️ Haftungsausschluss

Dieses Tool ist für Forschungs- und Bildungszwecke gedacht. Bitte respektieren Sie die Nutzungsbedingungen von PubChem und verwenden Sie dieses Tool verantwortungsvoll.

--- Tranlated By Open Ai Tx | Last indexed: 2025-08-27 ---