カナダ祝日API MCPサーバー
中級
これはEngineering, AI RAG分野の自動化ワークフローで、15個のノードを含みます。主にHttpRequestTool, McpTriggerなどのノードを使用。 AI エージェントをカナダの休日 API に接続し、6 つの州と休日の運用をサポート
前提条件
- •ターゲットAPIの認証情報が必要な場合あり
使用ノード (15)
カテゴリー
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "yP9uGLQmy5COX7bz",
"meta": null,
"name": "Canada Holidays API MCP Server",
"tags": [],
"nodes": [
{
"id": "26a8df5c-db6d-43cd-94bd-9810f78f5a92",
"name": "セットアップ手順",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1380,
-240
],
"parameters": {
"color": 4,
"height": 1060,
"content": "### ⚙️ Setup Instructions\n\n1. **Import Workflow**: \nLoad this workflow into your n8n instance\n\n2. **Authentication**: \nNo authentication required\n\n3. **Activate Workflow**:\nEnable the workflow to start the MCP server\n\n4. **Get MCP URL**: \nCopy the webhook URL from the MCP trigger\n\n5. **Connect AI Agent**:\nUse the MCP URL in your AI agent configuration\n\n\n### 💡 Usage Notes\n• Parameters are auto-populated by AI using $fromAI() expressions\n• With 6 API endpoints available as tools\n• Responses maintain original API structure\n\n\n### 🛠️ Customization\n• Add data transformation nodes if needed\n• Implement custom error handling\n• Add logging or monitoring nodes\n\n• Modify parameter defaults in any HTTP request node as needed\n\n### 💬 Need Help?\nPing me on [discord](https://discord.me/cfomodz) for integration guidance and custom automations. Check the [n8n documentation](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/) for more information."
},
"typeVersion": 1
},
{
"id": "1ff9f466-d977-439d-9038-dcc022355864",
"name": "ワークフロー概要",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1120,
-240
],
"parameters": {
"width": 420,
"height": 920,
"content": "## 🛠️ Canada Holidays MCP Server ✅ 6 operations\n\n### About\nThis API lists all 31 public holidays for all 13 provinces and territories in Canada, including federal holidays.\n\n### 🔧 How it Works\n\nThis workflow converts the Canada Holidays API into an MCP-compatible interface for AI agents.\n\n• **MCP Trigger**: Serves as your server endpoint for AI agent requests\n• **HTTP Request Nodes**: Handle API calls to https://canada-holidays.ca\n• **AI Expressions**: Automatically populate parameters via `$fromAI()` placeholders\n• **Native Integration**: Returns responses directly to the AI agent\n\n\n### 📋 Available Operations (6 endpoints)\n\n**Info (2 operations)**\nGet API Root, Get API Schema\n\n**Holidays (2 operations)**\nList All Holidays, Get Holiday by ID\n\n**Provinces (2 operations)**\nList All Provinces, Get Province by ID\n\n"
},
"typeVersion": 1
},
{
"id": "88d82a73-f595-4dfe-a3e1-345ab61d4f7f",
"name": "カナダ祝日MCPサーバー",
"type": "@n8n/n8n-nodes-langchain.mcpTrigger",
"position": [
-620,
-240
],
"webhookId": "42046709-1e8c-4dcc-8608-5f28f5a6bd25",
"parameters": {
"path": "canada-holidays-mcp"
},
"typeVersion": 1
},
{
"id": "6b54fafa-84dc-4c18-b64e-9d0ad3d78fb6",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
-100
],
"parameters": {
"color": 2,
"width": 500,
"height": 200,
"content": "## Info"
},
"typeVersion": 1
},
{
"id": "01bca653-9e1a-40e0-884c-6f322987a420",
"name": "Get API Root",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-520,
-60
],
"parameters": {
"url": "=https://canada-holidays.ca/api/v1",
"options": {},
"toolDescription": "Root"
},
"typeVersion": 4.2
},
{
"id": "b679949c-71f9-4c6c-9746-2a80b0d19651",
"name": "Get API Schema",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-320,
-60
],
"parameters": {
"url": "=https://canada-holidays.ca/api/v1/spec",
"options": {},
"toolDescription": "Get JSON schema"
},
"typeVersion": 4.2
},
{
"id": "bd922cde-17ae-4ed7-a408-d942c744ac96",
"name": "説明 - info",
"type": "n8n-nodes-base.stickyNote",
"position": [
-120,
-60
],
"parameters": {
"width": 500,
"height": 120,
"content": "## 📋 Info\n\nGet welcome message and links"
},
"typeVersion": 1
},
{
"id": "eecf420a-542e-400d-8ed7-ade3d47f2c7d",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
140
],
"parameters": {
"color": 3,
"width": 500,
"height": 200,
"content": "## Holidays"
},
"typeVersion": 1
},
{
"id": "84a77685-cb5e-4828-a1a8-a762ecf29481",
"name": "全ての祝日をリスト",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-520,
180
],
"parameters": {
"url": "=https://canada-holidays.ca/api/v1/holidays",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "year",
"value": "={{ $fromAI('year', 'A calendar year', 'number', 2023) }}"
},
{
"name": "federal",
"value": "={{ $fromAI('federal', 'A boolean parameter. If true or 1, will return only federal holidays. If false or 0, will return no federal holidays.', 'string') }}"
},
{
"name": "optional",
"value": "={{ $fromAI('optional', 'A boolean parameter. If false or 0 (default), will return only legislated holidays. If true or 1, will return optional holidays from Alberta and BC.', 'string', 'false') }}"
}
]
},
"toolDescription": "Get all holidays\n\nParameters:\n- Query parameters:\n • year (optional) - A calendar year\n • federal (optional) - A boolean parameter. If true or 1, will return only federal holidays. If false or 0, will return no federal holidays.\n • optional (optional) - A boolean parameter. If false or 0 (default), will return only legislated holidays. If true or 1, will return optional holidays from Alberta and BC."
},
"typeVersion": 4.2
},
{
"id": "12c8c861-1b3e-4094-a5e8-9ae1cc0279b3",
"name": "IDで祝日を取得",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-320,
180
],
"parameters": {
"url": "=https://canada-holidays.ca/api/v1/holidays/{{ $fromAI('holidayId', 'Primary key for a holiday', 'number') }}",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "year",
"value": "={{ $fromAI('year', 'A calendar year', 'number', 2023) }}"
},
{
"name": "optional",
"value": "={{ $fromAI('optional', 'A boolean parameter. If false or 0 (default), will return provinces for which this is a legislated holiday. If true or 1, will return provinces which optionally celebrate this holiday.', 'string', 'false') }}"
}
]
},
"toolDescription": "Get a holiday by id\n\nParameters:\n- Path parameters:\n • holidayId (required) - Primary key for a holiday\n- Query parameters:\n • year (optional) - A calendar year\n • optional (optional) - A boolean parameter. If false or 0 (default), will return provinces for which this is a legislated holiday. If true or 1, will return provinces which optionally celebrate this holiday."
},
"typeVersion": 4.2
},
{
"id": "ce0e58c1-04f3-4c9a-9240-4d22461087b3",
"name": "説明 - holidays",
"type": "n8n-nodes-base.stickyNote",
"position": [
-120,
180
],
"parameters": {
"width": 500,
"height": 120,
"content": "## 📋 Holidays\n\nGet holiday(s) with associated provinces"
},
"typeVersion": 1
},
{
"id": "c049349a-1c8c-4fb5-9f67-c150db9b4762",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-660,
380
],
"parameters": {
"color": 4,
"width": 500,
"height": 200,
"content": "## Provinces"
},
"typeVersion": 1
},
{
"id": "6c878999-dbb6-4c39-90da-b9884756757a",
"name": "全ての州をリスト",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-520,
420
],
"parameters": {
"url": "=https://canada-holidays.ca/api/v1/provinces",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "year",
"value": "={{ $fromAI('year', 'A calendar year', 'number', 2023) }}"
},
{
"name": "optional",
"value": "={{ $fromAI('optional', 'A boolean parameter. If false or 0 (default), will return only legislated holidays. If true or 1, will return optional holidays from Alberta and BC.', 'string', 'false') }}"
}
]
},
"toolDescription": "Get all provinces\n\nParameters:\n- Query parameters:\n • year (optional) - A calendar year\n • optional (optional) - A boolean parameter. If false or 0 (default), will return only legislated holidays. If true or 1, will return optional holidays from Alberta and BC."
},
"typeVersion": 4.2
},
{
"id": "a3ecbce6-be8c-405f-9002-8608968c456c",
"name": "IDで州を取得",
"type": "n8n-nodes-base.httpRequestTool",
"position": [
-320,
420
],
"parameters": {
"url": "=https://canada-holidays.ca/api/v1/provinces/{{ $fromAI('provinceId', 'A Canadian province abbreviation', 'string') }}",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "year",
"value": "={{ $fromAI('year', 'A calendar year', 'number', 2023) }}"
},
{
"name": "optional",
"value": "={{ $fromAI('optional', 'A boolean parameter (AB and BC only). If false or 0 (default), will return only legislated holidays. If true or 1, will return optional holidays from Alberta and BC.', 'string', 'false') }}"
}
]
},
"toolDescription": "Get a province or territory by abbreviation\n\nParameters:\n- Path parameters:\n • provinceId (required) - A Canadian province abbreviation\n- Query parameters:\n • year (optional) - A calendar year\n • optional (optional) - A boolean parameter (AB and BC only). If false or 0 (default), will return only legislated holidays. If true or 1, will return optional holidays from Alberta and BC."
},
"typeVersion": 4.2
},
{
"id": "46d3c8cc-f003-4fac-b200-377446393a7d",
"name": "説明 - provinces",
"type": "n8n-nodes-base.stickyNote",
"position": [
-120,
420
],
"parameters": {
"width": 500,
"height": 120,
"content": "## 📋 Provinces\n\nGet province(s) with associated holidays"
},
"typeVersion": 1
}
],
"active": false,
"shared": [
{
"role": "workflow:owner",
"project": {
"id": "G5fce9xGuBAsWBXe",
"icon": null,
"name": "David Ashby <david.ashby.lds@gmail.com>",
"type": "personal",
"createdAt": "2025-06-04T02:55:02.013Z",
"updatedAt": "2025-06-04T02:56:01.361Z",
"projectRelations": [
{
"role": "project:personalOwner",
"user": {
"id": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
"role": "global:owner",
"email": "david.ashby.lds@gmail.com",
"disabled": false,
"lastName": "Ashby",
"settings": {
"npsSurvey": {
"responded": true,
"lastShownAt": 1749357655581
},
"userActivated": true,
"userActivatedAt": 1749075994495,
"easyAIWorkflowOnboarded": true,
"firstSuccessfulWorkflowId": "3N3vVikZb3MckFYm"
},
"createdAt": "2025-06-04T02:55:01.745Z",
"firstName": "David",
"isPending": false,
"updatedAt": "2025-06-08T04:40:58.399Z",
"mfaEnabled": false,
"personalizationAnswers": {
"version": "v4",
"personalization_survey_n8n_version": "1.95.3",
"personalization_survey_submitted_at": "2025-06-04T02:56:07.075Z"
}
},
"userId": "715c1c00-cb48-4712-9a32-f1f4b6db2b30",
"createdAt": "2025-06-04T02:55:02.013Z",
"projectId": "G5fce9xGuBAsWBXe",
"updatedAt": "2025-06-04T02:55:02.013Z"
}
]
},
"createdAt": "2025-07-01T23:47:09.323Z",
"projectId": "G5fce9xGuBAsWBXe",
"updatedAt": "2025-07-01T23:47:09.323Z",
"workflowId": "yP9uGLQmy5COX7bz"
}
],
"pinData": {},
"settings": {
"timezone": "America/New_York"
},
"createdAt": "2025-07-01T23:47:09.319Z",
"updatedAt": "2025-07-01T23:47:50.000Z",
"versionId": "f0456ddc-0a71-4826-843a-962b06de880b",
"isArchived": false,
"staticData": null,
"connections": {
"01bca653-9e1a-40e0-884c-6f322987a420": {
"ai_tool": [
[
{
"node": "88d82a73-f595-4dfe-a3e1-345ab61d4f7f",
"type": "ai_tool",
"index": 0
}
]
]
},
"b679949c-71f9-4c6c-9746-2a80b0d19651": {
"ai_tool": [
[
{
"node": "88d82a73-f595-4dfe-a3e1-345ab61d4f7f",
"type": "ai_tool",
"index": 0
}
]
]
},
"12c8c861-1b3e-4094-a5e8-9ae1cc0279b3": {
"ai_tool": [
[
{
"node": "88d82a73-f595-4dfe-a3e1-345ab61d4f7f",
"type": "ai_tool",
"index": 0
}
]
]
},
"84a77685-cb5e-4828-a1a8-a762ecf29481": {
"ai_tool": [
[
{
"node": "88d82a73-f595-4dfe-a3e1-345ab61d4f7f",
"type": "ai_tool",
"index": 0
}
]
]
},
"a3ecbce6-be8c-405f-9002-8608968c456c": {
"ai_tool": [
[
{
"node": "88d82a73-f595-4dfe-a3e1-345ab61d4f7f",
"type": "ai_tool",
"index": 0
}
]
]
},
"6c878999-dbb6-4c39-90da-b9884756757a": {
"ai_tool": [
[
{
"node": "88d82a73-f595-4dfe-a3e1-345ab61d4f7f",
"type": "ai_tool",
"index": 0
}
]
]
}
},
"triggerCount": 0
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - エンジニアリング, AI RAG検索拡張
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
api.clarify.io MCPサーバー
Clarify APIとAIエージェント統合による音声・動画データ検索・分析
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
27 ノードDavid Ashby
エンジニアリング
大学フットボール データ API MCPサーバー
カレッジフットボール分析プラットフォームによる包括のデータAPIアクセス
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
83 ノードDavid Ashby
エンジニアリング
Lyft MCP サーバー
MCPを使用した完全なLyft API統合(16種の操作をサポート)
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
25 ノードDavid Ashby
エンジニアリング
[eBay] フィード API MCP サーバー
MCPサーバーに基づく、eBay Feed APIの完全統合(AIアジェント向け)
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
31 ノードDavid Ashby
エンジニアリング
[eBay] 商品订阅源サービスMCPサーバー
AIエージェント用eBay商品フィードサービスのAPIゲートウェイ
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
11 ノードDavid Ashby
エンジニアリング
アメリカ EPA 執行・コンプライアンス歴オンライン(ECHO)プレミアム版 - クリーン ウォーター法(CWA)Rest Services MCP サーバ
EPAクリーンウォーター法案データアクセスとコンプライアンス監視API統合
Http Request Tool
Mcp Trigger
Http Request Tool
Mcp Trigger
43 ノードDavid Ashby
エンジニアリング
ワークフロー情報
難易度
中級
ノード数15
カテゴリー2
ノードタイプ3
作成者
David Ashby
@cfomodzA hacker by nature, programmer by trade ⚒️ I'm looking to collaborate on things that save human labor 📫 How to reach me Github👇 -> Discord
外部リンク
n8n.ioで表示 →
このワークフローを共有