Web Analytics

pubchem-agent-toolkit

⭐ 2 stars Dutch by Milor123

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

Verbeterde PubChem MCP Server voor AI-assistenten

🧪 Een geavanceerde, robuuste en privacygerichte MCP-server die AI-assistenten in staat stelt om intelligent chemische verbindingen op PubChem te zoeken en te raadplegen.

Deze PubChem MCP Server fungeert als een krachtige brug tussen AI-assistenten (zoals die in AnythingLLM) en de uitgebreide chemische databank van PubChem. Het maakt gebruik van het Model Context Protocol (MCP) zodat AI-modellen slimme, veerkrachtige zoekopdrachten naar chemische verbindingen kunnen uitvoeren en hun gedetailleerde eigenschappen programmatisch kunnen ophalen.


✨ Kernfunctionaliteiten

Dit is niet zomaar een PubChem-wrapper. Deze server is volledig opnieuw opgebouwd om uiterst robuust en intelligent te zijn:

---


🚀 Geen installatie vereist: Probeer het live op Smithery.ai

Voor wie nieuw is met MCP-servers of gewoon de mogelijkheden van deze tool wil testen zonder lokale installatie, is er een live, gehoste versie beschikbaar op Smithery.ai. Hiermee kun je direct in je browser met de agent chatten.

<-- Verken de Live PubChem Agent op Smithery.ai -->

Aan de slag:

> ✅ Aanbevolen modellen voor beste resultaten >
Om maximale nauwkeurigheid te behalen, zeker bij lange decimale getallen, raden we krachtige modellen sterk aan. De volgende modellen zijn getest en werken uitstekend met deze tool:
>
* Anthropic's Claude 3 Sonnet
* OpenAI's GPT-4 Turbo (of nieuwere versies zoals GPT-4o)
>
We hebben bevestigd dat beide modellen de volledige precisie van de decimale getallen die door de tool zijn teruggegeven correct verwerken, zonder afronding.


🚀 Snelstart & Installatie

Deze server is ontworpen om lokaal te draaien, hetzij op je desktop of binnen de AnythingLLM Docker-omgeving.

1. Afhankelijkheden

Dit project is afhankelijk van een aantal Python-bibliotheken. Zorg ervoor dat deze in je omgeving zijn geïnstalleerd.

Maak een requirements.txt-bestand met de volgende inhoud:

requests
bs4 
mcp 
pubchempy
pandas
PySocks

Installeer ze met uv of pip:

uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt
(Opmerking: PySocks is alleen vereist als je van plan bent de Tor SOCKS5-proxyfunctie te gebruiken.)

2. Configuratie

De server wordt geconfigureerd via een config.ini-bestand dat automatisch wordt aangemaakt de eerste keer dat je het uitvoert. Dit bestand verschijnt in dezelfde map als het pubchem_server.py-script.

Standaard 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. Integratie met AnythingLLM

Volg de officiële documentatie om dit toe te voegen als een aangepaste MCP-server. Het belangrijkste is om de command te laten verwijzen naar je Python-uitvoerbaar bestand en het pubchem_server.py script.

Voorbeeld voor 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 Implementatievoorbeelden met AnythingLLM

Hier zijn enkele voorbeelden van hoe je met de agent kunt communiceren. Deze tests zijn uitgevoerd met AnythingLLM Desktop, waarbij verbinding is gemaakt met verschillende Large Language Models via OpenRouter.

Een cruciale bevinding uit onze tests is het belang van het gekozen model. We raden sterk af om kleine of lokale modellen voor deze taak te gebruiken. Kleinere modellen hebben vaak moeite om de door de tool teruggegeven data correct te parseren, wat leidt tot fouten zoals gefantaseerde waarden, verkeerde opmaak of, het meest kritisch, afronden van decimale getallen, waardoor het doel van deze zeer nauwkeurige tool wordt tenietgedaan.

Om de integriteit van je resultaten te waarborgen, is het altijd een goede gewoonte om de ruwe data die door de MCP wordt teruggegeven te verifiëren. Je kunt leren hoe je dit doet in het volgende gedeelte: 3.2 Hoe MCP-uitvoer in de logs te verifiëren.

imagen

Aan de andere kant hebben verschillende modellen uitstekende prestaties laten zien. We hebben uitstekende resultaten behaald met Google's Gemini 2.5 Flash lite. Dit model toonde opmerkelijke precisie bij het verwerken van lange decimale getallen en het correct opmaken van de uiteindelijke Markdown-tabel.

Google gemini 2.5 flash lite zonder prompt en met prompt behoudt perfecte decimalen (in het voorbeeld wordt een temperatuur van 0.6 gebruikt)

imagen

Voor deze specifieke taak is mijn persoonlijke favoriet Gemini 2.5 Flash lite vanwege de consistente nauwkeurigheid en betrouwbaarheid.

3.2 Hoe MCP-uitvoer in de logs te verifiëren

De beste manier om te bevestigen dat de agent de juiste data ontvangt en dat de LLM geen fouten maakt, is door het debug-logbestand te controleren dat door de MCP-server wordt gegenereerd.

Deze server is geconfigureerd om automatisch een logbestand aan te maken in een submap binnen je projectdirectory. De locatie zal zijn:

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

In mcp_debug.log vind je de exacte JSON-gegevens die de tool terugstuurt naar de LLM voordat het model deze verwerkt. Je kunt deze JSON handmatig inspecteren om waarden te controleren, vooral lange decimale getallen van eigenschappen zoals monoisotopic_mass, zodat je zeker weet dat de LLM geen afrondingsfouten of hallucinaties heeft geïntroduceerd in het uiteindelijke antwoord.


📊 Gebruik

Zodra geïntegreerd, zal je AI-assistent deze tool automatisch gebruiken wanneer er naar chemische informatie wordt gevraagd. De belangrijkste tool die beschikbaar is, is search_compounds_by_name.

Voorbeeldprompt

Deze prompt demonstreert het vermogen van de tool om een lijst van verbindingen met verschillende naamtypen te verwerken en meerdere eigenschappen op te halen.

@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.

De agent zal de search_compounds_by_name tool aanroepen, die elk bestanddeel intelligent zal vinden, de gegevens zal ophalen en deze aan de LLM zal retourneren voor opmaak.


🛠 MCP Tool Beschikbaar

search_compounds_by_name

Zoekt meerdere verbindingen op naam, één voor één, met een slimme fallback-strategie inclusief pauzes en herhaalde pogingen voor maximale betrouwbaarheid.

Parameters:

Retourneert: Een lijst met dictionaries, waarbij elke dictionary ofwel de gevonden informatie van de verbinding bevat, of een foutmelding met uitleg waarom de zoekopdracht voor die specifieke verbinding is mislukt.


🙏 Dankbetuigingen

Dit project is sterk geïnspireerd door en gebouwd op de basis van de originele PubChem-MCP-Server ontwikkeld door JackKuo666.

Hoewel deze repository geen directe fork is, was het originele project het cruciale startpunt. Deze versie verbetert het oorspronkelijke concept met een focus op extreme robuustheid, intelligente zoekstrategieën en gebruikersprivacy via optionele Tor-integratie 🧅.

Veel dank aan de oorspronkelijke auteur voor het fantastische werk en het delen met de gemeenschap.


⚠️ Disclaimer

Deze tool is bedoeld voor onderzoeks- en educatieve doeleinden. Respecteer de gebruiksvoorwaarden van PubChem en gebruik deze tool op verantwoorde wijze.

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