Skip to main content
Glama

Fast MCP Task Manager

Fast MCP Server with Google Gemini Integration

A comprehensive Model Context Protocol (MCP) server built with FastAPI that integrates with Google Gemini CLI for AI-powered task management and data processing.

๐Ÿš€ Features

  • FastAPI-based MCP Server: High-performance async server running on port 5000

  • Google Gemini Integration: Seamless integration with Gemini CLI for AI responses

  • Task Management Tools: Complete CRUD operations for task management

  • Data Analytics: Task statistics and CSV export capabilities

  • Comprehensive Logging: JSON-based operation logging for tracking and debugging

  • CLI Interface: Easy-to-use command-line tool for server interaction

  • RESTful API: Full API documentation with Swagger UI

  • Production Ready: Modular, clean, and well-documented code

๐Ÿ“‹ Prerequisites

  • Python 3.8 or higher

  • Google Gemini CLI installed and configured

  • curl (for CLI operations)

  • Git (for cloning the repository)

๐Ÿ› ๏ธ Installation

1. Clone the Repository

git clone <repository-url> cd FAST_MCP

2. Create Virtual Environment

python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate

3. Install Dependencies

pip install -r requirements.txt

4. Install Google Gemini CLI

Follow the official Gemini CLI installation guide:

Make sure Gemini CLI is properly configured with your API key.

๐Ÿš€ Quick Start

Start the Server

./mcp_cli.sh start

The server will start on http://localhost:5000

Check Server Status

./mcp_cli.sh status

List Available Tools

./mcp_cli.sh list

Use MCP Tools

# List all tasks ./mcp_cli.sh run list_tasks # Create a new task ./mcp_cli.sh run create_task "Implement authentication" "Add JWT-based auth" "high" # Update task status ./mcp_cli.sh run update_task_status 1 "in_progress" # Search tasks ./mcp_cli.sh run search_tasks "authentication" # Get task statistics ./mcp_cli.sh run get_task_statistics # Export tasks to CSV ./mcp_cli.sh run export_tasks_to_csv

Interact with Gemini

./mcp_cli.sh gemini "What are the best practices for API security?"

View Logs

./mcp_cli.sh logs

Stop the Server

./mcp_cli.sh stop

๐Ÿ“š API Documentation

Once the server is running, visit:

๐Ÿ”ง Available MCP Tools

1. list_tasks

  • Description: List all tasks with optional status filtering

  • Parameters:

    • status_filter (optional): Filter by status (pending, in_progress, completed)

  • Example: ./mcp_cli.sh run list_tasks pending

2. create_task

  • Description: Create a new task

  • Parameters:

    • title (required): Task title

    • description (required): Task description

    • priority (optional): Priority level (low, medium, high)

    • assigned_to (optional): User ID to assign the task

  • Example: ./mcp_cli.sh run create_task "New Feature" "Implement user dashboard" "high" "dev1"

3. update_task_status

  • Description: Update the status of an existing task

  • Parameters:

    • task_id (required): ID of the task to update

    • new_status (required): New status (pending, in_progress, completed)

  • Example: ./mcp_cli.sh run update_task_status 1 "completed"

4. get_task_statistics

  • Description: Get comprehensive task statistics and analytics

  • Parameters: None

  • Example: ./mcp_cli.sh run get_task_statistics

5. search_tasks

  • Description: Search tasks by title or description

  • Parameters:

    • query (required): Search query string

  • Example: ./mcp_cli.sh run search_tasks "authentication"

6. export_tasks_to_csv

  • Description: Export all tasks to a CSV file

  • Parameters: None

  • Example: ./mcp_cli.sh run export_tasks_to_csv

๐Ÿค– Gemini Integration

The server integrates with Google Gemini CLI to provide AI-powered responses:

Features

  • Multi-turn Conversations: Maintains context across interactions

  • Error Handling: Graceful handling of CLI failures and timeouts

  • Logging: All Gemini interactions are logged for tracking

  • Timeout Protection: 30-second timeout to prevent hanging requests

Usage Examples

# Technical questions ./mcp_cli.sh gemini "How do I implement JWT authentication in FastAPI?" # Code review ./mcp_cli.sh gemini "Review this Python function for best practices" # Documentation help ./mcp_cli.sh gemini "Generate API documentation for a task management system"

๐Ÿ“ Project Structure

