"> Skip to main content

Hướng Dẫn Claude MCP Servers: Kết Nối Bất Kỳ Công Cụ Nào Với AI

2026-06-17 · FreeClaude

Tóm tắt: Model Context Protocol (MCP) là một tiêu chuẩn mở cho phép Claude kết nối với các công cụ bên ngoài, cơ sở dữ liệu, API và dịch vụ. Hướng dẫn này giải thích MCP là gì, cách cài đặt và cấu hình các MCP servers phổ biến, cách xây dựng của riêng bạn và các luồng công việc thực tế kết hợp nhiều công cụ MCP thành các đường dẫn AI mạnh mẽ.

MCP là gì và Tại sao nó Quan trọng?

Model Context Protocol (MCP) là một tiêu chuẩn mở được phát triển bởi Anthropic tạo ra một giao diện phổ quát giữa các mô hình AI như Claude và các công cụ bên ngoài, nguồn dữ liệu và dịch vụ. Trước MCP, việc tích hợp AI với các hệ thống bên ngoài yêu cầu các tích hợp tùy chỉnh một lần cho mỗi kết hợp của mô hình AI và công cụ. MCP chuẩn hóa điều này: bất kỳ công cụ tương thích MCP nào cũng hoạt động với bất kỳ mô hình AI tương thích MCP nào.

Tác động thực tế là rất lớn. Nếu không có MCP, Claude bị giới hạn trong thông tin bạn dán vào cuộc trò chuyện. Với MCP, Claude có thể truy vấn cơ sở dữ liệu sản xuất của bạn, duyệt web, đọc hệ thống tệp, gọi API bên ngoài, quản lý kho lưu trữ GitHub, kiểm soát trình duyệt, truy cập các kênh Slack và nhiều hơn nữa — tất cả trong một cuộc trò chuyện hoặc phiên mã hóa bình thường.

Hãy coi MCP servers như các plugin cho Claude. Giống như cách các phần mở rộng trình duyệt thêm khả năng vào trình duyệt web, MCP servers thêm khả năng vào Claude. Sự khác biệt là MCP được chuẩn hóa: khi một server được xây dựng theo đặc tả MCP, nó hoạt động với bất kỳ máy khách tương thích MCP nào — Claude Code, Claude Desktop hoặc bất kỳ ứng dụng bên thứ ba nào thực hiện giao thức.

Tính đến giữa năm 2026, có hàng trăm MCP servers của cộng đồng và chính thức có sẵn, bao gồm cơ sở dữ liệu (PostgreSQL, MySQL, MongoDB, SQLite), kiểm soát phiên bản (GitHub, GitLab, Bitbucket), giao tiếp (Slack, Discord, email), dịch vụ đám mây (AWS, GCP, Azure), công cụ năng suất (Notion, Linear, Jira), trình duyệt, hệ thống tệp và nhiều hơn nữa. Hệ sinh thái đang phát triển nhanh chóng.

Kiến trúc MCP Giải thích

MCP định nghĩa ba thành phần chính: hosts, clientsservers. Một host là ứng dụng mà bạn sử dụng để nói chuyện với Claude — Claude Desktop hoặc Claude Code. Một client là thành phần trong host xử lý giao tiếp giao thức MCP. Một server là một quy trình bên ngoài để lộ công cụ, tài nguyên và lời nhắc thông qua giao thức MCP.

MCP servers để lộ ba loại khả năng: Công cụ là các hàm mà Claude có thể gọi để thực hiện hành động (truy vấn cơ sở dữ liệu, gửi email, thực hiện yêu cầu API). Tài nguyên là các nguồn dữ liệu mà Claude có thể đọc (nội dung tệp, bản ghi cơ sở dữ liệu, phản hồi API). Lời nhắc là các mẫu lời nhắc có thể tái sử dụng mà server cung cấp cho các luồng công việc phổ biến.

Khi Claude quyết định sử dụng một công cụ MCP, luồng là: Claude xác định công cụ có liên quan từ mô tả của nó → hình thành các tham số đầu vào → máy khách gọi server → server thực thi hành động và trả về kết quả → Claude kết hợp kết quả vào phản hồi của nó. Toàn bộ luồng xảy ra một cách minh bạch — từ quan điểm của bạn, bạn đã đặt một câu hỏi và Claude trả lời nó bằng thông tin thời gian thực.

