Bạn đã sẵn sàng tăng tốc quy trình làm việc AI của mình với **Máy chủ MCP trên Netlify** chưa? Hãy tưởng tượng việc cung cấp cho các tác nhân AI của bạn—như Claude, Cursor hoặc VS Code Copilot—một đường dây trực tiếp đến các công cụ và dữ liệu của nền tảng, tất cả đều được lưu trữ trên cơ sở hạ tầng phi máy chủ (serverless) mượt mà của Netlify. Trong hướng dẫn thú vị, mang tính trò chuyện này, chúng ta sẽ cùng tìm hiểu **Máy chủ MCP trên Netlify** là gì, tại sao nó tuyệt vời, và cách xây dựng, triển khai, cũng như lưu trữ nó từng bước một. Ngoài ra, chúng ta sẽ thử nghiệm nó với một ví dụ thú vị để đảm bảo nó hoạt động. Hãy cùng bắt đầu và làm cho AI của bạn thông minh hơn!
Bạn muốn một nền tảng tích hợp, tất cả trong một cho Đội ngũ Phát triển của mình để làm việc cùng nhau với năng suất tối đa?
Apidog đáp ứng mọi yêu cầu của bạn, và thay thế Postman với mức giá phải chăng hơn nhiều!
Máy chủ MCP là gì và tại sao lại là Netlify?
**Giao thức Ngữ cảnh Mô hình (Model Context Protocol - MCP)** giống như một bộ chuyển đổi phổ quát cho các tác nhân AI. Đây là một tiêu chuẩn mở, nhẹ cho phép các máy khách AI (ví dụ: Claude Desktop hoặc Cursor) giao tiếp với các máy chủ cung cấp công cụ, dữ liệu và lời nhắc. Điều này có nghĩa là AI của bạn có thể tương tác với các tính năng của ứng dụng trong thời gian thực, giúp nó nhận biết ngữ cảnh và hữu ích hơn nhiều.
Việc lưu trữ **Máy chủ MCP của bạn trên Netlify** là một lựa chọn không cần suy nghĩ. Nền tảng phi máy chủ của Netlify có khả năng mở rộng, ít cần bảo trì và hoàn hảo để triển khai các máy chủ MCP. Nó xử lý các công việc nặng nhọc—lưu lượng truy cập tăng đột biến, cập nhật và bảo mật—để bạn có thể tập trung vào việc xây dựng các tích hợp AI thú vị. Dù bạn đang thêm AI vào blog, trang thương mại điện tử hay ứng dụng tùy chỉnh, **Máy chủ MCP trên Netlify** đều giúp việc này trở nên liền mạch.

Tại sao bạn sẽ yêu thích việc lưu trữ Máy chủ MCP trên Netlify
Đây là lý do tại sao **Máy chủ MCP trên Netlify** là một yếu tố thay đổi cuộc chơi:
- Sức mạnh có thể mở rộng: Các chức năng phi máy chủ của Netlify xử lý các đợt tăng lưu lượng truy cập mà không gặp khó khăn.
- Triển khai dễ dàng: Đẩy lên GitHub, và Netlify tự động triển khai máy chủ của bạn. Không yêu cầu bằng cấp DevOps!
- Thân thiện với AI: Kết nối các tác nhân AI với dữ liệu và công cụ của nền tảng của bạn với thiết lập tối thiểu.
- Chi phí thấp: Phi máy chủ có nghĩa là bạn chỉ trả tiền cho những gì bạn sử dụng, giúp giảm chi phí.
Sẵn sàng đưa AI của bạn vào cuộc sống chưa? Hãy cùng thiết lập **Máy chủ MCP của bạn trên Netlify**!

