Attendance Management MCP Server
This is a Model Context Protocol (MCP) server for attendance information queries and form applications. It provides tools and resources for managing employee attendance, leave requests, overtime requests, and schedules.
Features
- Employee information management
- Attendance record tracking
- Leave request management
- Overtime request management
- Schedule management
- Statistics and reports
Prerequisites
- Python 3.10 or higher
- Neon PostgreSQL database
Installation
- Clone this repository:
git clone https://github.com/yourusername/attendance-mcp-server.git
cd attendance-mcp-server
- Set up a virtual environment and install the required dependencies:
- Configure the database connection by creating a
.env
file with the following content:DB_HOST=db.weathered-shadow-70756968.us-east-2.aws.neon.tech
DB_NAME=shinedb
DB_USER=shine_user
DB_PASSWORD=Shine@123456#!
DB_PORT=5432
Running the Server
You can run the server using the wrapper script:
Or activate the virtual environment and use the MCP CLI:
source .venv/bin/activate
mcp run attendance_mcp_server.py
Using with Claude Desktop
To use this server with Claude Desktop:
- Install Claude Desktop from claude.ai/download
- Run the installation script to configure Claude Desktop:
python install_claude_desktop.py
- Restart Claude Desktop
Troubleshooting
If you encounter the "No module named 'mcp'" error:
- Make sure the MCP package is installed in the Python environment that Claude Desktop is using:
./install_dependencies.sh
- Check the Claude Desktop logs for more information:
- On macOS:
~/Library/Logs/Claude/mcp*.log
- On Windows:
%APPDATA%\Claude\Logs\mcp*.log
- If the issue persists, try running the MCP server manually to see if there are any errors:
get_employee_info
: Get employee information by ID or employee numberlist_employees
: List employees with optional filteringlist_departments
: List all departments
Attendance Records
get_attendance_records
: Get attendance records with optional filteringsubmit_attendance_record
: Submit a new attendance record or update an existing one
Leave Management
get_leave_requests
: Get leave requests with optional filteringsubmit_leave_request
: Submit a new leave requestapprove_leave_request
: Approve or reject a leave request
Overtime Management
get_overtime_requests
: Get overtime requests with optional filteringsubmit_overtime_request
: Submit a new overtime requestapprove_overtime_request
: Approve or reject an overtime request
Schedule Management
get_employee_schedule
: Get employee schedule with optional filteringlist_shifts
: List all available shiftsassign_schedule
: Assign a schedule to an employee
Statistics and Reports
get_monthly_attendance_stats
: Get monthly attendance statisticsget_holidays
: Get holidays with optional filtering
Available Resources
employee://{employee_id}
: Get employee information as a resourcedepartment://{department_id}
: Get department information as a resourceattendance://{employee_id}/{date}
: Get attendance information for a specific employee and date
Available Prompts
request_leave
: Create a leave request promptrequest_overtime
: Create an overtime request promptcheck_attendance
: Create an attendance check prompt
License
MIT