MCP Project with Gemini Integration
This project implements a Model Control Protocol (MCP) server with Google Gemini LLM integration, providing a flexible framework for building AI-powered applications.
Project Structure
.
├── .venv/ # Virtual environment (gitignored)
├── client-server/ # MCP client and server implementation
│ ├── client-sse.py # SSE client
│ ├── client-stdio.py # stdio client
│ └── server.py # MCP server
├── gemini-llm-integration/ # Gemini LLM integration
│ ├── client-simple.py # Simple Gemini client
│ ├── server.py # Gemini server implementation
│ └── data/ # Knowledge base and data files
├── .env # Environment variables
├── .env.example # Example environment variables
├── requirements.txt # Project dependencies
└── test_gemini.py # Test script for Gemini API
Prerequisites
- Python 3.8+
- UV package manager (
pip install uv
) - Google Gemini API key (for Gemini integration)
Setup
Clone the repository and navigate to the project directory.
Create and activate a virtual environment:
uv venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
Install dependencies:
uv pip install -r requirements.txt
Copy
.env.example
to.env
and update with your API keys:cp .env.example .env # Edit .env with your API keys
Running the Project
MCP Server
Start the MCP server:
cd client-server python server.py
In a separate terminal, run a client:
# For SSE client python client-sse.py # For stdio client python client-stdio.py
Gemini Integration
Start the Gemini server:
cd gemini-llm-integration python server.py
Run the Gemini client:
python client-simple.py
Development
Format code:
black . isort .
Run tests:
pytest
Type checking:
mypy .
License
[Specify your license here]
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request