Chuyển tới nội dung chính

Sử dụng MCP với Hermes

Hướng dẫn này cho thấy cách sử dụng MCP thực sự với Đại lý Hermes trong quy trình làm việc hàng ngày.

Nếu trang tính năng giải thích MCP là gì thì hướng dẫn này sẽ nói về cách nhận giá trị từ MCP một cách nhanh chóng và an toàn.

Khi nào bạn nên sử dụng MCP?

Sử dụng MCP khi:

  • một công cụ đã tồn tại ở dạng MCP và bạn không muốn xây dựng một công cụ Hermes gốc
  • bạn muốn Hermes hoạt động chống lại hệ thống cục bộ hoặc từ xa thông qua lớp RPC sạch
  • bạn muốn kiểm soát phơi nhiễm chi tiết trên mỗi máy chủ
  • bạn muốn kết nối Hermes với API nội bộ, cơ sở dữ liệu hoặc hệ thống công ty mà không sửa đổi lõi Hermes

Không sử dụng MCP khi:

  • một công cụ Hermes tích hợp đã giải quyết tốt công việc
  • máy chủ hiển thị bề mặt công cụ rất nguy hiểm và bạn chưa sẵn sàng lọc nó
  • bạn chỉ cần một sự tích hợp rất hẹp và một công cụ gốc sẽ đơn giản và an toàn hơn

Mô hình tinh thần

Hãy coi MCP như một lớp bộ điều hợp:

  • Hermes vẫn là đại lý
  • Máy chủ MCP đóng góp công cụ
  • Hermes phát hiện ra những công cụ đó khi khởi động hoặc tải lại
  • người mẫu có thể sử dụng chúng như những công cụ thông thường
  • bạn kiểm soát mức độ hiển thị của mỗi máy chủ

Đó là phần cuối cùng quan trọng. Việc sử dụng MCP tốt không chỉ là “kết nối mọi thứ”. Đó là “kết nối đúng thứ, với bề mặt hữu ích nhỏ nhất”.

Bước 1: cài đặt hỗ trợ MCP

Nếu bạn đã cài đặt Hermes với tập lệnh cài đặt tiêu chuẩn, hỗ trợ MCP đã được bao gồm (trình cài đặt chạy uv pip install -e ".[all]").

Nếu bạn đã cài đặt mà không có tính năng bổ sung và cần thêm MCP riêng:

cd ~/.hermes/hermes-agent
uv pip install -e ".[mcp]"

Đối với các máy chủ dựa trên npm, hãy đảm bảo có sẵn Node.js và npx.

Đối với nhiều máy chủ Python MCP, uvx là một mặc định tốt.

Bước 2: thêm 1 server trước

Bắt đầu với một máy chủ an toàn, duy nhất.

Ví dụ: hệ thống tập tin chỉ truy cập vào một thư mục dự án.

mcp_servers:
project_fs:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/my-project"]

Sau đó bắt đầu Hermes:

hermes chat

Bây giờ hãy hỏi điều gì đó cụ thể:

Inspect this project and summarize the repo layout.

Bước 3: xác minh đã tải MCP

Bạn có thể xác minh MCP theo một số cách:

  • Biểu ngữ/trạng thái Hermes sẽ hiển thị tích hợp MCP khi được định cấu hình
  • hỏi Hermes những công cụ nào có sẵn
  • sử dụng /reload-mcp sau khi thay đổi cấu hình
  • kiểm tra nhật ký nếu máy chủ không kết nối được

Lời nhắc kiểm tra thực tế:

Tell me which MCP-backed tools are available right now.

Bước 4: bắt đầu lọc ngay

Đừng đợi đến sau này nếu máy chủ hiển thị nhiều công cụ.

Ví dụ: chỉ đưa vào danh sách trắng những gì bạn muốn

mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "***"
tools:
include: [list_issues, create_issue, search_code]

Đây thường là mặc định tốt nhất cho các hệ thống nhạy cảm.

Ví dụ: danh sách đen các hành động nguy hiểm

mcp_servers:
stripe:
url: "https://mcp.stripe.com"
headers:
Authorization: "Bearer ***"
tools:
exclude: [delete_customer, refund_payment]

Ví dụ: tắt cả trình bao bọc tiện ích

mcp_servers:
docs:
url: "https://mcp.docs.example.com"
tools:
prompts: false
resources: false

Việc lọc thực sự ảnh hưởng đến điều gì?

Có hai loại chức năng tiếp xúc với MCP trong Hermes:

  1. Công cụ MCP gốc của máy chủ
  • lọc bằng:
  • tools.include
  • tools.exclude
  1. Giấy gói tiện ích được thêm vào Hermes
  • lọc bằng:
  • tools.resources
  • tools.prompt

Trình bao bọc tiện ích bạn có thể thấy

Tài nguyên:

  • list_resource
  • đọc_resource

Lời nhắc:

  • list_prompt
  • get_prompt

Các trình bao bọc này chỉ xuất hiện nếu:

  • cấu hình của bạn cho phép chúng, và
  • phiên máy chủ MCP thực sự hỗ trợ những khả năng đó

Vì vậy, Hermes sẽ không giả vờ như máy chủ có tài nguyên/lời nhắc nếu không có.

Các mẫu phổ biến

Mẫu 1: trợ lý dự án địa phương

Sử dụng MCP cho hệ thống tệp repo-local hoặc máy chủ git khi bạn muốn Hermes suy luận về không gian làm việc bị giới hạn.

mcp_servers:
fs:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/project"]

git:
command: "uvx"
args: ["mcp-server-git", "--repository", "/home/user/project"]

Lời nhắc tốt:

Review the project structure and identify where configuration lives.
Check the local git state and summarize what changed recently.

Mẫu 2: Trợ lý phân loại GitHub

mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "***"
tools:
include: [list_issues, create_issue, update_issue, search_code]
prompts: false
resources: false

Lời nhắc tốt:

List open issues about MCP, cluster them by theme, and draft a high-quality issue for the most common bug.
Search the repo for uses of _discover_and_register_server and explain how MCP tools are registered.

Mẫu 3: trợ lý API nội bộ

mcp_servers:
internal_api:
url: "https://mcp.internal.example.com"
headers:
Authorization: "Bearer ***"
tools:
include: [list_customers, get_customer, list_invoices]
resources: false
prompts: false

Lời nhắc tốt:

Look up customer ACME Corp and summarize recent invoice activity.

Đây là nơi mà danh sách trắng nghiêm ngặt sẽ tốt hơn nhiều so với danh sách loại trừ.

Mẫu 4: máy chủ tài liệu/kiến thức

Một số máy chủ MCP hiển thị các lời nhắc hoặc tài nguyên giống như tài sản kiến ​​thức được chia sẻ hơn là hành động trực tiếp.

mcp_servers:
docs:
url: "https://mcp.docs.example.com"
tools:
prompts: true
resources: true

Lời nhắc tốt:

List available MCP resources from the docs server, then read the onboarding guide and summarize it.
List prompts exposed by the docs server and tell me which ones would help with incident response.

Hướng dẫn: thiết lập từ đầu đến cuối với tính năng lọc

Đây là một sự tiến triển thực tế.

Giai đoạn 1: thêm GitHub MCP với danh sách trắng chặt chẽ

mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "***"
tools:
include: [list_issues, create_issue, search_code]
prompts: false
resources: false

Bắt đầu Hermes và hỏi:

Search the codebase for references to MCP and summarize the main integration points.

Giai đoạn 2: chỉ mở rộng khi cần thiết

Nếu sau này bạn cũng cần cập nhật vấn đề:

tools:
include: [list_issues, create_issue, update_issue, search_code]

Sau đó tải lại:

/reload-mcp

Giai đoạn 3: thêm máy chủ thứ 2 với chính sách khác

mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "***"
tools:
include: [list_issues, create_issue, update_issue, search_code]
prompts: false
resources: false

filesystem:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/project"]

Bây giờ Hermes có thể kết hợp chúng:

Inspect the local project files, then create a GitHub issue summarizing the bug you find.

Đó là nơi MCP trở nên mạnh mẽ: quy trình làm việc đa hệ thống mà không thay đổi lõi Hermes.

Khuyến nghị sử dụng an toàn

Ưu tiên danh sách cho phép dành cho các hệ thống nguy hiểm

Đối với bất cứ điều gì liên quan đến tài chính, hướng tới khách hàng hoặc mang tính phá hoại:

  • sử dụng tools.include
  • bắt đầu với bộ nhỏ nhất có thể

Vô hiệu hóa các tiện ích không sử dụng

Nếu bạn không muốn mô hình duyệt tài nguyên/lời nhắc do máy chủ cung cấp, hãy tắt chúng:

tools:
resources: false
prompts: false

Giữ máy chủ trong phạm vi hẹp

Ví dụ:

  • máy chủ hệ thống tập tin được root vào một thư mục dự án, không phải toàn bộ thư mục chính của bạn
  • máy chủ git trỏ vào một repo
  • theo mặc định, máy chủ API nội bộ có hiển thị công cụ đọc nặng

Tải lại sau khi thay đổi cấu hình

/reload-mcp

Làm điều này sau khi thay đổi:

  • bao gồm/loại trừ danh sách
  • cờ kích hoạt
  • chuyển đổi tài nguyên/lời nhắc
  • tiêu đề xác thực/env

Khắc phục sự cố theo triệu chứng

"Máy chủ kết nối nhưng thiếu công cụ tôi mong đợi"

Nguyên nhân có thể:

  • được lọc bởi tools.include
  • bị loại trừ bởi tools.exclude
  • trình bao bọc tiện ích bị vô hiệu hóa thông qua resources: false hoặc promps: false
  • máy chủ không thực sự hỗ trợ tài nguyên/lời nhắc

"Máy chủ đã được cấu hình nhưng không tải gì"

Kiểm tra:

  • đã bật: false không được để lại trong cấu hình
  • tồn tại lệnh/thời gian chạy (npx, uvx, v.v.)
  • Điểm cuối HTTP có thể truy cập được
  • auth env hoặc tiêu đề đều chính xác

"Tại sao tôi thấy ít công cụ hơn so với quảng cáo của máy chủ MCP?"

Bởi vì Hermes hiện tôn trọng chính sách trên mỗi máy chủ và đăng ký nhận biết khả năng của bạn. Đó là điều được mong đợi và thường là mong muốn.

"Làm cách nào để xóa máy chủ MCP mà không xóa cấu hình?"

Sử dụng:

enabled: false

Điều đó giữ cấu hình xung quanh nhưng ngăn cản kết nối và đăng ký.

Khuyến nghị thiết lập MCP đầu tiên

Máy chủ đầu tiên tốt cho hầu hết người dùng:

  • hệ thống tập tin
  • git
  • GitHub
  • tìm nạp / tài liệu máy chủ MCP
  • một API nội bộ hẹp

Máy chủ đầu tiên không tuyệt vời:

  • hệ thống kinh doanh khổng lồ với nhiều hành động phá hoại và không có bộ lọc
  • bất cứ điều gì bạn không hiểu rõ để hạn chế

Tài liệu liên quan