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
访问服务器

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
    

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选