A simple, elegant task management web application built with Flask and PostgreSQL. Create boards, manage tasks, and track your productivity with an intuitive web interface.
The clean, modern login interface with a beautiful gradient background provides secure user authentication.
The main dashboard shows your organized boards with active and completed tasks. Features include:
- Multiple board management (Consultant Cloud, Clyde, Home, Life stuff)
- Task creation with due dates and notes
- Edit and Done buttons for task management
- Color-coded task status indicators
- Completed tasks tracking
- User Authentication: Secure registration and login system
- Board Management: Create up to 4 custom boards per user
- Task Organization: Add, edit, complete, and track tasks with due dates and notes
- Task Limitations: Maximum 10 active tasks per board to maintain focus
- Responsive Design: Clean, user-friendly web interface
- Data Persistence: PostgreSQL database with comprehensive logging
- Backend: Python, Flask
- Database: PostgreSQL
- Authentication: Session-based with Werkzeug password hashing
- Deployment: Gunicorn WSGI server
- Environment: python-dotenv for configuration
- Clone the repository:
git clone https://github.com/fizzy2562/TSKMNGR.git
cd TSKMNGR- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
Create a
.envfile with:
SECRET_KEY=your_secret_key_here
DATABASE_URL=your_postgresql_connection_string
- Initialize the database:
python database.py- Run the application:
python app.py- Register/Login: Create an account or sign in
- Create Boards: Add up to 4 boards to organize different areas of work
- Add Tasks: Create tasks with titles, due dates, and detailed notes
- Track Progress: Mark tasks complete and monitor your productivity
- Manage Workflow: Edit, complete, or remove tasks as needed
This project now ships with a Model Context Protocol (MCP) server that reuses the core database and archiving logic so you can manage tasks from an MCP-compatible client (e.g. Claude Desktop).
- Create a virtual environment and install dependencies:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt - Export the usual environment variables (
DATABASE_URL, optionalSECRET_KEY). - Launch the server with your preferred transport (stdio works best for Claude Code MCP):
Pass
python -m mcp_server.tsk_mcp_server --transport stdio
--transport sse --host 0.0.0.0 --port 8765to expose an HTTP/SSE endpoint instead. - Connect from your MCP client and call the available tools:
login(username, password)– authenticate and persist the sessioncurrent_user()/logout()– inspect or clear the active sessionlist_boards()– view boards with active/completed countscreate_board(name)/delete_board(board_id)/update_board_name(board_id, name)– manage board lifecycleget_board_stats(board_id)– inspect aggregate metrics for a boardlist_tasks(board_id, include_completed=True)– fetch tasks for a boardadd_task(board_id, task, due_date, notes=None)– create a task (YYYY-MM-DD dates)update_task(task_id, new_task=None, new_due_date=None, new_notes=None)– edit core task fieldsdelete_task(task_id)– remove a task outrightcomplete_task(board_id, task_id)/bulk_complete_tasks(board_id, task_ids)– finish tasks and trigger archiving if neededbulk_delete_tasks(board_id, task_ids)– delete many tasks at oncereorder_tasks(board_id, ordered_task_ids, section="active")– control task ordering per columnmove_task_between_boards(task_id, target_board_id)– relocate work between boardsrestore_archived_task(archived_task_id)– bring archived tasks back as active worklist_archived_tasks(limit=20, offset=0)– page through archived workgenerate_board_screenshot(board_id)– get an ASCII snapshot of the boardexport_board_data(board_id)– download JSON/CSV exports for sharinggenerate_board_summary(board_id)– produce a human-readable status recap
The MCP server enforces the same board/task limits as the Flask app and surfaces informative errors when limits are hit.
- Users: User accounts with authentication
- Boards: Organizational containers (max 4 per user)
- Tasks: Individual task items (max 10 active per board)
/- Home/Dashboard/login- User authentication/register- Account creation/dashboard- Main task management interface/add_board- Create new board/add_task- Add new task/complete_task- Mark task as complete
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
Open source project - feel free to use and modify as needed.