Xây dựng, Triển khai và Lưu trữ Máy chủ MCP trên Netlify
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có:
- Node.js 20+: Để phát triển cục bộ và chạy Netlify CLI (nodejs.org/en/download).
- Tài khoản Netlify: Đăng ký tại netlify.com.
- Netlify CLI: Chúng ta sẽ cài đặt cái này để kiểm thử và triển khai.
- Git: Để kiểm soát phiên bản và triển khai.
- Máy khách tương thích MCP: Claude Desktop, Cursor, Windsurf, hoặc VS Code Copilot để kiểm thử.
- Tài khoản GitHub: Tùy chọn, để triển khai dựa trên Git.
Bước 1: Thiết lập Dự án Netlify của bạn
Thiết lập Cấu trúc Dự án:
- Tạo một thư mục dự án mới (ví dụ: `mcp-netlify`).
- Bên trong, tạo một thư mục `/netlify/functions` cho mã máy chủ MCP của bạn.
Cấu trúc ví dụ:
/mcp-netlify
/netlify
/functions
mcp.js
Tạo một Trang Netlify:
- Đăng nhập vào app.netlify.com.
- Nhấp vào **New site from Git** (Tạo trang mới từ Git) hoặc tạo một trang mới theo cách thủ công.
- Nếu sử dụng Git, hãy kết nối kho lưu trữ GitHub/GitLab/Bitbucket của bạn sau.
Bước 2: Triển khai Chức năng Máy chủ MCP
Tạo tệp `mcp.js` trong `/netlify/functions` để định nghĩa **Máy chủ MCP của bạn trên Netlify**. Điều này sử dụng MCP SDK để cung cấp các công cụ, tài nguyên và lời nhắc cho các máy khách AI.
Đây là một ví dụ cho `mcp.js`:
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
import { toFetchResponse, toReqRes } from "fetch-to-node";
import { z } from "zod";
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import {
CallToolResult,
ReadResourceResult,
JSONRPCError
} from "@modelcontextprotocol/sdk/types.js";
// Netlify serverless function handler which handles all inbound requests
export default async (req: Request) => {
try {
// for stateless MCP, we'll only use the POST requests that are sent
// with event information for the init phase and resource/tool requests
if (req.method === "POST") {
// Convert the Request object into a Node.js Request object
const { req: nodeReq, res: nodeRes } = toReqRes(req);
const server = getServer();
const transport = new StreamableHTTPServerTransport({
sessionIdGenerator: undefined,
});
await server.connect(transport);
const body = await req.json();
await transport.handleRequest(nodeReq, nodeRes, body);
nodeRes.on("close", () => {
console.log("Request closed");
transport.close();
server.close();
});
return toFetchResponse(nodeRes);
}
return new Response("Method not allowed", { status: 405 });
} catch (error) {
console.error("MCP error:", error);
return new Response(
JSON.stringify({
jsonrpc: "2.0",
error: {
code: -32603,
message: "Internal server error",
},
id: '',
} satisfies JSONRPCError),
{
status: 500,
headers: { "Content-Type": "application/json" }
}
);
}
};
function getServer(): McpServer {
// initialize our MCP Server instance that we will
// attach all of our functionality and data.
const server = new McpServer(
{
name: "acme-devtool-server",
version: "1.0.0",
},
{ capabilities: { logging: {} } }
);
server.tool(
"run-analysis-report",
"Checks the data available in Acme Devtool and returns all of the important data regarding the latest numbers.",
{
days: z.number().describe("Number of days to analyze").default(7),
},
async (
{ days },
): Promise<CallToolResult> => {
const random = Math.random() * 100;
return {
content: [
{
type: "text",
text: JSON.stringify({
lastNDays: days,
data: Array.from({ length: days }, (_, i) => `Day ${i + 1} had ${random * days} growth.`),
}),
},
],
};
}
);
// providing a resource for agents that might need to take a given report
// and parse the information in it
server.resource(
"interpreting-reports",
"acme://interpreting-reports",
{ mimeType: "text/plain" },
async (): Promise<ReadResourceResult> => {
return {
contents: [
{
uri: "acme://interpreting-reports",
text: `Reports from Acme will include an array of text that informs the growth of over that number of days. It's unstructured text but is consistent so parsing the information can be based on looking at a single line to understand where the data is.`,
},
],
};
}
);
return server;
};
// Ensure this function responds to the <domain>/mcp path
// This can be any path you want but you'll need to ensure the
// mcp server config you use/share matches this path.
export const config = {
path: "/mcp"
};
Điều này tạo ra một điểm cuối MCP phi máy chủ tại `/.netlify/functions/mcp`. Tùy chỉnh `tools` (công cụ), `resources` (tài nguyên) và `prompts` (lời nhắc) dựa trên nhu cầu của ứng dụng của bạn (ví dụ: gọi API, truy vấn cơ sở dữ liệu).
Bước 3: Cài đặt các phụ thuộc
Trong thư mục dự án của bạn, khởi tạo một dự án Node.js và cài đặt MCP SDK:
npm init -y
npm install @modelcontextprotocol/sdk
Bước 4: Phát triển và Kiểm thử cục bộ
- Cài đặt Netlify CLI:
npm install -g netlify-cli
2. Chạy cục bộ:
netlify dev
Điều này khởi động một máy chủ cục bộ tại `http://localhost:8888`. **Máy chủ MCP của bạn trên Netlify** sẽ có sẵn tại:
http://localhost:8888/.netlify/functions/mcp
3. Kiểm thử với MCP Inspector:
Sử dụng MCP Inspector để xác minh máy chủ của bạn:
npx @modelcontextprotocol/inspector npx mcp-remote@next http://localhost:8888/mcp
Mở http://localhost:6274 trong trình duyệt của bạn để khám phá các công cụ và tài nguyên của máy chủ một cách tương tác.

Bước 5: Triển khai Máy chủ MCP của bạn lên Netlify
Bạn có hai tùy chọn triển khai:
Tùy chọn 1: Triển khai dựa trên Git
- Đẩy dự án của bạn lên một kho lưu trữ GitHub, GitLab hoặc Bitbucket.
- Trong Netlify, liên kết kho lưu trữ với trang của bạn trong phần **Site configuration > Build & deploy** (Cấu hình trang > Xây dựng & triển khai).
- Netlify tự động triển khai trên mỗi lần đẩy lên nhánh chính của bạn.

Tùy chọn 2: Triển khai CLI
Triển khai trực tiếp với Netlify CLI:
netlify deploy
Đối với môi trường sản xuất:
netlify deploy --prod
Sau khi triển khai, **Máy chủ MCP của bạn trên Netlify** sẽ hoạt động tại:
https://your-site-name.netlify.app/.netlify/functions/mcp
Ghi chú URL cho bước tiếp theo.
Bước 6: Kết nối Máy khách MCP với Máy chủ MCP Netlify của bạn
Cấu hình máy khách AI của bạn (Claude Desktop, Cursor, Windsurf, hoặc VS Code Copilot) để kết nối với **Máy chủ MCP đã triển khai của bạn trên Netlify**. Sử dụng một trong các cấu hình sau:
Để kiểm thử cục bộ
{
"mcpServers": {
"my-netlify-mcp": {
"command": "npx",
"args": [
"mcp-remote@next",
"http://localhost:8888/mcp"
]
}
}
}
Đối với Máy chủ đã triển khai
{
"mcpServers": {
"my-netlify-mcp": {
"command": "npx",
"args": [
"mcp-remote@next",
"https://your-site-name.netlify.app/mcp"
]
}
}
}
Thay thế `your-site-name.netlify.app` bằng URL trang Netlify thực tế của bạn.
Cấu hình Máy khách
Claude Desktop:
- Chuyển đến **Cài đặt > Nhà phát triển > Chỉnh sửa Cấu hình**.
- Mở `claude_desktop_config.json`, dán cấu hình và lưu.
- Khởi động lại Claude Desktop.

Cursor:
- Chuyển đến **Cài đặt > Công cụ và Tích hợp > Thêm Máy chủ MCP Tùy chỉnh**.
- Dán cấu hình và lưu.
- Chuyển sang **Chế độ Tác nhân** trong bảng trò chuyện.

VS Code Copilot:
- Mở **Cài đặt** (`Ctrl+,` hoặc `Cmd+,`).
- Tìm kiếm “MCP” và bật nó trong **Tính năng > Trò chuyện**.
- Nhấp vào **Chỉnh sửa trong settings.json**, dán cấu hình và lưu.

Bước 7: Kiểm thử Máy chủ MCP của bạn
Hãy kiểm thử **Máy chủ MCP của bạn trên Netlify** với một lời nhắc mẫu trong máy khách MCP của bạn:
Sử dụng Máy chủ MCP trên Netlify, bạn có thể chạy báo cáo trong 3 ngày qua không?
Nếu bạn đã sử dụng tệp `mcp.js` mẫu ở trên, AI sẽ phản hồi với nội dung tương tự như:

