Gemini MCP Chatbot

Gemini MCP Chatbot

An MCP server exposing calculator, file read, and file write tools for the Gemini CLI agent, enabling mathematical computations and file operations through natural language.

Category
Visit Server

README

Gemini MCP Chatbot

A simple MCP (Model Context Protocol) server over STDIO exposing calculator, file read, and file write tools for the Gemini CLI agent.

Features

  • Calculator
  • File Read
  • File Write

Architecture at a Glance

Gemini CLI ──STDIO──> MCP Server (src/server.py) ──Tools──> Your Python Functions

The CLI launches the MCP server, streams requests over STDIO, and receives tool responses without needing sockets or REST.

Project Tour

.gemini/settings.json

// filepath: f:\Workspace\AI Training\Gemini CLI\.gemini\settings.json
{
  "mcpServers": {
    "pythonTools": {
      "command": "poetry",
      "args": ["run", "python", "src/server.py"],
      "cwd": "",
      "env": {
        "MCP_PROXY_AUTH_TOKEN": "<MCP_PROXY_AUTH_TOKEN>"
      },
      "timeout": 15000
    }
  }
}

This configuration wires the CLI to spawn the MCP server through Poetry, injects the proxy token, and enforces a 15-second timeout.

Note: When the server starts, it prints the configured token in the terminal so you can confirm the placeholder value.

Python tools

The CLI mounts the MCP server defined in src/server.py, exposing calculator and file helpers for quick automation.

MCP - Import

FastMCP class from mcp package can be used to instantly create mcp servers.

# filepath: f:\Workspace\AI Training\Gemini CLI\src\server.py
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("demo")

MCP decorators for tool registration

Decorators expose calculator and file utilities as discoverable MCP tools.
Docstrings define parameters and return values for each tool so Gemini CLI can build the right schemas for invocation.

# filepath: f:\Workspace\AI Training\Gemini CLI\src\server.py
@mcp.tool()
def handle_calculator(expression):
    """
    Evaluate a mathematical expression and return the result.
    ...
    """
    ...

@mcp.tool()
def handle_file_read(path):
    """
    Read the contents of a file at the given path.
    ...
    """
    ...

@mcp.tool()
def handle_file_write(path: str, content: str):
    """
    Write content to a file at the given path.
    ...
    """
    ...

Run MCP server

# filepath: f:\Workspace\AI Training\Gemini CLI\src\server.py
if __name__ == "__main__":
    mcp.run()

By default, the server listens on STDIO, ready to process incoming tool calls from the Gemini CLI. The transport parameter of mcp.run() can adjust this behavior.

Setup

  1. Install Python 3.6+ and Poetry.
  2. In project folder run:
    poetry install
    
    (No external dependencies required)

Running MCP Server

Start the MCP server (STDIO transport):

poetry run python src/server.py

The process stays attached to STDIO (no TCP port).

Gemini CLI Integration

The Gemini CLI is configured to connect to this MCP server via .gemini/settings.json (command points to python src/server.py).

Launch Gemini CLI:

gemini

Use /mcp inside the CLI to list connected MCP servers and tools.

MCP Server Tools

The Gemini agent can invoke these tools in based on the need.

You may ask naturally (e.g. “Compute 2 + 2 * 3” or “Read ./notes.txt”) and the agent will call the appropriate tool.

Usage Examples

User: "Hey, what's 15% tip on a $47.50 bill?"

Agent: _[Proposes to use calculator tool: 47.50 _ 0.15]_ gemini_asking_for_permission_to_run_mcp_tool.png

Tool Call and Response: (Upon Approval from the User) ✓ handle_calculator (pythonTools MCP Server) {"expression":"47.50 * 0.15"}

gemini_tool_executed_successfully.png


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