VA

vinuni-ai20k/day26-mcp-tools-integration

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

0 stars 645 forks 品質 58 トレンド 14

Đâ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, xem requirements.txt). Lab 04 có môi trường riêng (uv sync trong 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
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →