Skip to main content
Glama
MAIMOONA-ISLAM

FastAPI MCP Demo Server

README.md
# MCP Server using FAST MCP 

This is a sample MCP Server built using **FastAPI** and integrated with **Gemini CLI**.

Repository: `git@github.com:MAIMOONA-ISLAM/MCP-Server-using-FAST-MCP.git`

## Features

- **FastAPI Web Server** with REST endpoints
- **MCP Protocol Server** for Gemini CLI integration
- **Mathematical Operations** (sum calculation)
- **Greeting Service** (personalized greetings)

## Project Structure

`
mcp_fastapi_server/
 .gemini/
    settings.json      # Gemini settings
 demo/
    README.md          # Demo documentation
    screen_recording(1).mp4  # Demo video
 __pycache__/           # Python cache files
 .gitattributes         # Git attributes
 .gitignore            # Git ignore rules
 main.py               # FastAPI web server
 mcp_config.json       # Gemini CLI configuration
 README.md             # This file
 requirements.txt      # Python dependencies
 simple_mcp_server.py  # Simple MCP protocol server
`

## Setup Instructions

### 1. Install Dependencies

`ash
pip install -r requirements.txt
`

### 2. Run FastAPI Server

`ash
uvicorn main:app --reload --port 8000
`

The server will be available at: http://localhost:8000

API Documentation: http://localhost:8000/docs

### 3. Test MCP Server

`ash
python simple_mcp_server.py
`

### 4. Configure Gemini CLI

Copy the mcp_config.json to your Gemini CLI configuration directory:

`ash
# On Windows
copy mcp_config.json %APPDATA%\gemini\mcp_config.json

# On macOS/Linux
cp mcp_config.json ~/.config/gemini/mcp_config.json
`

## Available Endpoints

### FastAPI Endpoints

- GET / - Server status
- POST /sum - Calculate sum of two numbers
- POST /greet - Generate greeting message

### MCP Tools

- calculate_sum - Calculate sum of two numbers
- greet_user - Generate personalized greeting

## Usage Examples

### FastAPI Usage

`ash
# Test sum endpoint
curl -X POST "http://localhost:8000/sum" \
     -H "Content-Type: application/json" \
     -d '{"a": 5, "b": 3}'

# Test greet endpoint
curl -X POST "http://localhost:8000/greet" \
     -H "Content-Type: application/json" \
     -d '{"name": "World"}'
`

### Gemini CLI Usage

`ash
# List available MCP tools
gemini mcp list

# Use MCP tools
gemini mcp call calculate_sum --a 5 --b 3
gemini mcp call greet_user --name "Alice"
`

## Demo

Check out the demo/ folder for:
- Screen recording demonstrating the MCP server in action
- Additional demo documentation
- Examples of server setup and Gemini CLI MCP commands

## Requirements

See `requirements.txt` for the full list of Python dependencies.

## License

This project is open source and available for educational purposes.

## Contributing

Feel free to submit issues and enhancement requests!