eagv1-s4-mcp
If you are the rightful owner of eagv1-s4-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Python-based mathematical agent that solves problems iteratively using various mathematical tools and visualizes results using Microsoft Word and Gmail.
Math Agent with Microsoft Word and Gmail Integration
A Python-based mathematical agent that solves problems iteratively using various mathematical tools and visualizes results using Microsoft Word and Gmail.
Features
-
Mathematical Operations
- Basic arithmetic (add, subtract, multiply, divide)
- Advanced operations (power, square root, cube root)
- Trigonometric functions (sin, cos, tan)
- Logarithmic calculations
- Factorial computation
- Fibonacci sequence generation
- ASCII value conversion
- Exponential sum calculations
-
AI Integration
- Google Gemini Pro model for intelligent problem-solving
- Iterative problem-solving approach
- Automatic tool selection and execution
-
Enhanced Logging
- Detailed execution logs
- Debug information for tool operations
- Error tracking and reporting
- Comprehensive email reports with execution history
-
Email Integration
- Automatic email reports after completion
- Detailed execution logs in email body
- Final result summary
- Gmail SMTP integration
-
Word Integration
- Automatic Word document creation
- Rectangle drawing with results
- Automated result visualization
- Configurable text placement
Prerequisites
- Python 3.7+
- Microsoft Word for macOS
- macOS 10.15 or later
- Google Cloud API key (for Gemini Pro)
Installation
- Clone the repository
- Install dependencies:
pip3 install -r requirements.txt
- Set up environment variables:
Option 1: Export in terminal (recommended for testing):
export GEMINI_API_KEY=your_api_key_here
export GMAIL_USER=your.email@gmail.com
export GMAIL_APP_PASSWORD=your16digitpassword
Option 2: Create a .env file:
GEMINI_API_KEY=your_api_key_here
GMAIL_USER=your.email@gmail.com
GMAIL_APP_PASSWORD=your16digitpassword
Usage
Recommended Method: Run the client (automatically starts the server):
python math_agent_client.py
Alternative Method (for debugging): Run server and client separately:
- Start the MCP server:
# Terminal 1
python math_agent_server.py
# Terminal 2
python math_agent_client.py
The agent will:
- Start the MCP server internally
- Process mathematical queries using Gemini AI
- Execute calculations using available tools
- Create a Word document with the result
- Draw a rectangle containing the final answer
- Send an email report with execution logs
Example Queries
- Find the ASCII values of characters in INDIA and then return sum of exponentials of those values
- Calculate the factorial of 5
- Find the sum of first 10 Fibonacci numbers
Architecture
-
math_agent_client.py
: Main client handling:- Gemini AI integration
- Query processing
- Tool execution
- Word visualization
-
math_agent_server.py
: Server providing:- Mathematical tools
- Word integration tools
- Resource handlers
Error Handling
- Timeout protection for AI generation
- Robust error handling for tool execution
- Automatic state reset
- Debug logging
Logging
- All operations are logged with timestamps
- Log levels: INFO, DEBUG, ERROR
- Logs are included in email reports
- Console output for real-time monitoring
Troubleshooting
Email Configuration
- Ensure GMAIL_USER is your full email address
- GMAIL_APP_PASSWORD must be a 16-character app password
- Enable 2-Step Verification in your Google Account
- Check execution logs for detailed error messages
Word Integration
- Ensure Microsoft Word is installed and running
- Allow automation permissions if prompted
- Check execution logs for any automation errors
Common Issues
- If environment variables are not detected, try restarting your terminal
- For Word automation issues, ensure Word is not in full-screen mode
- Check console output for detailed error messages and stack traces
Limitations
- Requires macOS environment
- Microsoft Word for macOS must be installed
- Maximum 8 iterations per problem
- Requires Google Cloud API access