MCP API Tools

MCP API Tools

FastAPI server with Google Gemini AI integration that provides auto-routing to multiple tools including weather, news, web search, dictionary, and quotes APIs through natural language prompts.

Category
Visit Server

README

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 TROUBLESHOOTING.md

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
    

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured