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 Hermes Agent 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 bằng tập lệnh cài đặt tiêu chuẩn thì 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-mcpsau 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:
- Công cụ MCP gốc của máy chủ
- lọc bằng:
tools.includetools.exclude
- Giấy gói tiện ích được thêm vào Hermes
- lọc bằng:
tools.resourcestools.prompts
Trình bao bọc tiện ích bạn có thể thấy
Tài nguyên:
list_resourcesread_resource
Lời nhắc:
list_promptsget_promptCá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: falsehoặcprompts: 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:
enabled: falsekhông còn 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ế