Cài đặt MCP Server Đầu tiên của Bạn

Cấu hình MCP server nằm trong tệp cài đặt Claude của bạn. Đối với Claude Code: ~/.claude/settings.json. Đối với Claude Desktop: menu cài đặt ứng dụng. Cấu trúc cấu hình giống hệt nhau cho cả hai.

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/yourname/projects",
        "/Users/yourname/documents"
      ]
    }
  }
}

Điều này cài đặt MCP server hệ thống tệp chính thức, cấp quyền truy cập đọc và ghi cho Claude vào các thư mục được chỉ định. Sau khi lưu cấu hình này và khởi động lại Claude Code, bạn có thể yêu cầu Claude "đọc README trong thư mục dự án của tôi" và nó sẽ thực hiện trực tiếp. Đối với các servers yêu cầu xác thực, hãy chuyển thông tin đăng nhập thông qua các biến môi trường:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {"GITHUB_TOKEN": "ghp_your_token_here"}
    }
  }
}

Với hàng trăm MCP servers có sẵn, mười cái này cung cấp khả năng phổ biến nhất cho các nhà phát triển và người dùng nâng cao.

1. Hệ thống Tệp (@modelcontextprotocol/server-filesystem)

Nền tảng của hầu hết các luồng công việc Claude Code. Cấp quyền truy cập hệ thống tệp trực tiếp trong các thư mục được chỉ định. Hỗ trợ đọc, ghi, di chuyển, tìm kiếm và duyệt thư mục. Cần thiết cho bất kỳ luồng công việc nào liên quan đến tệp cục bộ.

2. GitHub (@modelcontextprotocol/server-github)

Tích hợp GitHub đầy đủ: đọc và ghi tệp, quản lý vấn đề và yêu cầu kéo, đánh giá mã, kiểm tra trạng thái CI, tìm kiếm kho lưu trữ và truy cập lịch sử git. Biến Claude thành một trợ lý quy trình công việc GitHub hoàn chỉnh không bao giờ cần rời khỏi thiết bị đầu cuối.

3. PostgreSQL (@modelcontextprotocol/server-postgres)

Khả năng truy vấn cơ sở dữ liệu trực tiếp. Claude có thể khám phá lược đồ của bạn, viết và thực thi các truy vấn, phân tích phân phối dữ liệu, xác định các vấn đề hiệu suất và tạo các bản di chuyển. Chế độ chỉ đọc có sẵn cho các cơ sở dữ liệu sản xuất để ngăn các sửa đổi tình cờ.

4. Playwright (tự động hóa trình duyệt)

Kiểm soát trình duyệt đầy đủ: điều hướng URL, nhấp vào các phần tử, điền vào biểu mẫu, chụp ảnh màn hình, trích xuất nội dung và tương tác với các ứng dụng web. Cho phép Claude kiểm tra giao diện người dùng web, cạo dữ liệu và tự động hóa các luồng công việc dựa trình duyệt hoàn toàn.

5. Slack

Đọc lịch sử kênh, tìm kiếm tin nhắn, đăng vào các kênh, quản lý các luồng và tìm kiếm thông tin người dùng. Claude trở thành một trợ lý nhận thức Slack có thể tham khảo các cuộc thảo luận gần đây, soạn thảo các thông báo và giúp quản lý giao tiếp nhóm trong bối cảnh.

6. Bộ Nhớ (@modelcontextprotocol/server-memory)

Đồ thị kiến thức lâu dài tồn tại trong các cuộc trò chuyện. Claude có thể lưu trữ và truy xuất các sự kiện, mối quan hệ và bối cảnh sẽ bị mất khi phiên kết thúc. Cần thiết cho các dự án dài hạn nơi tính liên tục quan trọng.

7. Fetch (quyền truy cập web)

Tìm nạp các URL web và trả về nội dung của chúng dưới dạng văn bản. Cấp quyền truy cập Claude vào thông tin web hiện tại, tài liệu và bất kỳ URL công khai nào. Đơn giản hơn server trình duyệt Playwright cho các trường hợp sử dụng trích xuất nội dung nơi tương tác không cần thiết.