FAST_MCP/ โ”œโ”€โ”€ server.py # Main FastAPI server โ”œโ”€โ”€ requirements.txt # Python dependencies โ”œโ”€โ”€ mcp_cli.sh # CLI interface script โ”œโ”€โ”€ sample_data.json # Sample task data โ”œโ”€โ”€ README.md # This file โ”œโ”€โ”€ venv/ # Virtual environment (created during setup) โ”œโ”€โ”€ server.log # Server logs (created when running) โ”œโ”€โ”€ mcp_logs.json # MCP operation logs (created when running) โ””โ”€โ”€ tasks_export_*.csv # Exported CSV files (created when exporting)

๐Ÿ” Logging and Monitoring

Operation Logs

All MCP tool calls and Gemini interactions are logged to mcp_logs.json:

{ "timestamp": "2024-01-17T10:30:00Z", "operation": "mcp_tool_call", "tool_name": "create_task", "success": true, "result": {...}, "error": null }

Server Logs

Server logs are written to server.log and include:

  • Server startup/shutdown events

  • Request/response details

  • Error messages and stack traces

  • Performance metrics

Health Monitoring

Check server health at any time:

./mcp_cli.sh health

๐Ÿ›ก๏ธ Error Handling

The server includes comprehensive error handling:

  • Tool Validation: Validates tool names and parameters

  • Data Persistence: Handles file I/O errors gracefully

  • Gemini CLI Integration: Manages CLI failures and timeouts

  • HTTP Errors: Proper HTTP status codes and error messages

  • Logging: All errors are logged for debugging

๐Ÿ”ง Configuration

Server Configuration

  • Port: 5000 (configurable in server.py)

  • Host: 0.0.0.0 (all interfaces)

  • Data File: sample_data.json

  • Log File: mcp_logs.json

Gemini CLI Configuration

Ensure Gemini CLI is properly configured:

gemini config set api_key YOUR_API_KEY

๐Ÿš€ Deployment

Development

./mcp_cli.sh start

Production

For production deployment, consider:

  • Using a process manager like PM2 or systemd

  • Setting up reverse proxy with Nginx

  • Implementing proper authentication

  • Adding rate limiting

  • Setting up monitoring and alerting

๐Ÿงช Testing

Manual Testing

  1. Start the server: ./mcp_cli.sh start

  2. Test each tool: ./mcp_cli.sh run <tool_name>

  3. Test Gemini integration: ./mcp_cli.sh gemini "test prompt"

  4. Check logs: ./mcp_cli.sh logs

  5. Verify health: ./mcp_cli.sh health

API Testing

Use the Swagger UI at http://localhost:5000/docs to test API endpoints directly.

๐Ÿ“Š Sample Data

The project includes sample_data.json with:

  • 5 sample tasks with different statuses and priorities

  • 4 user profiles with roles and departments

  • 2 project definitions with team assignments

๐Ÿค Contributing

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature-name

  3. Make your changes

  4. Test thoroughly

  5. Commit your changes: git commit -m "Add feature"

  6. Push to the branch: git push origin feature-name

  7. Submit a pull request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ†˜ Troubleshooting

Common Issues

  1. Server won't start

    • Check if port 5000 is available

    • Verify virtual environment is activated

    • Check server.log for error details

  2. Gemini CLI not found

    • Install Gemini CLI: pip install google-generativeai

    • Configure API key: gemini config set api_key YOUR_KEY

  3. Permission denied on mcp_cli.sh

    • Make executable: chmod +x mcp_cli.sh

  4. Data file errors

    • Check file permissions

    • Verify JSON format in sample_data.json

Getting Help

  • Check the logs: ./mcp_cli.sh logs

  • Review server logs: tail -f server.log

  • Test server health: ./mcp_cli.sh health

  • Check API documentation: http://localhost:5000/docs

๐ŸŽฏ Roadmap

  • Add user authentication and authorization

  • Implement real-time notifications

  • Add more MCP tools (file processing, email, etc.)

  • Create web dashboard

  • Add unit and integration tests

  • Implement caching for better performance

  • Add Docker support

  • Create CI/CD pipeline

๐Ÿ“ž Support

For support and questions:

  • Create an issue in the repository

  • Check the troubleshooting section

  • Review the API documentation


Built with โค๏ธ using FastAPI and Google Gemini

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MalikAqsa-cloud/MCP-Server-using-FAST-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server