Printable Calendar Maker
Make a printable calendar as a print-ready vector PDF without leaving the chat.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"printable-calendar": {
"url": "https://printable-calendar.zovo.one/mcp"
}
}
}リモートエンドポイント
https://printable-calendar.zovo.one/mcpstreamable-httpできること
ツール一覧
ツール(2)
🟢generate_calendar(layout, year, start_month, month, start, ...)
Use this when the user wants a printable calendar ("printable calendar", "2027 calendar printable", "monthly calendar template", "yearly calendar", "wall calendar", "school year calendar", "calendar with holidays") as a PDF. Builds a year on one page, a 12-month wall calendar with cover, a single month, or a month range up to 24 months, with public holidays for a country and state, custom birthdays and events, Monday or Sunday weeks, ISO week numbers, notes lines, paper size, language and an accent colour. Returns a preview and a PDF download link. Does not add events to Google, Outlook or Apple calendars, does not schedule meetings, and does not draw lunar, Hijri or Hebrew calendars.
入力スキーマ
{
"type": "object",
"properties": {
"layout": {
"type": "string",
"maxLength": 30,
"enum": [
"year",
"wall",
"month",
"range"
],
"description": "year = whole year on one page; wall = 12-month wall calendar, a cover plus one month per page; month = one month on one page; range = one page per month from start to end (e.g. a school year). Example: wall"
},
"year": {
"description": "Year for layout year or wall, e.g. 2027. Default: next year from October on, otherwise this year.",
"type": "integer",
"minimum": 1950,
"maximum": 2200
},
"start_month": {
"description": "First month (1-12) for a 12-month year or wall calendar; 8 makes an August-to-July academic calendar. Default 1.",
"type": "integer",
"minimum": 1,
"maximum": 12
},
"month": {
"description": "For layout month: the month as YYYY-MM, e.g. 2027-03.",
"type": "string",
"maxLength": 20
},
"start": {
"description": "For layout range: first month as YYYY-MM, e.g. 2026-08.",
"type": "string",
"maxLength": 20
},
"end": {
"description": "For layout range: last month as YYYY-MM (at most 24 months after start), e.g. 2027-06.",
"type": "string",
"maxLength": 20
},
"country": {
"description": "Country for public holidays: ISO two-letter code or name, e.g. US, GB, DE, PL, FR, JP, BR, AU, CA. Omit for a calendar without holidays.",
"type": "string",
"maxLength": 60
},
"subdivision": {
"description": "Optional state, province or region for local holidays, e.g. TX or CA (US), BY (Bavaria, DE), SCT (Scotland), NSW (AU), ON (CA).",
"type": "string",
"maxLength": 60
},
"include_observances": {
"description": "Also show observances, bank and optional days (e.g. Mother's Day, Valentine's Day, Christmas Eve). Default false: public holidays only.",
"type": "boolean"
},
"holidays": {
"description": "Show public holidays when a country is given. Default true; false hides them.",
"type": "boolean"
},
"week_start": {
"description": "First day of each week row. Default: the country's custom (Sunday for US, CA, BR, JP...; Monday for most of Europe); without a country, Sunday for English, Monday otherwise. Example: monday",
"type": "string",
"maxLength": 30,
"enum": [
"monday",
"sunday"
]
},
"week_numbers": {
"description": "Print ISO 8601 week numbers beside each week row. Default false. Example: true",
"type": "boolean"
},
"notes": {
"description": "Add a ruled notes area under each month page (not on the one-page year). Default false.",
"type": "boolean"
},
"paper": {
"description": "Paper size: letter (8.5x11 in), a4, a3 or tabloid (11x17 in). Default letter for US/Canada/Mexico, a4 for other countries.",
"type": "string",
"maxLength": 30,
"enum": [
"letter",
"a4",
"a3",
"tabloid"
]
},
"orientation": {
"description": "Page orientation. Default landscape. Example: portrait",
"type": "string",
"maxLength": 30,
"enum": [
"landscape",
"portrait"
]
},
"language": {
"description": "Language for month and weekday names: en (default), pl, de, es, fr, it, pt, nl or ja. Holiday names use this language when the country's data has it, else English. Example: de",
"type": "string",
"maxLength": 20
},
"accent": {
"description": "One accent colour for headings and holiday marks: a hex code like #0F766E or a name (indigo, blue, navy, teal, green, olive, red, crimson, pink, purple, orange, amber, brown, slate, gray, black). Default indigo.",
"type": "string",
"maxLength": 20
},
"title": {
"description": "Optional title printed on the calendar, e.g. \"Kowalski Family 2027\". Default: the year or month.",
"type": "string",
"maxLength": 80
},
"events": {
"description": "Custom events and birthdays (up to 60). Example: [{\"date\":\"03-04\",\"title\":\"Mom's birthday\"},{\"date\":\"2027-06-12\",\"title\":\"Wedding\"}]",
"maxItems": 60,
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"maxLength": 30,
"description": "MM-DD for every year (a birthday, e.g. 03-04) or YYYY-MM-DD for one date (e.g. 2027-05-14). \"Mar 4\" also works."
},
"title": {
"type": "string",
"maxLength": 60,
"description": "Short label drawn in the day cell, e.g. Mom's birthday."
}
},
"required": [
"date",
"title"
]
}
},
"bleed": {
"description": "Add a 0.125 in print bleed with trim marks in the PDF boxes, for professional printing. Default false.",
"type": "boolean"
}
},
"required": [
"layout"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"layout": {
"type": "string"
},
"title": {
"type": "string"
},
"period": {
"type": "string"
},
"months": {
"type": "array",
"items": {
"type": "object",
"properties": {
"y": {
"type": "number"
},
"m": {
"type": "number"
}
},
"required": [
"y",
"m"
],
"additionalProperties": false
}
},
"week_start": {
"type": "string"
},
"week_numbers": {
"type": "boolean"
},
"notes_area": {
"type": "boolean"
},
"paper": {
"type": "string"
},
"orientation": {
"type": "string"
},
"language": {
"type": "string"
},
"accent": {
"type": "string"
},
"region": {
"anyOf": [
{
"type": "object",
"properties": {
"country": {
"type": "string"
},
"country_name": {
"type": "string"
},
"subdivision": {
"type": [
"string",
"null"
]
},
"subdivision_name": {
"type": [
"string",
"null"
]
},
"label": {
"type": "string"
}
},
"required": [
"country",
"country_name",
"subdivision",
"subdivision_name",
"label"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"holidays_shown": {
"type": "boolean"
},
"include_observances": {
"type": "boolean"
},
"holidays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"date",
"name",
"type"
],
"additionalProperties": false
}
},
"holiday_count": {
"type": "number"
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"date",
"title"
],
"additionalProperties": false
}
},
"event_count": {
"type": "number"
},
"pages": {
"type": "array",
"items": {
"type": "string"
}
},
"page_count": {
"type": "number"
},
"names": {
"type": "object",
"properties": {
"months": {
"type": "array",
"items": {
"type": "string"
}
},
"weekdays": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"months",
"weekdays"
],
"additionalProperties": false
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"inputs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"downloads": {
"type": "object",
"properties": {
"pdf": {
"type": "string"
}
},
"required": [
"pdf"
],
"additionalProperties": false
}
},
"required": [
"kind",
"layout",
"title",
"period",
"months",
"week_start",
"week_numbers",
"notes_area",
"paper",
"orientation",
"language",
"accent",
"region",
"holidays_shown",
"include_observances",
"holidays",
"holiday_count",
"events",
"event_count",
"pages",
"page_count",
"names",
"notes",
"inputs",
"downloads"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢find_holidays(country, subdivision, include_observances, year, language)
Use this when the user wants the list of public holidays for a country (and optionally a state or region) in a year, for example to check what a printed calendar will mark ("bank holidays 2027 UK", "Texas holidays 2027", "Feiertage Bayern 2027"). Returns each holiday with its date, weekday and type, including observed weekdays when a holiday falls on a weekend; observances are optional. Does not count business days between dates, and does not cover school terms or religious calendars outside the holiday data.
入力スキーマ
{
"type": "object",
"properties": {
"country": {
"type": "string",
"maxLength": 60,
"description": "Country: ISO two-letter code or name, e.g. US, GB, DE, PL, FR, JP, BR, AU, CA."
},
"subdivision": {
"description": "Optional state, province or region for local holidays, e.g. TX or CA (US), BY (Bavaria, DE), SCT (Scotland), NSW (AU), ON (CA).",
"type": "string",
"maxLength": 60
},
"include_observances": {
"description": "Also show observances, bank and optional days (e.g. Mother's Day, Valentine's Day, Christmas Eve). Default false: public holidays only.",
"type": "boolean"
},
"year": {
"description": "Year, e.g. 2027. Default: next year from October on, otherwise this year.",
"type": "integer",
"minimum": 1950,
"maximum": 2200
},
"language": {
"description": "Language for month and weekday names: en (default), pl, de, es, fr, it, pt, nl or ja. Holiday names use this language when the country's data has it, else English. Example: de",
"type": "string",
"maxLength": 20
}
},
"required": [
"country"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"year": {
"type": "number"
},
"region": {
"anyOf": [
{
"type": "object",
"properties": {
"country": {
"type": "string"
},
"country_name": {
"type": "string"
},
"subdivision": {
"type": [
"string",
"null"
]
},
"subdivision_name": {
"type": [
"string",
"null"
]
},
"label": {
"type": "string"
}
},
"required": [
"country",
"country_name",
"subdivision",
"subdivision_name",
"label"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"include_observances": {
"type": "boolean"
},
"count": {
"type": "number"
},
"public_count": {
"type": "number"
},
"on_weekdays": {
"type": "number"
},
"holidays": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"weekday": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"date",
"weekday",
"name",
"type"
],
"additionalProperties": false
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"inputs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"kind",
"year",
"region",
"include_observances",
"count",
"public_count",
"on_weekdays",
"holidays",
"notes",
"inputs"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}コミュニティ
エビデンス