8. SQLite

Đối với các dự án sử dụng cơ sở dữ liệu SQLite (ứng dụng cục bộ, tập lệnh, dịch vụ nhỏ). Các khả năng tương tự như server PostgreSQL nhưng cho các tệp SQLite. Đặc biệt hữu ích cho phát triển ứng dụng di động, ứng dụng máy tính để bàn và các luồng công việc cơ sở dữ liệu nhúng.

9. AWS

Truy cập các xô S3, truy vấn DynamoDB, kiểm tra số liệu CloudWatch, quản lý các chức năng Lambda và tương tác với các dịch vụ AWS khác. Cho phép hỗ trợ AI nhận thức đám mây hiểu trạng thái cơ sở hạ tầng thực tế của bạn thay vì hoạt động từ các mô tả.

10. Linear

Tích hợp quản lý dự án: đọc và tạo vấn đề, cập nhật trạng thái, quản lý các sprint và theo dõi công việc kỹ thuật. Claude trở thành một trợ lý lập kế hoạch hiểu được backlog thực tế của bạn và có thể giúp ưu tiên công việc với bối cảnh đầy đủ.

Mô hình Cấu hình Nâng cao

Quản lý Biến Môi trường

Đối với các triển khai sản xuất, không bao giờ mã hóa thông tin đăng nhập trong settings.json. Tham khảo các biến môi trường bằng cách mở rộng biến shell:

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {"DATABASE_URL": "${DATABASE_URL}"}
    }
  }
}

Nhiều Các Thực thể Server

Chạy nhiều thực thể cùng loại server với các cấu hình khác nhau — hữu ích để truy cập các cơ sở dữ liệu sản xuất và dàn dựng đồng thời:

{
  "mcpServers": {
    "db-production": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {"DATABASE_URL": "postgresql://prod-host/myapp"}
    },
    "db-staging": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {"DATABASE_URL": "postgresql://staging-host/myapp"}
    }
  }
}

Cấu hình MCP Dành riêng cho Dự án

Đặt một .claude/settings.json trong thư mục dự án để cấu hình MCP servers chỉ kích hoạt khi làm việc trong dự án đó. Điều này sạch hơn so với cấu hình mọi server có thể đạt được trên toàn cầu và đảm bảo Claude chỉ có quyền truy cập vào các công cụ liên quan cho từng bối cảnh dự án cụ thể.

Xây dựng MCP Server Tùy chỉnh

Nếu không có MCP server hiện có bao gồm trường hợp sử dụng của bạn, việc xây dựng một server rất đơn giản. SDK MCP xử lý tất cả các chi tiết giao thức — bạn chỉ cần thực hiện logic công cụ.

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';

const server = new Server(
  { name: 'my-custom-server', version: '1.0.0' },
  { capabilities: { tools: {} } }
);

server.setRequestHandler(ListToolsRequestSchema, async () => ({
  tools: [{
    name: 'get_stock_price',
    description: 'Get the current stock price for a ticker symbol. Use when user asks about stock prices or market data.',
    inputSchema: {
      type: 'object',
      properties: {
        ticker: { type: 'string', description: 'Stock ticker symbol e.g. AAPL, TSLA' }
      },
      required: ['ticker']
    }
  }]
}));

server.setRequestHandler(CallToolRequestSchema, async (request) => {
  if (request.params.name === 'get_stock_price') {
    const { ticker } = request.params.arguments;
    const price = await fetchStockPrice(ticker); // your real API call
    return {
      content: [{ type: 'text', text: JSON.stringify({ ticker, price, timestamp: new Date().toISOString() }) }]
    };
  }
  throw new Error('Unknown tool');
});

const transport = new StdioServerTransport();
await server.connect(transport);

Các nguyên tắc chính để thiết kế MCP server hiệu quả: viết các mô tả công cụ chi tiết — Claude sử dụng chúng để quyết định có gọi công cụ hay không; trả về JSON có cấu trúc cho dữ liệu phức tạp; thực hiện xử lý lỗi thích h