Skip to main content
Glama
MarkAndersonIX

MCP Gemini CLI Base

README.md
# MCP Project Setup

This document outlines the steps to set up the `mcp` project environment.

## 1. Create Conda Environment

Create a new conda environment named `mcp` with Python 3.12:

```bash
conda create -n mcp python=3.12 -y
```

## 2. Install uv

Install the `uv` package manager using the following command:

```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```

## 3. Install fastmcp

Install the `fastmcp` package using `uv` in the `mcp` environment:

```bash
conda run -n mcp uv pip install fastmcp
```

## 4. Verify Installation

Confirm the `fastmcp` installation by running the following command:

```bash
conda run -n mcp fastmcp version
```

## 5. Running the Hello World Server

`mcp_hello.py` is a "hello world" type mcp server. You can run the MCP inspector for it using the following command:

```bash
conda run -n mcp fastmcp dev mcp_hello.py:mcp
```

## 6. Connecting with Proxy Session Token
Copy the provided session token from CLI, click on the provided link, paste in Configuration -> Proxy Session Token, click connect.

## 7. Inspect hello_world tool
Click on Tools in the top menu bar.  "hello_world" should be listed with a parameter "name".  Input your name and click "Run Tool".  The tool should succeed and return a greeting.

## 8. Running Resource Tests

`mcp_resources.py` defines MCP resources. You can run tests for these resources using the `--test` argument:

```bash
uv run mcp_resources.py --test
```

## 9. Weather Server

`mcp_weather.py` exposes a tool to get current weather data from OpenWeatherMap.

**Before running:** Ensure you have set your `OPENWEATHER_API_KEY` in the `.env` file:

```
OPENWEATHER_API_KEY=YOUR_API_KEY_HERE
```

To run the weather server manually:

```bash
conda run -n mcp fastmcp dev mcp_weather.py:mcp
```

To run tests for the weather tool:

```bash
uv run mcp_weather.py --test
```

## 10. Integrating with Gemini CLI

To allow the Gemini CLI to automatically start and connect to your `mcp_weather` server, you need to configure its `settings.json` file.

1.  **Locate `settings.json`:**
    The `settings.json` file is typically located at:
    *   **Linux/macOS:** `~/.gemini/settings.json`
    *   **Windows:** `%APPDATA%\gemini\settings.json`

    If the file or directory does not exist, create them.

2.  **Add `mcpServers` entry:**
    Add the following entry to the `mcpServers` section in your `settings.json` file. Replace `/mnt/d/Projects/_sandbox/mcp/` with the absolute path to your `mcp` project directory.

    ```json
    {
      "mcpServers": {
        "weather_server": {
          "command": "uv",
          "args": [
            "run",
            "/mnt/d/Projects/_sandbox/mcp/mcp_weather.py"
          ],
          "cwd": "/mnt/d/Projects/_sandbox/mcp",
          "timeout": 10000
        }
      }
    }
    ```

    Once configured, when you run `gemini`, the CLI will automatically start your `mcp_weather.py` server and make its `get_current_weather` tool available to the Gemini model.


## References

*   **Gemini CLI Configuration:** [https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/configuration.md](https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/configuration.md) - For information on setting up MCP with the Gemini CLI.
*   **FastMCP:** [https://github.com/jlowin/fastmcp](https://github.com/jlowin/fastmcp) - The FastMCP library used for building MCP servers.