Kho lưu trữ này chứa một bản triển khai Python của Model Context Protocol (MCP), minh họa cách tạo cả ứng dụng server và client giao tiếp theo chuẩn MCP.
Bản triển khai MCP bao gồm hai thành phần chính:
-
MCP Server (
server.py) - Một server cung cấp:- Tools: Các hàm có thể được gọi từ xa
- Resources: Dữ liệu có thể truy xuất
- Prompts: Mẫu để tạo prompt cho các mô hình ngôn ngữ
-
MCP Client (
client.py) - Ứng dụng client kết nối với server và sử dụng các tính năng của nó
Bản triển khai này minh họa một số tính năng chính của MCP:
completion- Tạo văn bản hoàn chỉnh từ các mô hình AI (giả lập)add- Máy tính đơn giản cộng hai số
models://- Trả về thông tin về các mô hình AI có sẵngreeting://{name}- Trả về lời chào cá nhân hóa cho tên được cung cấp
review_code- Tạo prompt để đánh giá mã nguồn
Để sử dụng bản triển khai MCP này, cài đặt các gói cần thiết:
pip install mcp-server mcp-clientChạy server trong một cửa sổ terminal:
python server.pyServer cũng có thể chạy ở chế độ phát triển bằng cách sử dụng MCP CLI:
mcp dev server.pyHoặc cài đặt trong Claude Desktop (nếu có):
mcp install server.pyChạy client trong một cửa sổ terminal khác:
python client.pyĐiều này sẽ kết nối với server và trình diễn tất cả các tính năng có sẵn.
Client (client.py) minh họa tất cả các khả năng của MCP:
python client.pyĐiều này sẽ kết nối với server và sử dụng tất cả các tính năng bao gồm tools, resources và prompts. Kết quả sẽ hiển thị:
- Kết quả công cụ máy tính (5 + 7 = 12)
- Phản hồi của công cụ completion cho câu hỏi "What is the meaning of life?"
- Danh sách các mô hình AI có sẵn
- Lời chào cá nhân hóa cho "MCP Explorer"
- Mẫu prompt đánh giá mã nguồn
Server được triển khai sử dụng API FastMCP, cung cấp các trừu tượng cấp cao để định nghĩa dịch vụ MCP. Dưới đây là ví dụ đơn giản về cách định nghĩa các tools:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + bClient sử dụng thư viện MCP client để kết nối và gọi server:
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})Để biết thêm thông tin về MCP, truy cập: https://modelcontextprotocol.io/
Tuyên bố từ chối trách nhiệm:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI Co-op Translator. Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ gốc của nó nên được coi là nguồn chính xác và đáng tin cậy. Đối với các thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp do con người thực hiện. Chúng tôi không chịu trách nhiệm về bất kỳ sự hiểu lầm hoặc giải thích sai nào phát sinh từ việc sử dụng bản dịch này.