Gemini API with MCP Tool Integration

by hitechdk

329 downloads
Not rated
GitHub

About

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

Details

Author
hitechdk
Downloads
329
Categories
AI

- Integrates Google Gemini API with MCP custom tools
- Uses environment variables for configuration
- Processes tool calls made by the model
- Supports customizable prompt and response handling
- Automates actions based on natural language queries

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Gemini API with MCP Tool Integration
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install Python 3.7+, set up a Google Cloud project with Gemini API enabled, configure a .env file with GEMINI_API_KEY, GEMINI_MODEL, MCP_RUNNER, and MCP_SCRIPT, then run python main.py. Customize prompt, get_contents(), and process_response() as needed.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "gemini api with mcp tool integration": {
            "weather-ai-agent": {
                "command": "python3",
                "args": [
                    "-m",
                    "venv",
                    "venv"
                ]
            }
        }
    }
}

McpServers

{
    "weather-ai-agent": {
        "command": "python3",
        "args": [
            "-m",
            "venv",
            "venv"
        ]
    }
}

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 reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.