Skip to main content

Build an MCP server with Google Calendar and custom functions

Workflow preview

Workflow preview
100%
Build an MCP server with Google Calendar and custom functions preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Learn how to build an MCP Server and Client in n8n with official nodes. Requires n8n version 1.88.0 or higher. In this example, we use Google Calendar and custom functions as two separate MC...

Best for

  • Engineering automation workflows
  • AI RAG automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@n8n/n8n-nodes-langchain.agent, n8n-nodes-base.googlecalendartool, @n8n/n8n-nodes-langchain.mcptrigger, n8n-nodes-base.executeworkflowtrigger, n8n-nodes-base.switch, n8n-nodes-base.set, @n8n/n8n-nodes-langchain.toolworkflow, @n8n/n8n-nodes-langchain.chattrigger

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Solomon.

Original n8n.io source

1.1 Workflow description

Title
Build an MCP server with Google Calendar and custom functions
Workflow name
Build an MCP server with Google Calendar and custom functions

Learn how to build an MCP Server and Client in n8n with official nodes.

> ⚠ Requires n8n version 1.88.0 or higher.

In this example, we use Google Calendar and custom functions as two separate MCP Servers, demonstrating how to integrate both native and custom tools.

How it works

The AI Agent connects to two MCP Servers. Each MCP Trigger (Server) generates a URL exposing its tools. This URL is used by an MCP Client linked to the AI Agent.

Whenever you make changes to the tools, there’s no need to modify the MCP Client. It automatically keeps the AI Agent informed on how to use each tool, even if you change them over time.

That’s the power of MCP 🙌

Who is this template for

Anyone looking to use MCP with their AI Agents.

How to set up

Instructions are included within the workflow itself.

Check out my other templates

👉 https://n8n.io/creators/solomon/

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - AI Agent

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.8

Block 2 - SearchEvent

Type / Role
n8n-nodes-base.googleCalendarTool - googleCalendarTool
Config choices
Version 1.3

Block 3 - CreateEvent

Type / Role
n8n-nodes-base.googleCalendarTool - googleCalendarTool
Config choices
Version 1.3

Block 4 - UpdateEvent

Type / Role
n8n-nodes-base.googleCalendarTool - googleCalendarTool
Config choices
Version 1.3

Block 5 - DeleteEvent

Type / Role
n8n-nodes-base.googleCalendarTool - googleCalendarTool
Config choices
Version 1.3

Block 6 - Google Calendar MCP

Type / Role
@n8n/n8n-nodes-langchain.mcpTrigger - mcpTrigger
Config choices
Version 1

Block 7 - When Executed by Another Workflow

Type / Role
n8n-nodes-base.executeWorkflowTrigger - executeWorkflowTrigger
Config choices
Version 1.1

Block 8 - Switch

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.2

Block 9 - Convert Text to Upper Case

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 10 - Convert Text to Lower Case

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 11 - Convert Text

Type / Role
@n8n/n8n-nodes-langchain.toolWorkflow - toolWorkflow
Config choices
Version 2.1

Block 12 - When chat message received

Type / Role
@n8n/n8n-nodes-langchain.chatTrigger - chatTrigger
Config choices
Version 1.1

Block 13 - Simple Memory

Type / Role
@n8n/n8n-nodes-langchain.memoryBufferWindow - memoryBufferWindow
Config choices
Version 1.3

Block 14 - Calendar MCP

Type / Role
@n8n/n8n-nodes-langchain.mcpClientTool - mcpClientTool
Config choices
Version 1

Block 15 - My Functions

Type / Role
@n8n/n8n-nodes-langchain.mcpClientTool - mcpClientTool
Config choices
Version 1

Block 16 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - My Functions Server

Type / Role
@n8n/n8n-nodes-langchain.mcpTrigger - mcpTrigger
Config choices
Version 1

Block 18 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Random user data

Type / Role
n8n-nodes-base.debugHelper - debugHelper
Config choices
Version 1

Block 20 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 21 - Generate random user data

Type / Role
@n8n/n8n-nodes-langchain.toolWorkflow - toolWorkflow
Config choices
Version 2.1

Block 22 - Return only some fields

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 23 - Joke Request

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 24 - Random Jokes

Type / Role
@n8n/n8n-nodes-langchain.toolWorkflow - toolWorkflow
Config choices
Version 2.1

Showing the first 24 of 33 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Build an MCP server with Google Calendar and custom functions
Complexity advanced
Nodes 33
Categories Engineering, AI RAG
Author Solomon
Published 10 Apr 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/3514/3514.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Build an MCP server with Google Calendar and custom functions do?

Learn how to build an MCP Server and Client in n8n with official nodes. Requires n8n version 1.88.0 or higher. In this example, we use Google Calendar and custom functions as two separate MC...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Engineering, AI RAG use case.