Skip to content

Latest commit

 

History

History
130 lines (90 loc) · 5.87 KB

File metadata and controls

130 lines (90 loc) · 5.87 KB

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, встановіть необхідні пакети:

pip install mcp-server mcp-client

Запуск сервера та клієнта

Запуск сервера

Запустіть сервер у одному вікні терміналу:

python server.py

Сервер також можна запустити в режимі розробки за допомогою MCP CLI:

mcp dev server.py

Або встановити у Claude Desktop (якщо доступно):

mcp install server.py

Запуск клієнта

Запустіть клієнт у іншому вікні терміналу:

python client.py

Це підключиться до сервера та продемонструє всі доступні функції.

Використання клієнта

Клієнт (client.py) демонструє всі можливості MCP:

python client.py

Це підключиться до сервера та виконає всі функції, включно з інструментами, ресурсами та підказками. Вивід покаже:

  1. Результат роботи калькулятора (5 + 7 = 12)
  2. Відповідь інструменту completion на запит "What is the meaning of life?"
  3. Список доступних AI-моделей
  4. Персоналізоване привітання для "MCP Explorer"
  5. Шаблон підказки для перегляду коду

Деталі реалізації

Сервер реалізовано з використанням API FastMCP, який надає високорівневі абстракції для визначення MCP-сервісів. Ось спрощений приклад визначення інструментів:

@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 для підключення та виклику сервера:

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. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується звертатися до професійного людського перекладу. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.