Em-Deesha/Todo-App-MCP-integration-with-Gemini-cli
If you are the rightful owner of Todo-App-MCP-integration-with-Gemini-cli 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.
The Model Context Protocol (MCP) server is designed to facilitate seamless integration of AI capabilities into applications, allowing for natural language interactions and enhanced user experiences.
Todo List App with FastAPI and MCP Integration
A complete todo list application with a modern web interface, REST API built with FastAPI, and Model Context Protocol (MCP) integration for Gemini CLI.
Features
Backend API
- Create, read, update, and delete todos
- Mark todos as completed or pending
- Filter todos by completion status
- Automatic API documentation with Swagger UI
- RESTful API endpoints
Frontend Interface
- Modern, responsive web interface
- Interactive todo management
- Real-time statistics
- Filter todos by status (All, Pending, Completed)
- Edit and delete todos with confirmation
- Beautiful gradient design with animations
- Mobile-friendly responsive layout
MCP Integration
- Model Context Protocol (MCP) server for AI assistant integration
- Gemini CLI support - Control your todos through natural language
- FastMCP framework for seamless AI integration
- Complete tool set for todo management via AI
- Natural language interface for todo operations
Setup
Basic Setup
-
Activate the virtual environment:
source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
Or alternatively:
uvicorn main:app --reload
MCP Integration Setup
For AI assistant integration with Gemini CLI:
-
Start both services (FastAPI app + MCP server):
./start_services.sh
-
Configure Gemini CLI by adding to your Gemini config:
{ "mcpServers": { "todo-mcp-server": { "command": "/path/to/your/project/venv/bin/python", "args": ["mcp_server.py"], "cwd": "/path/to/your/project" } } }
-
Test with Gemini CLI:
- "Show me all my todos"
- "Create a new todo called 'Learn FastAPI'"
- "Mark todo as complete"
- "What's my completion rate?"
See for detailed setup instructions.
API Endpoints
GET /
- Welcome messageGET /todos
- Get all todosGET /todos/{todo_id}
- Get a specific todoPOST /todos
- Create a new todoPUT /todos/{todo_id}
- Update a todoDELETE /todos/{todo_id}
- Delete a todoGET /todos/completed
- Get completed todosGET /todos/pending
- Get pending todos
Access the Application
Once the server is running, visit:
- Web Interface: http://localhost:8000 (Main todo list interface)
- API Documentation: http://localhost:8000/docs (Swagger UI)
- Alternative API Docs: http://localhost:8000/redoc
Example Usage
Create a new todo:
curl -X POST "http://localhost:8000/todos" \
-H "Content-Type: application/json" \
-d '{"title": "Learn FastAPI", "description": "Build a todo API", "completed": false}'
Get all todos:
curl -X GET "http://localhost:8000/todos"