Integrasikan aplikasi Node.js dengan server MCP – Beragampengetahuan
Aplikasi modern jarang berdiri sendiri. Sebagian besar perusahaan perlu berinteraksi dengan database, API, atau bahkan agen berbasis AI untuk membuat keputusan secara real-time. Seiring berkembangnya bidang ini, pengembang memerlukan cara universal untuk menghubungkan aplikasi, layanan, dan data tanpa terus-menerus menciptakan kembali roda. Di sinilah MCP (Model Context Protocol) berperan.
Pada artikel ini, kita akan mempelajari apa itu MCP, mengapa itu penting, dan bagaimana mengintegrasikan layanan Node.js sederhana dengan server MCP. Kita juga akan melihat contoh kerja, layanan mikro Informasi Pengguna, dan melihat seperti apa pengaturan dan keluarannya.
Contents
Apa itu MCP?
Model Context Protocol (MCP) adalah standar terbuka yang mendefinisikan bagaimana sistem yang berbeda, seperti aplikasi, API, dan model AI, berkomunikasi satu sama lain. Daripada menulis integrasi khusus untuk setiap layanan, MCP memberi Anda bahasa bersama untuk menjelaskan data atau operasi apa yang dapat disediakan oleh layanan. Ia berfungsi seperti konektor universal, dan aplikasi Anda dapat dipasang dan diputar dengan sistem apa pun yang mendukung MCP.
Dalam terminologi MCP, ada tiga bagian utama:
- tuan rumah: Lingkungan atau aplikasi yang memerlukan penggunaan beberapa data atau alat eksternal.
- klien: Komponen yang mengirimkan permintaan MCP standar dari host.
- server: Layanan yang benar-benar menyediakan data atau melakukan operasi yang diminta.
Anggap saja sebagai USB untuk aplikasi, Anda dapat menyambungkan banyak alat ke dalamnya dan alat tersebut akan berfungsi selama mengikuti standar MCP.
Mengapa menggunakan MCP?
Berikut beberapa alasan mengapa MCP mulai menarik perhatian komunitas pengembang:
- Lapisan integrasi standar: Tanpa MCP, setiap integrasi akan terlihat berbeda. Anda dapat menulis titik akhir REST khusus, penangan WebSocket, atau SDK untuk setiap alat. MCP menstandardisasi semua ini sehingga host mana pun dapat menggunakan server apa pun yang mendukung MCP.
- perkembangan yang lebih cepat: Jika sistem Anda menampilkan fitur melalui MCP, klien baru (seperti agen AI atau layanan lainnya) dapat segera mulai menggunakannya. Ini berarti lebih sedikit kode lem dan waktu penilaian yang lebih cepat.
- Berbagi konteks yang lebih baik: API tradisional hanya mengembalikan data. Namun, MCP menyertakan konteks seperti status sesi, metadata, dan definisi alat. Hal ini sangat berguna untuk sistem yang mengambil keputusan atau perlu melakukan percakapan dengan layanan Anda.
- Cocok untuk bangunan modern: Layanan mikro Node.js sudah bersifat modular. MCP sangat cocok untuk model ini, karena setiap layanan mikro dapat menjadi server MCP, memaparkan fungsinya ke sistem lain dengan aman dan konsisten.
arsitektur

