π Day 3 β MCP: Model Context Protocol untuk AI Agent β
Week 3 Β· Day 3 Β· 7 Video Topik: Apa itu MCP, Arsitektur Host/Client/Server, Transport Mechanism, Tiga Cara Menggunakan MCP di n8n, Sales Prospecting dengan MCP (Firecrawl + Hunter), Membangun MCP Server di n8n, Koneksi ke Claude AI
π Daftar Isi β
- Apa itu MCP?
- Arsitektur MCP: Host, Client, Server
- Tiga Cara Menggunakan MCP di n8n
- Praktik: Sales Prospecting dengan MCP
- Membangun MCP Server di n8n
- Koneksi dari Claude AI ke MCP Server n8n
- Recap & Structured Outputs Reinforcement
π Apa itu MCP? β
MCP (Model Context Protocol) adalah standar open-source dari Anthropic yang dirilis akhir 2024 dan meledak popularitasnya pada Maret-April 2025. Anthropic sendiri mendeskripsikannya sebagai:
"USB-C port for AI applications" β sebuah standar universal untuk menghubungkan aplikasi AI ke sistem eksternal.
Yang Perlu Dipahami: Tools vs MCP β
Sebelum membahas MCP lebih jauh, ada prinsip fundamental yang harus diingat:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π INOVASI BESAR Agentic AI = TOOLS β
β β
β Tools adalah kemampuan LLM memanggil fungsi β
β eksternal berdasarkan token yang dihasilkannya. β
β β
β MCP = standar BERBAGI tools, bukan tools itu sendiriβ
β β
β Hype seharusnya tentang TOOLS, β
β MCP "hanya" standar yang membuat sharing mudah. β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββMCP Adalah dan Bukan β
| MCP ADALAH β | MCP BUKAN β |
|---|---|
| Cara mudah menggunakan tools orang lain | Tools itu sendiri |
| Cara mudah membagikan tools Anda | Teknologi baru yang revolusioner |
| Standar interface antara LLM dan tools | Satu-satunya cara menghubungkan LLM ke tools |
| Sangat popular karena adopsi massal | Dijamin bertahan selamanya |
Kenapa MCP Jadi Besar? β
Bukan karena teknologinya inovatif β Anthropic sendiri mengakui itu. Yang membuatnya besar adalah adopsi massal: semua orang menggunakannya, sehingga ada ribuan MCP server tersedia, menciptakan ekosistem yang self-reinforcing.
Alternatif & Masa Depan β
| Pendekatan | Asal | Status |
|---|---|---|
| MCP | Anthropic | Sangat populer saat ini |
| Skills | Anthropic & OpenAI | Lebih oriented ke produk consumer |
| Code Mode | Anthropic | Baru, mungkin jadi alternatif MCP |
π‘ Meski MCP mungkin bersifat transitory, konsep di baliknya akan tetap relevan apapun yang menggantikannya.
ποΈ Arsitektur MCP: Host, Client, Server β
MCP terdiri dari tiga komponen yang saling berinteraksi:
Diagram Arsitektur β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MCP HOST β
β (n8n, Claude, AI app) β
β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β MCP Client β β MCP Client β β MCP Client β β
β β #1 β β #2 β β #3 β β
β ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ β
β β β β β
βββββββββββΌβββββββββββββββββΌβββββββββββββββββΌβββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β MCP Server β β MCP Server β β MCP Server β
β (Firecrawl) β β (Hunter.io) β β (Custom) β
β β β β β β
β π§ search β β π§ email β β π§ tool A β
β π§ scrape β β π§ verify β β π§ tool B β
β π§ crawl β β π§ domain β β β
βββββββββββββββ βββββββββββββββ βββββββββββββββDefinisi Komponen β
| Komponen | Definisi | Contoh |
|---|---|---|
| MCP Host | Environment keseluruhan tempat agent berjalan | n8n, Claude Desktop, AI SaaS app |
| MCP Client | Komponen kecil di dalam host yang terhubung ke server | MCP Client tool node di n8n |
| MCP Server | Grup tools dari pihak ketiga, lengkap dengan deskripsi | Firecrawl MCP Server, Hunter MCP Server |
Transport Mechanism β
Cara MCP Client berkomunikasi dengan MCP Server:
| # | Nama | Lokasi | Status | Support n8n |
|---|---|---|---|---|
| 1 | stdio (Standard I/O) | Lokal (sama komputer) | Aktif | β Tidak didukung |
| 2 | SSE (Server-Sent Events) | Remote | β οΈ Deprecated | β Didukung (legacy) |
| 3 | Streamable HTTP | Remote | β Recommended | β Didukung |
β οΈ Limitasi n8n: n8n TIDAK mendukung stdio transport. Ini berarti sebagian MCP server yang hanya tersedia via stdio tidak bisa diakses dari n8n. Anda harus menggunakan SSE atau Streamable HTTP.
π§ Tiga Cara Menggunakan MCP di n8n β
Cara 1: MCP Client Tool β (Paling Penting) β
Menambahkan MCP Client sebagai tool pada AI Agent β agent bisa mengakses tools dari MCP server external.
AI Agent
βββ Tools
βββ Native Tool (Calculator, dll.)
βββ MCP Client β Firecrawl Server
βββ MCP Client β Hunter ServerKapan digunakan: Ketika tidak ada native n8n tool node untuk layanan yang Anda butuhkan.
Cara 2: MCP Server Trigger β
Menjadikan workflow n8n Anda sebagai MCP Server yang bisa dipanggil oleh MCP Client lain.
ββββββββββββββββββββββββββββββ
β n8n Workflow β
β β
β MCP Server Trigger β
β β β
β βββ Tool: HTTP Requestβ
β βββ Tool: Workflow β
β βββ Tool: ... β
β β
β URL: https://xxx/mcp β
ββββββββββββββββββββββββββββββ
β²
β
Claude, AI app, dll.Cara 3: Global MCP Server Setting β
Mengekspos semua workflow (atau subset) sebagai MCP server secara global β setting di halaman Settings n8n.
Prioritas Penggunaan β
1οΈβ£ Native n8n Tool Node β Selalu pilihan pertama!
β
βΌ (tidak tersedia?)
2οΈβ£ MCP Client Tool β Fallback ke MCP
β
βΌ (ingin share tools?)
3οΈβ£ MCP Server Trigger β Untuk berbagi tools AndaMengapa MCP Kurang "Berguna" di n8n? β
Ironisnya, n8n terlalu bagus β sudah memiliki sangat banyak native tool nodes sehingga jarang sekali perlu MCP sebagai fallback. Instruktur sendiri kesulitan menemukan use case karena setiap ide sudah ada node-nya!
π― Praktik: Sales Prospecting dengan MCP β
Arsitektur Workflow β
ββββββββββββ ββββββββββββββββββββββββββββββββββ
β Chat ββββΆβ AI Agent (GPT-5.2, low effort)β
β Trigger β β β
ββββββββββββ β System: "Find sales prospects" β
β Max Iterations: 30 β
β Structured Output: ON β
β β
β Tools: β
β βββ MCP Client β Firecrawl β
β βββ MCP Client β Hunter.io β
β β
β Output Parser: β
β Structured Output Parser β
ββββββββββββββββββββββββββββββββββKonfigurasi AI Agent β
| Setting | Nilai |
|---|---|
| Model | GPT-5.2 (atau model frontier lain) |
| Reasoning Effort | Low (cepat + ekonomis) |
| Max Iterations | 30 (dinaikkan dari default 10) |
| Structured Output | ON |
Schema Structured Output β Prospects β
{
"prospects": [
{
"first_name": "prospect first name",
"last_name": "prospect last name",
"company": "company where they work",
"role": "their job title",
"email": "predicted email address for this prospect",
"rationale": "why this prospect is qualified as a potential client"
}
]
}Setup MCP Client #1: Firecrawl β
| Setting | Nilai |
|---|---|
| Server Transport | HTTP Streamable |
| Endpoint | https://mcp.firecrawl.dev/v2/mcp/{{$vars.firecrawl_api_key}} |
| API Key | Disimpan sebagai n8n Variable ($vars.firecrawl_api_key) |
Cara menggunakan n8n Variables:
- Buka Project β Variables
- Create variable:
firecrawl_api_key= (API key Anda) - Akses dalam expression:
$vars.firecrawl_api_key
Setup MCP Client #2: Hunter.io β
| Setting | Nilai |
|---|---|
| Server Transport | HTTP Streamable |
| Endpoint | https://mcp.hunter.io/mcp |
| Authentication | Bearer Auth |
| Bearer Token | API Key dari Hunter.io |
Hasil Eksekusi β
Agent menggunakan tools secara cerdas dan otonom:
| MCP Server | Jumlah Panggilan | Tools yang Digunakan |
|---|---|---|
| Firecrawl | 5-10 calls | firecrawl_search, firecrawl_scrape |
| Hunter.io | 12-13 calls | email_finder, email_verifier, domain_search, discover |
Output: 5 sales prospects lengkap dengan nama, perusahaan, jabatan, email terverifikasi, dan alasan kualifikasi.
π Key Insight: Agent tidak perlu diberitahu cara menggunakan tools MCP β MCP server sudah menyertakan deskripsi lengkap yang secara otomatis dipahami LLM. Ini "keajaiban" MCP!
π Membangun MCP Server di n8n β
Setelah menggunakan MCP server orang lain, sekarang kita membalikkan arah β menjadikan workflow kita sebagai MCP server.
Step 1: Ubah Workflow Jadi Sub-workflow β
SEBELUM: SESUDAH:
Chat Trigger β AI Agent When Executed by
Another Workflow β AI Agent
β
βββ Input: "query" (string)Workflow diberi nama "Prospecting Subagent" β karena ia adalah agent kecil yang bisa dipanggil oleh agent lain.
Step 2: Buat Workflow MCP Server β
ββββββββββββββββββββββββββββββββββββββββββ
β Workflow: "Prospecting MCP" β
β β
β βββββββββββββββββββββββ β
β β MCP Server Trigger β β
β β β β
β β URL (test): xxx β β
β β URL (production): xxx β
β β β β
β β βββ Tool: Call Workflow β
β β βββ "Prospecting Subagent" β
β β β
β β Description: β
β β "Call this tool to find sales β
β β prospects for a given sales β
β β query. Returns five leads." β
β β β
β β Input: query β
β β "State what kind of sales β
β β prospect you are looking for" β
β βββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββKonfigurasi Tool β
| Setting | Nilai |
|---|---|
| Tool Type | Call n8n Workflow |
| Workflow | Prospecting Subagent |
| Description | "Find sales prospects for a given sales query, returns five leads" |
| Input: query | Model defines β deskripsi sales prospect yang dicari |
π€ Koneksi dari Claude AI ke MCP Server n8n β
Bukti paling dramatis bahwa MCP server kita bekerja: menghubungkannya ke Claude dari Anthropic.
Langkah Koneksi β
- Buka Claude β klik + β Add Connectors
- Pilih "Add a custom one"
- Nama: "Sales Prospecting Tool"
- Remote MCP Server URL: paste URL production dari n8n
- Klik Add
Pengujian β
User (di Claude): "Please use your sales prospecting tool to find
good targets for me to sell my accounting software
to consulting firms in the US."
Claude: β Mendeteksi tool tersedia (dari MCP server n8n)
β Menggunakan parameter "query"
β Memanggil n8n workflow via MCP
β n8n menjalankan Firecrawl + Hunter
β Hasil dikembalikan ke Claude
β Claude menyajikan 5 prospects lengkapAlur End-to-End β
Claude (MCP Host)
β
βββ MCP Client (built-in)
β β
β βΌ
β n8n MCP Server (Prospecting MCP)
β β
β βΌ
β n8n Subworkflow (Prospecting Subagent)
β β
β βββ MCP Client β Firecrawl Server
β β (search + scrape)
β β
β βββ MCP Client β Hunter.io Server
β (email finder + verifier)
β β
β βΌ
β Structured Output (5 prospects)
β
βΌ
Claude menyajikan hasil ke userπ€― MCP digunakan pada dua level β Claude memanggil n8n MCP server, yang di dalamnya menggunakan Firecrawl dan Hunter MCP server. MCP bersarang di dalam MCP!
π Recap & Structured Outputs Reinforcement β
Ringkasan Hari Ini β
| Aktivitas | Detail |
|---|---|
| Menggunakan MCP | MCP Client di n8n β Firecrawl + Hunter MCP Servers |
| Membuat MCP Server | MCP Server Trigger + Call Workflow tool |
| Menghubungkan ke Claude | Custom connector dengan production URL |
| MCP multi-level | Claude β n8n MCP β Firecrawl MCP + Hunter MCP |
Structured Outputs (Penguatan) β
Instruktur kembali menekankan pentingnya Structured Outputs:
- Diimplementasikan di balik layar sebagai tool (JSON generation tool)
- Tombol:
Require specific output formatβ ON - Sub-node: Structured Output Parser dengan JSON example
- Sangat powerful untuk mengontrol output LLM
- Akan digunakan intensif di Day 4 dan Day 5
π Tabel Terminologi β
| Istilah | Definisi |
|---|---|
| MCP | Model Context Protocol β standar open-source dari Anthropic |
| MCP Host | Environment AI tempat agent berjalan (n8n, Claude) |
| MCP Client | Komponen yang terhubung ke MCP Server dari dalam host |
| MCP Server | Grup tools pihak ketiga yang bisa diakses via MCP |
| Transport Mechanism | Cara komunikasi Client β Server (stdio/SSE/Streamable HTTP) |
| stdio | Standard Input/Output β transport lokal, TIDAK didukung n8n |
| SSE | Server-Sent Events β transport remote, deprecated |
| Streamable HTTP | Transport remote terbaru, recommended |
| $vars | Sintaks n8n untuk mengakses project variables |
| Bearer Auth | Autentikasi menggunakan token di header Authorization |
| MCP Server Trigger | Node n8n yang menjadikan workflow sebagai MCP server |
| Call Workflow Tool | Tool node yang memanggil sub-workflow sebagai tool |
π Pencapaian Day 3 β
β
Memahami MCP: apa itu, apa bukan, dan mengapa populer
β
Menguasai arsitektur Host/Client/Server
β
Memahami tiga transport mechanism
β
Menggunakan MCP Client untuk Firecrawl & Hunter.io
β
Membangun sales prospecting agent dengan MCP
β
Membuat MCP Server dari workflow n8n
β
Menghubungkan MCP Server ke Claude AI
β
Melihat MCP bekerja pada dua level (nested MCP)π― Progres: 87% kursus selesai! Hari ini adalah hari terbesar sejauh ini β MCP membuka pintu ke ekosistem tools yang luas untuk AI Agent.