
MCP Server with Gemini AI Integration
MCP server client with basic tools
What is EAGS4-MCP-Server-Client?
EAGS4-MCP-Server-Client is a Multi-Component Platform (MCP) server integrated with Gemini AI, designed to perform various mathematical operations and complex tasks through natural language commands.
How to use EAGS4-MCP-Server-Client?
To use the server-client application, clone the repository, set up a virtual environment, install dependencies, and run the client application which can automatically start the server if it's not running.
Key features of EAGS4-MCP-Server-Client?
- Mathematical Operations: Perform basic and advanced math operations, including arithmetic, powers, and trigonometric functions.
- String Processing: Convert strings to ASCII values and process character arrays.
- Keynote Integration: Open Keynote, draw shapes, and add text.
- AI-Powered Task Execution: Utilize natural language processing for iterative problem solving and automatic tool selection.
Use cases of EAGS4-MCP-Server-Client?
- Performing complex mathematical calculations through natural language.
- Automating tasks in Keynote using voice commands.
- Converting strings to ASCII for data processing.
FAQ from EAGS4-MCP-Server-Client?
- Can I use EAGS4-MCP-Server-Client on Windows?
Yes, but Keynote integration requires macOS.
- Is there a demo available?
Yes! You can watch a demo of the MCP Server with Gemini AI integration in action on YouTube.
- What are the prerequisites for running this project?
You need Python 3.8 or higher and a Google Gemini API key.
MCP Server with Gemini AI Integration
This project implements a Multi-Component Platform (MCP) server with Gemini AI integration, allowing users to perform various mathematical operations and complex tasks through natural language commands.
Features
-
Mathematical Operations
- Basic arithmetic (add, subtract, multiply, divide)
- Advanced math (power, square root, cube root)
- Special functions (factorial, log, trigonometric functions)
- List operations (sum of list, exponential sum)
-
String Processing
- Convert strings to ASCII values
- Process character arrays
-
Keynote Integration
- Open Keynote application
- Draw rectangles with custom dimensions
- Add text to shapes
-
AI-Powered Task Execution
- Natural language processing using Gemini AI
- Iterative problem solving
- Automatic tool selection based on user queries
Prerequisites
- Python 3.8 or higher
- Google Gemini API key
- macOS (for Keynote integration)
Installation
- Clone the repository:
git clone <repository-url>
cd <repository-name>
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Create a
.env
file in the project root and add your Gemini API key:
GEMINI_API_KEY=your_api_key_here
Project Structure
mcp_server.py
: Contains the MCP server implementation and tool definitionstalk2mcp.py
: Client application that interfaces with the MCP server and Gemini AI.env
: Configuration file for API keysrequirements.txt
: Project dependencies
Usage
You can start the application in two ways:
Option 1: Start Server and Client Separately
- Start the MCP server in one terminal:
python mcp_server.py
- In another terminal, run the client application:
python talk2mcp.py
Option 2: Start Client Only (Recommended)
The client application can automatically start the server if it's not already running. Simply run:
python talk2mcp.py
The client will:
- Check if the server is running
- Start the server if needed
- Establish connection automatically
- Prompt for your query
Using the Application
-
Enter your query when prompted. Examples:
- "Add 5 and 3"
- "Find the ASCII values of characters in INDIA"
- "Start keynote app and draw a rectangle of size 300x400"
- "Calculate the factorial of 5"
-
Type 'exit' to quit the application.
Note: When using Option 2, the server will automatically shut down when you exit the client application.
Available Tools
The system provides the following tools:
-
Mathematical Tools
add(a: int, b: int)
: Add two numberssubtract(a: int, b: int)
: Subtract two numbersmultiply(a: int, b: int)
: Multiply two numbersdivide(a: int, b: int)
: Divide two numberspower(a: int, b: int)
: Calculate powersqrt(a: int)
: Calculate square rootcbrt(a: int)
: Calculate cube rootfactorial(a: int)
: Calculate factoriallog(a: int)
: Calculate logarithmsin(a: int)
,cos(a: int)
,tan(a: int)
: Trigonometric functions
-
String Processing Tools
strings_to_chars_to_int(string: str)
: Convert string to ASCII valuesint_list_to_exponential_sum(int_list: list)
: Calculate sum of exponentials
-
Keynote Tools
open_keynote()
: Open Keynote applicationdraw_rectangle_in_keynote(shapeWidth: int, shapeHeight: int)
: Draw rectangleadd_text_to_keynote_shape(text: str)
: Add text to shape
Demo
Watch a demo of the MCP Server with Gemini AI integration in action:
Click the image above to watch the demo video on YouTube.
Error Handling
The system includes comprehensive error handling:
- Timeout handling for AI responses
- Type conversion validation
- Tool availability checking
- Parameter validation
Debugging
Debug information is printed to the console, including:
- Tool execution details
- Parameter processing
- Result formatting
- Error messages and stack traces
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Google Gemini AI for natural language processing capabilities
- MCP framework for tool management
- Python community for various libraries used in this project