Điều này xác nhận máy chủ của bạn đang hoạt động. Tùy chỉnh tệp `mcp.js` của bạn để thêm các công cụ thực tế (ví dụ: tích hợp API, truy vấn cơ sở dữ liệu) cho các tác vụ phức tạp hơn.
Bước 8: Kiểm tra và Gỡ lỗi
- **Chạy MCP Inspector** trên máy chủ đã triển khai của bạn:
npx @modelcontextprotocol/inspector npx mcp-remote@next https://your-site-name.netlify.app/mcp
- Kiểm tra **Nhật ký chức năng** của Netlify trong bảng điều khiển Netlify để tìm lỗi.
- Sử dụng phân tích của Netlify để giám sát mức sử dụng và tối ưu hóa hiệu suất.
- Thêm xác thực (ví dụ: khóa API) thông qua các biến môi trường của Netlify để bảo mật.
Các Thực hành Tốt nhất cho Máy chủ MCP trên Netlify
- Giữ không trạng thái (Stateless): Thiết kế các hàm là tạm thời, vì các lệnh gọi phi máy chủ không duy trì trạng thái.
- Bảo mật bí mật: Lưu trữ khóa API hoặc token trong **biến môi trường** của Netlify (Cấu hình trang > Biến môi trường).
- Thiết lập kết hợp (Hybrid Setup): Nếu máy khách của bạn không hỗ trợ truyền trực tuyến, hãy chạy một proxy MCP cục bộ để kết nối với máy chủ Netlify của bạn.
- Kiểm soát phiên bản: Sử dụng Git để cộng tác và dễ dàng khôi phục.
- Tối ưu hóa hiệu suất: Giảm thiểu thời gian thực thi hàm để giảm độ trễ và chi phí.
Mẹo khắc phục sự cố
- Máy chủ không phản hồi? Kiểm tra nhật ký Netlify CLI (`netlify dev`) hoặc nhật ký Chức năng để tìm lỗi.
- Sự cố kết nối máy khách? Xác minh URL cấu hình MCP và khởi động lại máy khách.
- Inspector không hoạt động? Đảm bảo gói MCP Inspector đã được cập nhật (`npx @modelcontextprotocol/inspector@latest`).
- Giới hạn tỷ lệ (Rate Limits)? Giám sát việc sử dụng chức năng của Netlify và điều chỉnh cho các tình huống lưu lượng truy cập cao.
Tại sao nên lưu trữ Máy chủ MCP trên Netlify?
**Máy chủ MCP trên Netlify** là một sự kết hợp hoàn hảo cho các quy trình làm việc dựa trên AI. Nền tảng phi máy chủ của Netlify mở rộng dễ dàng, vì vậy máy chủ MCP của bạn có thể xử lý hàng nghìn yêu cầu AI mà không bị sập. Hơn nữa, việc triển khai dựa trên Git và CLI của nó giúp việc cập nhật trở nên dễ dàng. Cho dù bạn đang xây dựng một chatbot, một công cụ quản lý nội dung hay một tích hợp thương mại điện tử, việc lưu trữ **Máy chủ MCP của bạn trên Netlify** đảm bảo các tác nhân AI của bạn có quyền truy cập trực tiếp, động vào các tính năng của nền tảng.
Ví dụ, bạn có thể tạo một công cụ MCP để lấy dữ liệu người dùng từ API của ứng dụng hoặc kích hoạt các quy trình làm việc tự động dựa trên lời nhắc AI. Thiết lập phi máy chủ có nghĩa là bạn không cần phải quản lý máy chủ—chỉ cần viết mã, triển khai và để Netlify làm phần còn lại.
Kết luận
Và thế là xong! Bạn vừa học cách xây dựng, triển khai và lưu trữ **Máy chủ MCP trên Netlify**, biến các tác nhân AI của bạn thành những cỗ máy năng suất. Từ việc thiết lập một hàm phi máy chủ đơn giản đến việc kết nối nó với Claude, Cursor hoặc VS Code, hướng dẫn này giúp việc tích hợp AI với nền tảng của bạn trở nên dễ dàng. Lời nhắc kiểm thử của chúng tôi—“xử lý truy vấn: Xin chào, Netlify!”—cho thấy việc bắt đầu dễ dàng đến mức nào.
Sẵn sàng tiến xa hơn? Thêm các công cụ tùy chỉnh vào tệp `mcp.js` của bạn, như các cuộc gọi API hoặc truy vấn cơ sở dữ liệu, và xem AI của bạn làm những điều tuyệt vời.
Bạn muốn một nền tảng tích hợp, tất cả trong một cho Đội ngũ Phát triển của mình để làm việc cùng nhau với năng suất tối đa?
Apidog đáp ứng mọi yêu cầu của bạn, và thay thế Postman với mức giá phải chăng hơn nhiều!