Gemini API with MCP Tool Integration

Gemini API with MCP Tool Integration

By hitechdk GitHub

AI agent that retrieves weather data from the MCP server to provide automated forecasts. Ideal for integration into weather-related applications.

weather-ai weather-forecast
Overview

What is the Weather AI Agent?

The Weather AI Agent is an AI-driven tool that retrieves weather data from the MCP server to provide automated forecasts, making it ideal for integration into weather-related applications.

How to use the Weather AI Agent?

To use the Weather AI Agent, clone the repository, set up your environment variables in a .env file, and run the application using the command python main.py.

Key features of the Weather AI Agent?

  • Integration with Google Gemini API for natural language processing.
  • Automated weather data retrieval from the MCP server.
  • Customizable prompts and responses based on user queries.

Use cases of the Weather AI Agent?

  1. Providing real-time weather forecasts for applications.
  2. Automating responses to user inquiries about weather conditions.
  3. Enhancing weather-related services with AI-driven insights.

FAQ from the Weather AI Agent?

  • What are the prerequisites for using the Weather AI Agent?

You need Python 3.7 or higher, a Google Cloud project with the Gemini API enabled, and an MCP environment set up.

  • Is there a license for the Weather AI Agent?

Yes, the project is licensed under the MIT License.

  • Can I customize the behavior of the Weather AI Agent?

Yes, you can modify the prompt and adjust the response handling in the code.

Content

Gemini API with MCP Tool Integration

This project demonstrates how to integrate the Google Gemini API with custom tools managed by the MCP (Multi-Cloud Platform) framework. It uses the Gemini API to process natural language queries, and leverages MCP tools to execute specific actions based on the query's intent.

Prerequisites

Before running this project, ensure you have the following:

  • Python 3.7 or higher

  • A Google Cloud project with the Gemini API enabled and an API key.

  • An MCP environment set up with the necessary tools.

  • .env file with the following environment variables:

    GEMINI_API_KEY=<your_gemini_api_key>
    GEMINI_MODEL=<your_gemini_model_name>
    MCP_RUNNER=<path_to_mcp_runner>
    MCP_SCRIPT=<path_to_mcp_script>
    

Installation

  1. Clone the repository:

    git clone <repository_url>
    cd <repository_directory>
    
  2. Create a virtual environment (recommended):

    python3 -m venv venv
    source venv/bin/activate  # On macOS/Linux
    
    
  3. Install the required dependencies using uv:

    uv pip install dotenv google-generativeai mcp
    uv add "mcp[cli]" httpx
    uv pip install python-dotenv google-generativeai mcp
    
  4. Create a .env file in the project root and add your environment variables.

GEMINI_API_KEY=your_api_key_here
GEMINI_MODEL=gemini-pro
MCP_RUNNER=path_to_mcp_runner
MCP_SCRIPT=path_to_mcp_script

Usage

To run the application, execute the following command:

python main.py

How It Works

  1. The application loads environment variables and validates their presence
  2. Establishes a connection with the MCP client
  3. Retrieves available tools from the MCP session
  4. Sends the prompt to Gemini's API along with tool definitions
  5. Processes any tool calls made by the model
  6. Returns the final response that includes results from tool calls

Customization

To customize the prompt or behavior:

  1. Modify the prompt variable with your desired text
  2. Adjust the get_contents() function to change how prompts are formatted
  3. Extend process_response() to handle different response types

License

MIT License

No tools information available.

A Model Context Protocol (MCP) server that provides weather forecast data from the Government of Canada Weather API. Fetch accurate 5-day forecasts for any location in Canada by latitude and longitude. Easily integrates with Claude Desktop and other MCP-compatible clients.

weather-mcp weather-forecast
View Details

Sample MCP server implementation for fetching weather forecasts

weather-mcp weather-forecast
View Details