Skip to main content
Glama

Personnel Data MCP Server

models.py11.7 kB
# generated by fastapi-codegen: # filename: openapi.yaml # timestamp: 2025-06-29T08:30:02+00:00 from __future__ import annotations from datetime import date as date_aliased from enum import Enum from typing import Any, Dict, List, Optional from pydantic import BaseModel, Field, RootModel, constr class Attributes(BaseModel): entitlement: Optional[float] = None id: Optional[int] = None name: Optional[str] = None class Type(Enum): TimeOffType = 'TimeOffType' class ValueItem(BaseModel): attributes: Optional[Attributes] = None type: Optional[Type] = None class AbsenceEntitlement(BaseModel): label: str value: List[ValueItem] class AbsencePeriodResponse(BaseModel): pass class Certificate(BaseModel): status: Optional[str] = None class Attribute1(BaseModel): email: Optional[str] = None first_name: Optional[str] = None id: Optional[int] = None last_name: Optional[str] = None class Employee(BaseModel): attributes: Optional[List[Attribute1]] = None type: Optional[str] = None class Attribute2(BaseModel): id: Optional[int] = None name: Optional[str] = None class TimeOffType(BaseModel): attributes: Optional[List[Attribute2]] = None type: Optional[str] = None class Attribute(BaseModel): certificate: Optional[Certificate] = None created_at: Optional[str] = None days_count: Optional[float] = None employee: Optional[Employee] = None end_date: Optional[str] = None half_day_end: Optional[float] = None half_day_start: Optional[float] = None id: Optional[int] = None start_date: Optional[str] = None status: Optional[str] = None time_off_type: Optional[TimeOffType] = None class Data(BaseModel): attributes: List[Attribute] type: str class Attribute3(BaseModel): break_: int = Field(..., alias='break') comment: str date: date_aliased employee: int end_time: constr(pattern=r'^\d\d:\d\d$') is_holiday: bool is_on_time_off: bool start_time: constr(pattern=r'^\d\d:\d\d$') class Datum(BaseModel): attributes: List[Attribute3] id: int type: str class Attribute4(BaseModel): label: str value: Dict[str, Any] class Attribute5(BaseModel): id: Optional[float] = None name: Optional[str] = None percentage: Optional[float] = None class ValueItem1(BaseModel): attributes: Optional[List[Attribute5]] = None type: Optional[str] = None class CostCenters(Attribute4): value: Optional[List[ValueItem1]] = None class CreateTimeOffPeriodRequest(BaseModel): comment: Optional[str] = Field(None, description='Optional comment') employee_id: int = Field(..., description='Employee identifier') end_date: date_aliased = Field(..., description='Absence end date as YYYY-MM-DD') half_day_end: bool = Field( ..., description='Weather the end date is a half-day off' ) half_day_start: bool = Field( ..., description='Weather the start date is a half-day off' ) start_date: date_aliased = Field( ..., description='Absence start date as YYYY-MM-DD' ) time_off_type_id: int = Field(..., description='Time-off type identifier') class Attribute6(BaseModel): email: Optional[str] = None first_name: Optional[str] = None id: Optional[int] = None last_name: Optional[str] = None class Employee1(BaseModel): attributes: Optional[List[Attribute6]] = None type: Optional[str] = None class Attribute7(BaseModel): id: Optional[int] = None name: Optional[str] = None class TimeOffType1(BaseModel): attributes: Optional[List[Attribute7]] = None type: Optional[str] = None class Attributes1(BaseModel): certificate: Optional[Certificate] = None created_at: Optional[str] = None days_count: Optional[float] = None employee: Optional[Employee1] = None end_date: Optional[str] = None half_day_end: Optional[float] = None half_day_start: Optional[float] = None id: Optional[int] = None start_date: Optional[str] = None status: Optional[str] = None time_off_type: Optional[TimeOffType1] = None class Type1(Enum): TimeOffPeriod = 'TimeOffPeriod' class Data1(BaseModel): attributes: Optional[Attributes1] = None type: Optional[Type1] = Field(None, description='Time-off period resource name') class Attributes2(BaseModel): name: Optional[str] = None class Value(BaseModel): attributes: Optional[Attributes2] = None type: Optional[str] = None class Department(Attribute4): value: Optional[Value] = None class DetailedMessageItem(BaseModel): break_: Optional[int] = Field(None, alias='break') comment: Optional[str] = None date: Optional[str] = None employee: Optional[int] = None end_time: Optional[str] = None error_msg: Optional[str] = None id: Optional[int] = None start_time: Optional[str] = None success: Optional[bool] = None class Error(BaseModel): code: Optional[int] = None detailed_message: Optional[List[DetailedMessageItem]] = None message: Optional[str] = None class DetailedErrorResponse(BaseModel): error: Error success: bool class Error1(BaseModel): code: Optional[int] = None message: Optional[str] = None class ErrorResponse(BaseModel): error: Error1 success: bool class Attributes3(BaseModel): country: Optional[str] = None id: Optional[float] = None name: Optional[str] = None state: Optional[str] = None class Value1(BaseModel): attributes: Optional[Attributes3] = None type: Optional[str] = None class HolidayCalendar(Attribute4): value: Optional[Value1] = None class Attendance(BaseModel): break_: int = Field(..., alias='break', description='Break in minutes') comment: str = Field(..., description='Optional comment') date: date_aliased = Field(..., description='Attendance date as YYYY-MM-DD') employee: int = Field(..., description='Employee identifier') end_time: constr(pattern=r'^\d\d:\d\d$') = Field( ..., description='End time as HH:MM' ) start_time: constr(pattern=r'^\d\d:\d\d$') = Field( ..., description='Start time as HH:MM' ) class NewAttendancePeriodRequest(BaseModel): attendances: Optional[List[Attendance]] = None class Data2(BaseModel): id: Optional[List[int]] = None message: Optional[str] = None class Attributes4(BaseModel): name: Optional[str] = None class Value2(BaseModel): attributes: Optional[Attributes4] = None type: Optional[str] = None class Office(Attribute4): value: Optional[Value2] = None class Response(BaseModel): data: Dict[str, Any] success: bool class Type2(Enum): TimeOffType = 'TimeOffType' class TimeOffTypeResource(BaseModel): attributes: Optional[Attributes4] = None id: Optional[int] = Field(None, description='identifier') type: Optional[Type2] = Field(None, description='Time-off type resource name') class UpdateAttendancePeriodRequest(BaseModel): break_: Optional[int] = Field(None, alias='break', description='Break in minutes') comment: Optional[str] = Field(None, description='Optional comment') date: Optional[date_aliased] = Field( None, description='Attendance date as YYYY-MM-DD' ) end_time: Optional[constr(pattern=r'^\d\d:\d\d$')] = Field( None, description='End time as HH:MM' ) start_time: Optional[constr(pattern=r'^\d\d:\d\d$')] = Field( None, description='Start time as HH:MM' ) class Attributes6(BaseModel): friday: Optional[constr(pattern=r'^\d\d:\d\d$')] = None id: Optional[float] = None monday: Optional[constr(pattern=r'^\d\d:\d\d$')] = None name: Optional[str] = None saturday: Optional[constr(pattern=r'^\d\d:\d\d$')] = None sunday: Optional[constr(pattern=r'^\d\d:\d\d$')] = None thursday: Optional[constr(pattern=r'^\d\d:\d\d$')] = None tuesday: Optional[constr(pattern=r'^\d\d:\d\d$')] = None wednesday: Optional[constr(pattern=r'^\d\d:\d\d$')] = None class Value3(BaseModel): attributes: Optional[Attributes6] = None type: Optional[str] = None class WorkSchedule(Attribute4): value: Optional[Value3] = None class Employees(RootModel[List[int]]): root: List[int] class EmployeeGender(Enum): male = 'male' female = 'female' diverse = 'diverse' class CompanyEmployeesPostRequest(BaseModel): employee_department_: Optional[str] = Field( None, alias='employee[department]', description='Employee department' ) employee_email_: str = Field( ..., alias='employee[email]', description='Employee email' ) employee_first_name_: str = Field( ..., alias='employee[first_name]', description='Employee first name' ) employee_gender_: Optional[EmployeeGender] = Field( None, alias='employee[gender]', description='Employee gender' ) employee_hire_date_: Optional[date_aliased] = Field( None, alias='employee[hire_date]', description='Employee hire date' ) employee_last_name_: str = Field( ..., alias='employee[last_name]', description='Employee last name' ) employee_position_: Optional[str] = Field( None, alias='employee[position]', description='Employee position' ) employee_weekly_hours_: Optional[float] = Field( None, alias='employee[weekly_hours]', description='Employee weekly working hours', ) CompanyEmployeesPostResponse = Response class CompanyTimeOffTypesGetResponse(BaseModel): data: Optional[List[TimeOffTypeResource]] = None success: Optional[bool] = None class AbsencePeriodsResponse(Response): data: Optional[Data] = None class AttendancePeriodsResponse(Response): data: Optional[List[Datum]] = None limit: Optional[int] = None offset: Optional[int] = None class CreateTimeOffPeriodResponse(Response): data: Optional[Data1] = None class NewAttendancePeriodResponse(Response): data: Optional[Data2] = None class CompanyTimeOffsPostResponse(BaseModel): data: Optional[CreateTimeOffPeriodResponse] = None class Attribute8(BaseModel): absence_entitlement: Optional[AbsenceEntitlement] = None contract_end_date: Optional[Attribute4] = None cost_centers: Optional[CostCenters] = None created_at: Optional[Attribute4] = None department: Optional[Department] = None email: Optional[Attribute4] = None employment_type: Optional[Attribute4] = None first_name: Optional[Attribute4] = None fix_salary: Optional[Attribute4] = None gender: Optional[Attribute4] = None hire_date: Optional[Attribute4] = None holiday_calendar: Optional[HolidayCalendar] = None hourly_salary: Optional[Attribute4] = None id: Optional[Attribute4] = None last_name: Optional[Attribute4] = None office: Optional[Office] = None position: Optional[Attribute4] = None probation_period_end: Optional[Attribute4] = None status: Optional[Attribute4] = None supervisor: Optional[Supervisor] = None termination_date: Optional[Attribute4] = None termination_reason: Optional[Attribute4] = None termination_type: Optional[Attribute4] = None vacation_day_balance: Optional[Attribute4] = None weekly_working_hours: Optional[Attribute4] = None work_schedule: Optional[WorkSchedule] = None class Employee2(BaseModel): attributes: List[Attribute8] type: str class EmployeeResponse(Response): data: Optional[Employee2] = None class EmployeesResponse(Response): data: Optional[List[Employee2]] = None class Supervisor(Attribute4): value: Optional[Employee2] = None Attribute8.model_rebuild()

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/ag2-mcp-servers/personnel-data'

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