Skip to main content
Glama
lis186

Taiwan Holiday MCP Server

by lis186
types.ts4.4 kB
/** * 台灣行政機關辦公日曆 MCP 伺服器核心型別定義 * * 此檔案定義了與 TaiwanCalendar 資料格式一致的型別, * 以及 MCP 工具回傳格式和錯誤處理相關型別。 */ /** * 假日資料介面 - 與 TaiwanCalendar 格式一致 * * 資料來源格式範例: * { * "date": "20240101", * "week": "一", * "isHoliday": true, * "description": "開國紀念日" * } */ export interface Holiday { /** 日期,格式為 YYYYMMDD */ date: string; /** 星期幾,中文表示(一、二、三、四、五、六、日) */ week: string; /** 是否為假日 */ isHoliday: boolean; /** 假日說明,如果不是假日則為空字串 */ description: string; } /** * 假日統計資料介面 */ export interface HolidayStats { /** 年份 */ year: number; /** 總假日天數 */ totalHolidays: number; /** 國定假日天數 */ nationalHolidays: number; /** 補假天數 */ compensatoryDays: number; /** 調整放假天數 */ adjustedHolidays: number; /** 補班天數 */ workingDays: number; /** 假日類型分布 */ holidayTypes: Record<string, number>; } /** * 日期格式驗證型別 */ export type DateFormat = 'YYYYMMDD' | 'YYYY-MM-DD' | 'YYYY/MM/DD'; /** * 年份範圍型別 */ export type YearRange = { start: number; end: number; }; /** * 查詢參數介面 */ export interface QueryParams { /** 年份 */ year?: number; /** 月份 (1-12) */ month?: number; /** 日期 (1-31) */ day?: number; /** 是否只查詢假日 */ holidaysOnly?: boolean; /** 日期格式 */ dateFormat?: DateFormat; } /** * MCP 工具回傳結果基礎介面 */ export interface MCPToolResult<T = any> { /** 是否成功 */ success: boolean; /** 回傳資料 */ data?: T; /** 錯誤訊息 */ error?: string; /** 額外的中繼資料 */ metadata?: Record<string, any>; } /** * 假日查詢結果介面 */ export interface HolidayQueryResult extends MCPToolResult<Holiday[]> { /** 查詢的年份 */ year: number; /** 查詢的月份(可選) */ month?: number; /** 總筆數 */ totalCount: number; /** 假日筆數 */ holidayCount: number; } /** * 假日統計查詢結果介面 */ export interface HolidayStatsResult extends MCPToolResult<HolidayStats> { /** 統計的年份 */ year: number; } /** * 錯誤型別列舉 */ export enum ErrorType { /** 無效的年份 */ INVALID_YEAR = 'INVALID_YEAR', /** 無效的月份 */ INVALID_MONTH = 'INVALID_MONTH', /** 無效的日期 */ INVALID_DATE = 'INVALID_DATE', /** 無效的日期格式 */ INVALID_DATE_FORMAT = 'INVALID_DATE_FORMAT', /** 資料不存在 */ DATA_NOT_FOUND = 'DATA_NOT_FOUND', /** 網路錯誤 */ NETWORK_ERROR = 'NETWORK_ERROR', /** 解析錯誤 */ PARSE_ERROR = 'PARSE_ERROR', /** API 錯誤 */ API_ERROR = 'API_ERROR', /** 超時錯誤 */ TIMEOUT_ERROR = 'TIMEOUT_ERROR', /** 驗證錯誤 */ VALIDATION_ERROR = 'VALIDATION_ERROR', /** 系統錯誤 */ SYSTEM_ERROR = 'SYSTEM_ERROR', /** 未知錯誤 */ UNKNOWN_ERROR = 'UNKNOWN_ERROR' } /** * 錯誤詳情介面 */ export interface ErrorDetail { /** 錯誤型別 */ type: ErrorType; /** 錯誤訊息 */ message: string; /** 錯誤代碼 */ code?: string; /** 額外的錯誤資訊 */ details?: Record<string, any>; } /** * MCP 工具錯誤介面 */ export interface MCPToolError { /** 錯誤詳情 */ error: ErrorDetail; /** 時間戳記 */ timestamp: string; /** 請求 ID(用於追蹤) */ requestId?: string; } /** * 支援的年份範圍常數 */ export const SUPPORTED_YEAR_RANGE: YearRange = { start: 2017, end: 2026 }; /** * 預設日期格式 */ export const DEFAULT_DATE_FORMAT: DateFormat = 'YYYYMMDD'; /** * 星期對應表 */ export const WEEK_MAPPING: Record<string, number> = { '日': 0, '一': 1, '二': 2, '三': 3, '四': 4, '五': 5, '六': 6 }; /** * 常見假日類型 */ export const HOLIDAY_TYPES = { NATIONAL: '國定假日', COMPENSATORY: '補假', ADJUSTED: '調整放假', WORKING: '補行上班', LUNAR_NEW_YEAR: '春節', TOMB_SWEEPING: '清明節', DRAGON_BOAT: '端午節', MID_AUTUMN: '中秋節', NATIONAL_DAY: '國慶日' } as const; /** * 假日類型型別 */ export type HolidayType = typeof HOLIDAY_TYPES[keyof typeof HOLIDAY_TYPES];

Latest Blog Posts

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/lis186/taiwan-holiday-mcp'

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