README Documentation
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:
./setup_venv.sh -
Configure the database connection by creating a
.envfile 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:
./run_mcp.sh
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
- On macOS:
-
If the issue persists, try running the MCP server manually to see if there are any errors:
./run_attendance_mcp.sh
Available Tools
Employee Information
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