Berikut proses tingkat tinggi saat mengintegrasikan aplikasi Node.js dengan MCP:
- Host (seperti aplikasi web atau chatbot) memerlukan data seperti detail pengguna.
- Permintaan format host dari klien MCP mengikuti aturan MCP.
- Server MCP (dibangun di Node.js) menerima permintaan, mendapatkan data dari sumber (database, API, dll.) dan merespons dengan hasil dalam format MCP standar.
Desain ini memungkinkan beberapa aplikasi untuk menggunakan kembali layanan yang sama tanpa perlu melakukan integrasi tambahan.
Contoh: Membangun server MCP informasi pengguna
Mari kita lihat melalui contoh nyata @modelcontextprotocol/sdk Dan mcp-handler Perpustakaan terkadang secara kolektif disebut sebagai tumpukan mcpcontext.
Kami akan membuat:
- Server MCP Node.js menampilkan dua alat, GET_USER_INFO dan UPDATE_EMAIL.
- Klien sederhana untuk memanggil alat ini.
Langkah 1: Pengaturan
Jalankan perintah berikut:
mkdir mcp-example
cd mcp-example
npm init -y
npm install @modelcontextprotocol/sdk mcp-handler zod express body-parser axios
Ini akan menginstal:
- @modelcontextprotocol/sdk – SDK MCP Inti
- mcp-handler – Pustaka pembantu untuk mendefinisikan dan mengelola alat dengan mudah
- zod – Validasi skema parameter alat
- express – Kerangka kerja HTTP untuk server
- aksio – untuk panggilan klien
Langkah 2: Server MCP (server.js)
import express from "express";
import bodyParser from "body-parser";
import { createMcpHandler } from "mcp-handler";
import { z } from "zod";
const app = express();
app.use(bodyParser.json());
// Create MCP handler
const handler = createMcpHandler(
(server) => {
// Tool 1: Get user info
server.tool(
"getUserInfo",
"Fetch user info by ID",
{
userId: z.string().min(1),
},
async ({ userId }) => {
const users = {
"123": { id: "123", name: "Alice", email: "[email protected]" },
"456": { id: "456", name: "Bob", email: "[email protected]" },
};
const user = users[userId];
if (!user) throw new Error("User not found");
return { user };
}
);
// Tool 2: Update user email
server.tool(
"updateUserEmail",
"Update a user’s email",
{
userId: z.string().min(1),
newEmail: z.string().email(),
},
async ({ userId, newEmail }) => {
const users = {
"123": { id: "123", name: "Alice", email: "[email protected]" },
"456": { id: "456", name: "Bob", email: "[email protected]" },
};
const user = users[userId];
if (!user) throw new Error("User not found");
user.email = newEmail;
return { user };
}
);
},
{},
{ basePath: "/mcp" }
);
// Attach to Express
app.post("/mcp", handler);
app.listen(3000, () => {
console.log("MCP Server running on port 3000");
});
Langkah 3: Klien MCP (client.js)
import axios from "axios";
async function callTool(tool, params) {
const response = await axios.post(" {
method: "callTool",
params: { tool, arguments: params },
});
return response.data;
}
(async () => {
console.log("Fetching user info...");
const response1 = await callTool("getUserInfo", { userId: "123" });
console.log(response1);
console.log("\nUpdating user email...");
const response2 = await callTool("updateUserEmail", {
userId: "123",
newEmail: "[email protected]",
});
console.log(response2);
})();
Langkah 4: Jalankan contohnya
Mulai dua terminal:
Terminal 1:
Terminal 2:
keluaran yang diharapkan
Konsol server:
MCP Server running on port 3000
Keluaran klien:
Fetching user info...
{ result: { user: { id: '123', name: 'Alice', email: '[email protected]' } } }
Updating user email...
{ result: { user: { id: '123', name: 'Alice', email: '[email protected]' } } }
cara kerjanya
- Server MCP mendefinisikan dua alat (getUserInfo, updateUserEmail) dan menggunakan zod untuk menjelaskan parameter.
- Aplikasi Express bertindak sebagai lapisan transport untuk permintaan MCP.
- Klien mengirimkan payload JSON (metode, params.tool, params.arguments) mengikuti format MCP.
- Penangan menangani permintaan dan mengembalikan respons JSON standar.
Ini adalah cara kerja integrasi MCP yang besar, di mana setiap alat dapat mewakili suatu fungsi, API, atau bahkan alur kerja yang kompleks.
sebagai kesimpulan
Dengan menggunakan pustaka MCP Context (mcp-handler + SDK), pengembang Node.js dapat dengan cepat membangun layanan terstandarisasi dan dapat dioperasikan yang sesuai untuk arsitektur modern, termasuk layanan yang berinteraksi dengan sistem AI atau layanan mikro terdistribusi.
Keuntungan terbesarnya adalah:
- dapat digunakan kembali: Setelah alat ditentukan, klien MCP mana pun dapat menggunakannya.
- konsistensi: Mode permintaan/respons terpadu.
- Skalabilitas: Menambahkan alat atau transportasi baru dengan mudah (HTTP, WebSocket, STDIO).
Jika Anda sedang membangun API atau layanan mikro saat ini, mengadopsi MCP sejak dini dapat membuat sistem Anda lebih fleksibel dan tahan terhadap masa depan. Anda dapat memulai dari hal kecil, seperti contoh “Informasi Pengguna” di atas, dan mengembangkannya menjadi ekosistem yang terhubung sepenuhnya.
rencana pengembangan website
metode pengembangan website
jelaskan beberapa rencana untuk pengembangan website, proses pengembangan website, kekuatan dan kelemahan bisnis pengembangan website
, jasa pengembangan website, tahap pengembangan website, biaya pengembangan website
#Integrasikan #aplikasi #Node.js #dengan #server #MCP