
vinuni-ai20k/day26-mcp-tools-integration
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Đây là hai khái niệm hay bị nhầm lẫn nhưng thực ra ở , và chứ không thay thế.
Обзор
Đây là hai khái niệm hay bị nhầm lẫn nhưng thực ra ở , và chứ không thay thế. Bước 01–03 dùng (mcp>=2.0, xem requirements.txt). Lab 04 có môi trường riêng (uv sync trong từng thư mục). là một khả năng của model (capability). Model được huấn luyện để khi bạn đưa cho nó danh sách các "công cụ" (kèm schema mô tả tham số), nó có thể tự quyết định gọi công cụ nào và sinh ra JSON tham số phù hợp. Bản thân model function — nó chỉ nói "hãy gọi get_weather(city='Hanoi')". App mới là nơi chạy tool. là một giao thức chuẩn (protocol) — giống như USB-C hay HTTP cho thế giới AI. Nó định nghĩa cách một (như Claude Code, Claude Desktop) kết nối tới các để khám phá và sử dụng tools, resources, prompts một cách thống nhất. Điểm quan trọng nhất: . Chúng không loại trừ nhau. - : app đơn giản, tool gắn chặt với 1 ứng dụng, không cần chia sẻ. - : muốn tool/tích hợp dùng lại được trên nhiều AI client, muốn tách biệt logic tool khỏi app, hoặc xây hệ sinh thái tích hợp (DB, file, API nội bộ...).
README
Показан фрагмент оригинального README. Открыть оригинал.
Phân biệt MCP và Function Calling
Đây là hai khái niệm hay bị nhầm lẫn nhưng thực ra ở hai tầng khác nhau, và bổ sung cho nhau chứ không thay thế.
Cấu trúc repo
day26-mcp/
├── README.md ← Bạn đang đọc file này
├── requirements.txt ← pip install -r requirements.txt
│
├── 01-function-calling/ ← Bước 1: Function Calling thuần (Gemini SDK)
│ ├── README.md
│ └── weather_function_calling.py
│
├── 02-mcp-basics/ ← Bước 2: MCP server + client (không cần API key)
│ ├── README.md
│ ├── weather_server.py
│ └── weather_client.py
│
└── 03-production/ ← Bước 3: Auth, Tool Registry, Versioning
├── README.md
├── auth_server.py
├── auth_client.py
├── registry.json
├── registry_client.py
├── versioned_server.py
└── versioned_client.py
│
└── 04-lab/ ← Bước 4: Agent Google ADK + MCP server thật (WeatherAPI)
├── README.md
├── mcp-server/ ← FastMCP server (Streamable HTTP, Dockerfile cho Cloud Run)
└── mcp-client/ ← ADK agent dùng McpToolset
Bước 01–03 dùng MCP Python SDK v2 (
mcp>=2.0, xemrequirements.txt). Lab 04 có môi trường riêng (uv synctrong từng thư mục).
Quick start
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# MCP demo (không cần API key)
cd 02-mcp-basics && python weather_client.py
# Function Calling (cần Gemini API key)
export GEMINI_API_KEY=...
cd 01-function-calling && python weather_function_calling.py
# Production — Auth (2 terminal)
cd 03-production
python auth_server.py # terminal 1
python auth_client.py # terminal 2
# Production — Tool Registry
cd 03-production && python registry_client.py
Định nghĩa ngắn gọn
Function Calling là một khả năng của model (capability). Model được huấn luyện để khi bạn đưa cho nó danh sách các “công cụ” (kèm schema mô tả tham số), nó có thể tự quyết định gọi công cụ nào và sinh ra JSON tham số phù hợp. Bản thân model không chạy function — nó chỉ nói “hãy gọi get_weather(city='Hanoi')”. App mới là nơi chạy tool.
MCP (Model Context Protocol) là một giao thức chuẩn (protocol) — giống như USB-C hay HTTP cho thế giới AI. Nó định nghĩa cách một MCP Client (như Claude Code, Claude Desktop) kết nối tới các MCP Server để khám phá và sử dụng tools, resources, prompts một cách thống nhất.
So sánh trực tiếp
| Tiêu chí | Function Calling | Model Context Protocol (MCP) |
|---|---|---|
| Bản chất | Tính năng của mô hình (Model capability) | Giao thức giao tiếp client–server |
| Ai định nghĩa tool? | Bạn hard-code trong từng app | Server tự công bố (self-describe) tool |
| Tái sử dụng | Phải viết lại cho mỗi app/model | Viết 1 lần, mọi MCP client dùng được |
| Thực thi | App của bạn tự chạy | MCP Server chạy, client điều phối |
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →