Пояснення Model Context Protocol

Припиніть писати один і той самий код інтеграції знову і знову.

Якщо ви підключаєте LLM до бази даних або API, вам часто доводиться писати спеціальний «код-клей» для кожної нової моделі. Це створює безлад. У підсумку ви змушені керувати безліччю з'єднань для багатьох інструментів.

Model Context Protocol (MCP) вирішує цю проблему. Він діє як порт USB-C для ШІ. Ви створюєте інструмент один раз, і будь-яка модель може його використовувати.

Архітектура складається з трьох частин:

• Host (Хост): Додаток, який ви використовуєте, наприклад Claude Code або IDE. • Client (Клієнт): Коннектор всередині хоста. • Server (Сервер): Програма, яку ви створюєте для надання доступу до даних або інструментів.

Ви можете побудувати MCP-сервер, використовуючи три основні примітиви:

  • Tools (Інструменти): Функції, які модель викликає для виконання роботи, наприклад, надсилання електронного листа.
  • Resources (Ресурси): Дані лише для читання, які додаток підтягує, наприклад, файл логів.
  • Prompts (Промпти): Шаблони, що повторно використовуються для конкретних завдань.

Ось як створити базовий сервер на Python за допомогою FastMCP SDK:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("demo-tools")

@mcp.tool()
def word_count(text: str) -> int:
    """Count words in a text."""
    return len(text.split())

@mcp.resource("notes://team")
def team_notes() -> str:
    """Expose team notes."""
    return "Release freeze starts Friday."

@mcp.prompt()
def code_review(language: str, code: str) -> str:
    """Template for code reviews."""
    return f"Review this {language} code: {code}"

if __name__ == "__main__":
    mcp.run()

Цей код бере на себе складну комунікацію. Ваші docstrings стають інструкціями для моделі.

Три поради для продакшену:

  1. Безпека: Завжди запитуйте підтвердження користувача перед запуском інструменту, який змінює дані.
  2. Контекст: Робіть описи інструментів короткими. Довгі описи марнують токени.
  3. Помилки: Повертайте чіткі повідомлення. Модель може виправити помилку «User not found», але вона не зможе виправити збій у сирому коді.

Припиніть створювати індивідуальні конектори. Побудуйте MCP-сервер один раз і дозвольте кожній моделі використовувати його.

Джерело: https://dev.to/galian/model-context-protocol-explained-build-your-first-mcp-server-in-python-ian