Skip to main content
Glama

MCP Server dengan Google AI Studio

Server FastAPI yang menyediakan berbagai tools dan integrasi dengan Google Gemini AI.

Fitur

  • Auto Tool Router: Routing otomatis ke tool yang tepat berdasarkan prompt

  • Google Gemini Integration: Integrasi dengan Google AI Studio (Gemini 2.0 Flash Exp) menggunakan LangChain

  • Multiple Tools:

    • Weather (Cuaca)

    • News (Berita)

    • Web Search (Pencarian Web)

    • Dictionary (Kamus)

    • Quotes (Kutipan Bijak)

Persyaratan

  • Python 3.8+

  • pip (Python package manager)

Instalasi

  1. Clone atau download repository ini

  2. Install dependencies:

pip install -r requirements.txt

Atau install manual:

pip install fastapi uvicorn requests pydantic python-dotenv streamlit langchain-google-genai
  1. PENTING: Konfigurasi API Key Google

    a. Dapatkan API key dari Google AI Studio

    b. Buat/edit file .env di root folder project:

    GOOGLE_API_KEY=your_actual_api_key_here

    c. Pastikan API key valid dan aktif (bukan expired atau restricted)

    Catatan: Ganti your_actual_api_key_here dengan API key Anda sendiri

Menjalankan Aplikasi

1. Jalankan FastAPI Server

Buka terminal pertama dan jalankan:

uvicorn server:app --reload

Server akan berjalan di http://localhost:8000

2. Jalankan Streamlit App (Opsional)

Buka terminal kedua dan jalankan:

streamlit run app.py

Aplikasi Streamlit akan terbuka otomatis di browser (http://localhost:8501)

Cara Penggunaan

Menggunakan Streamlit UI (Recommended)

Setelah menjalankan kedua server (FastAPI dan Streamlit), buka browser di http://localhost:8501

Fitur Streamlit App:

  1. Auto Tool Router: Masukkan pertanyaan dan sistem otomatis memilih tool yang tepat

  2. Google Gemini AI: Chat interaktif dengan AI Google Gemini

  3. Manual Tools: Pilih dan gunakan tool secara manual:

    • Weather Tool: Cek cuaca kota

    • News Tool: Cari berita berdasarkan topik

    • Dictionary Tool: Cari definisi kata

    • Quotes Tool: Dapatkan kutipan bijak

    • Web Search Tool: Pencarian web

Menggunakan API (curl/Postman)

1. Auto Tool Router (/auto)

Endpoint ini secara otomatis memilih tool yang tepat berdasarkan kata kunci dalam prompt.

Endpoint: POST /auto

Request Body:

{ "prompt": "cuaca di Jakarta" }

Contoh Penggunaan:

Cek Cuaca

curl -X POST http://localhost:8000/auto \ -H "Content-Type: application/json" \ -d "{\"prompt\": \"cuaca di Bandung\"}"

Cari Berita

curl -X POST http://localhost:8000/auto \ -H "Content-Type: application/json" \ -d "{\"prompt\": \"berita teknologi\"}"

Cari Definisi Kata

curl -X POST http://localhost:8000/auto \ -H "Content-Type: application/json" \ -d "{\"prompt\": \"definisi technology\"}"

Dapatkan Quote

curl -X POST http://localhost:8000/auto \ -H "Content-Type: application/json" \ -d "{\"prompt\": \"quote bijak\"}"

Web Search (Default)

curl -X POST http://localhost:8000/auto \ -H "Content-Type: application/json" \ -d "{\"prompt\": \"python programming\"}"

2. Google Gemini LLM (/llm)

Endpoint untuk berkomunikasi langsung dengan Google Gemini AI.

Endpoint: POST /llm

Request Body:

{ "prompt": "Jelaskan apa itu artificial intelligence" }

Contoh Penggunaan:

curl -X POST http://localhost:8000/llm \ -H "Content-Type: application/json" \ -d "{\"prompt\": \"Apa itu FastAPI?\"}"

3. Health Check (/)

Cek status server.

Endpoint: GET /

curl http://localhost:8000/

Response:

{ "status": "MCP Server with Google AI Studio - OK" }

Dokumentasi API Interaktif

Setelah server berjalan, akses dokumentasi API interaktif di:

  • Swagger UI: http://localhost:8000/docs

  • ReDoc: http://localhost:8000/redoc

Struktur Proyek

. ├── .env # Environment variables (API keys) ├── server.py # Main FastAPI application ├── app.py # Streamlit frontend application ├── providers/ │ ├── google_llm.py # Google Gemini integration │ └── ollama_llm.py # Ollama integration (optional) └── tools/ ├── weather_tool.py # Weather API ├── news_tool.py # News API ├── search_tool.py # DuckDuckGo search ├── dictionary_tool.py # Dictionary API └── quotes_tool.py # Quotes API

Kata Kunci Auto Router

Auto router mendeteksi kata kunci berikut:

Kata Kunci

Tool

Contoh

cuaca

,

weather

Weather Tool

"cuaca di Jakarta"

berita

,

news

News Tool

"berita teknologi"

definisi

,

arti

Dictionary Tool

"definisi python"

quote

,

bijak

Quotes Tool

"quote bijak"

Lainnya

Web Search

"python tutorial"

Screenshot Streamlit App

Aplikasi Streamlit menyediakan 3 mode:

  1. Auto Tool Router - Routing otomatis berdasarkan kata kunci

  2. Google Gemini AI - Chat interface dengan history

  3. Manual Tools - Pilih tool secara manual dengan UI yang user-friendly

Troubleshooting

Error: Module not found

Pastikan semua dependencies sudah terinstall:

pip install fastapi uvicorn requests pydantic python-dotenv streamlit langchain-google-genai

Streamlit tidak bisa connect ke server

Pastikan FastAPI server sudah berjalan di http://localhost:8000 sebelum menjalankan Streamlit

Error: API key not valid / GOOGLE_API_KEY not found

Penyebab umum:

  • API key tidak ada di file .env

  • API key expired atau tidak valid

  • API key memiliki restrictions yang tidak sesuai

Solusi:

  1. Pastikan file .env ada di root folder project

  2. Dapatkan API key baru dari Google AI Studio

  3. Copy API key dan paste ke file .env:

    GOOGLE_API_KEY=AIzaSy...your_actual_key
  4. Restart server FastAPI setelah mengubah .env

  5. Pastikan tidak ada spasi atau karakter tambahan di API key

Server tidak bisa diakses

Pastikan server sudah berjalan dengan perintah:

uvicorn server:app --reload

Request loading lama / timeout

Lihat panduan lengkap di

Quick Fix:

  1. Test components:

    python test_simple.py
  2. Try server without LLM:

    uvicorn server_simple:app --reload --port 8001
  3. Check API key dan ganti jika perlu di file .env

  4. Ganti model di providers/google_llm.py:

    model="models/gemini-1.5-flash" # More stable
-
security - not tested
F
license - not found
-
quality - not tested

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/jamalexfo/mcp-api-tools'

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