Files
2026-07-13 13:31:35 +08:00

121 lines
5.5 KiB
Markdown

# Model Context Protocol (MCP) Python Реалізація
Цей репозиторій містить Python-реалізацію Model Context Protocol (MCP), що демонструє, як створити серверний та клієнтський додатки, які взаємодіють за стандартом MCP.
## Огляд
Реалізація MCP складається з двох основних компонентів:
1. **MCP Сервер (`server.py`)** – сервер, який надає:
- **Інструменти**: функції, які можна викликати віддалено
- **Ресурси**: дані, які можна отримати
- **Підказки**: шаблони для генерації підказок для мовних моделей
2. **MCP Клієнт (`client.py`)** – клієнтський додаток, який підключається до сервера та використовує його можливості
## Особливості
Ця реалізація демонструє кілька ключових функцій MCP:
### Інструменти
- `completion` – генерує текстові доповнення від AI-моделей (імітація)
- `add` – простий калькулятор, що додає два числа
### Ресурси
- `models://` – повертає інформацію про доступні AI-моделі
- `greeting://{name}` – повертає персоналізоване привітання для заданого імені
### Підказки
- `review_code` – генерує підказку для перегляду коду
## Встановлення
Щоб використовувати цю реалізацію MCP, встановіть необхідні пакети:
```powershell
pip install mcp-server mcp-client
```
## Запуск сервера та клієнта
### Запуск сервера
Запустіть сервер у одному вікні терміналу:
```powershell
python server.py
```
Сервер також можна запустити в режимі розробки за допомогою MCP CLI:
```powershell
mcp dev server.py
```
Або встановити у Claude Desktop (якщо доступно):
```powershell
mcp install server.py
```
### Запуск клієнта
Запустіть клієнт у іншому вікні терміналу:
```powershell
python client.py
```
Це підключиться до сервера та продемонструє всі доступні функції.
### Використання клієнта
Клієнт (`client.py`) демонструє всі можливості MCP:
```powershell
python client.py
```
Це підключиться до сервера та виконає всі функції, включно з інструментами, ресурсами та підказками. Вивід покаже:
1. Результат роботи калькулятора (5 + 7 = 12)
2. Відповідь інструменту completion на запит "What is the meaning of life?"
3. Список доступних AI-моделей
4. Персоналізоване привітання для "MCP Explorer"
5. Шаблон підказки для перегляду коду
## Деталі реалізації
Сервер реалізовано з використанням API `FastMCP`, який надає високорівневі абстракції для визначення MCP-сервісів. Ось спрощений приклад визначення інструментів:
```python
@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 + b
```
Клієнт використовує бібліотеку MCP client для підключення та виклику сервера:
```python
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})
```
## Дізнатись більше
Для отримання додаткової інформації про MCP відвідайте: https://modelcontextprotocol.io/
**Відмова від відповідальності**:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується звертатися до професійного людського перекладу. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.