Web Analytics

pubchem-agent-toolkit

⭐ 2 stars Indonesian by Milor123

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

Server PubChem MCP yang Ditingkatkan untuk Asisten AI

🧪 Server MCP yang canggih, kuat, dan berfokus pada privasi yang memungkinkan asisten AI mencari dan mengakses informasi senyawa kimia dari PubChem secara cerdas.

Server PubChem MCP ini berfungsi sebagai jembatan yang kuat antara asisten AI (seperti pada AnythingLLM) dan basis data kimia PubChem yang sangat luas. Server ini memanfaatkan Model Context Protocol (MCP) untuk memungkinkan model AI melakukan pencarian senyawa kimia secara cerdas dan tangguh serta mengambil detail propertinya secara terprogram.


✨ Fitur Utama

Ini bukan sekadar pembungkus PubChem biasa. Server ini dibangun ulang dari awal agar sangat tangguh dan cerdas:

---


🚀 Tanpa Instalasi: Coba Langsung di Smithery.ai

Untuk Anda yang baru mengenal server MCP atau sekadar ingin mencoba kemampuan alat ini tanpa instalasi lokal, versi live dan terhosting tersedia di Smithery.ai. Anda dapat langsung berbincang dengan agen melalui browser Anda.

<-- Jelajahi Agen PubChem Live di Smithery.ai -->

Cara memulai:

> ✅ Rekomendasi Model untuk Hasil Terbaik >
Untuk akurasi tertinggi, terutama untuk angka desimal panjang, kami sangat menyarankan menggunakan model yang kuat. Berikut ini telah diuji dan bekerja sangat baik dengan alat ini:
>
* Claude 3 Sonnet dari Anthropic
* GPT-4 Turbo dari OpenAI (atau versi yang lebih baru seperti GPT-4o)
>
Kami telah memastikan bahwa kedua model memproses presisi penuh dari angka desimal yang dikembalikan oleh alat tanpa pembulatan.


🚀 Mulai Cepat & Instalasi

Server ini dirancang untuk dijalankan secara lokal, baik di desktop Anda maupun di lingkungan Docker AnythingLLM.

1. Ketergantungan

Proyek ini bergantung pada beberapa pustaka Python. Pastikan pustaka tersebut telah terpasang di lingkungan Anda.

Buat file requirements.txt dengan isi sebagai berikut:

requests
bs4 
mcp 
pubchempy
pandas
PySocks

Instal menggunakan uv atau pip:

uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt
(Catatan: PySocks hanya diperlukan jika Anda berencana menggunakan fitur proxy Tor SOCKS5.)

2. Konfigurasi

Server dikonfigurasi melalui file config.ini yang secara otomatis dibuat saat pertama kali Anda menjalankannya. File ini akan muncul di direktori yang sama dengan skrip pubchem_server.py.

config.ini bawaan:

[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. Integrasi dengan AnythingLLM

Ikuti dokumentasi resmi untuk menambahkan ini sebagai server MCP khusus. Kuncinya adalah mengarahkan command ke executable Python Anda dan skrip pubchem_server.py.

Contoh untuk 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 Contoh Implementasi dengan AnythingLLM

Berikut adalah beberapa contoh cara berinteraksi dengan agen. Pengujian ini dilakukan menggunakan AnythingLLM Desktop, yang terhubung ke berbagai Model Bahasa Besar melalui OpenRouter.

Temuan penting dari pengujian kami adalah pentingnya pemilihan model. Kami sangat menyarankan untuk tidak menggunakan model kecil atau lokal untuk tugas ini. Model yang lebih kecil seringkali kesulitan untuk secara benar menguraikan data yang dikembalikan oleh alat, sehingga menyebabkan kesalahan seperti nilai yang dihalusinasi, format yang salah, atau yang paling kritis, pembulatan angka desimal, yang menghilangkan tujuan alat berpresisi tinggi ini.

Untuk memastikan integritas hasil Anda, selalu merupakan praktik yang baik untuk memverifikasi data mentah yang dikembalikan oleh MCP. Anda dapat mempelajari cara melakukannya di bagian berikut: 3.2 Cara memverifikasi keluaran MCP di log.

imagen

Di sisi lain, beberapa model telah menunjukkan performa yang sangat baik. Kami mendapatkan hasil yang luar biasa dengan Google Gemini 2.5 Flash lite. Model ini menunjukkan presisi tinggi dalam menangani angka desimal panjang dan memformat tabel Markdown akhir dengan benar.

Google gemini 2.5 flash lite tanpa prompt dan dengan prompt menjaga angka desimal tetap sempurna (pada contoh menggunakan temperatur 0.6)

imagen

Untuk tugas spesifik ini, favorit pribadi saya adalah Gemini 2.5 Flash lite karena konsistensi akurasi dan keandalannya.

3.2 Cara Memverifikasi Keluaran MCP di Log

Cara terbaik untuk memastikan bahwa agen menerima data yang benar dan bahwa LLM tidak melakukan kesalahan adalah dengan memeriksa file log debug yang dihasilkan oleh server MCP.

Server ini dikonfigurasi untuk secara otomatis membuat file log di subfolder dalam direktori proyek Anda. Lokasinya adalah:

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

Di dalam mcp_debug.log, Anda akan menemukan data JSON persis yang dikirimkan alat kembali ke LLM sebelum model memprosesnya. Anda dapat memeriksa JSON ini secara manual untuk memverifikasi nilai apa pun, khususnya angka desimal panjang dari properti seperti monoisotopic_mass, memastikan bahwa LLM tidak memperkenalkan kesalahan pembulatan atau halusinasi dalam jawaban akhirnya.


📊 Penggunaan

Setelah terintegrasi, asisten AI Anda akan secara otomatis menggunakan alat ini saat diminta informasi kimia. Alat utama yang disediakan adalah search_compounds_by_name.

Contoh Prompt

Prompt ini menunjukkan kemampuan alat untuk menangani daftar senyawa dengan jenis nama yang beragam dan mengambil beberapa properti.

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

Agen akan memanggil alat search_compounds_by_name, yang akan secara cerdas mencari setiap senyawa, mengambil datanya, dan mengembalikannya ke LLM untuk diformat.


🛠 MCP Tool Terbuka

search_compounds_by_name

Mencari beberapa senyawa berdasarkan nama, satu per satu, menggunakan strategi fallback pintar dengan jeda dan percobaan ulang untuk keandalan maksimal.

Parameter:

Mengembalikan: Daftar kamus, di mana setiap kamus berisi informasi senyawa yang ditemukan atau pesan kesalahan yang merinci alasan kegagalan pencarian untuk senyawa tertentu.


🙏 Ucapan Terima Kasih

Proyek ini sangat terinspirasi dan dibangun berdasarkan fondasi dari PubChem-MCP-Server asli yang dibuat oleh JackKuo666.

Meskipun repository ini bukan fork langsung, proyek asli adalah titik awal yang krusial. Versi ini meningkatkan konsep asli dengan fokus pada ketahanan ekstrem, strategi pencarian cerdas, dan privasi pengguna melalui integrasi Tor opsional 🧅.

Terima kasih banyak kepada penulis asli atas karya luar biasa mereka dan telah membagikannya kepada komunitas.


⚠️ Disclaimer

Alat ini ditujukan untuk tujuan riset dan pendidikan. Mohon hormati ketentuan layanan PubChem dan gunakan alat ini secara bertanggung jawab.

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