Skip to main content
Glama
lis186

Taiwan Holiday MCP Server

by lis186

check_holiday

Determine if a specific date is a holiday in Taiwan by entering the date in YYYY-MM-DD or YYYYMMDD format.

Instructions

檢查指定日期是否為台灣假期

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateYes要查詢的日期,支援格式:YYYY-MM-DD 或 YYYYMMDD

Implementation Reference

  • src/server.ts:75-91 (registration)
    Registration of the 'check_holiday' tool including its name, description, and input schema in the ListToolsRequestSchema handler.
    { name: 'check_holiday', description: '檢查指定日期是否為台灣假期', inputSchema: { type: 'object', properties: { date: { type: 'string', description: '要查詢的日期,支援格式:YYYY-MM-DD 或 YYYYMMDD', pattern: '^(\\d{4}-\\d{2}-\\d{2}|\\d{8})$' } }, required: ['date'], additionalProperties: false, }, } as Tool, {
  • The main handler function for the 'check_holiday' tool, which extracts the date argument, calls the HolidayService, and formats the response.
    private async handleCheckHoliday(args: any) { const { date } = args; if (!date || typeof date !== 'string') { throw new Error('缺少必要參數:date'); } const holiday = await this.holidayService.checkHoliday(date); return { content: [ { type: 'text', text: JSON.stringify({ success: true, data: { date: date, isHoliday: holiday?.isHoliday || false, description: holiday?.description || '一般工作日', week: holiday?.week || '', normalizedDate: holiday?.date || '' }, timestamp: new Date().toISOString(), tool: 'check_holiday' }, null, 2), }, ], }; }
  • Core logic implementation in HolidayService that parses the date, fetches holidays for the year (using cache), and checks if the date matches any holiday.
    async checkHoliday(dateString: string): Promise<Holiday | null> { try { const parsedDate = parseDate(dateString); const holidays = await this.getHolidaysForYear(parsedDate.year); return holidays.find(holiday => holiday.date === parsedDate.normalized) || null; } catch (error) { if (error instanceof DateParseError) { throw new HolidayServiceError( `日期解析錯誤: ${error.message}`, error.type, error ); } throw error; } }
  • src/server.ts:145-147 (registration)
    Registration of the tool handler in the switch statement of CallToolRequestSchema.
    case 'check_holiday': return await this.handleCheckHoliday(args);

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