Этот конспект не сохранится

Закроешь вкладку — потеряешь. Зарегистрируйся — и он будет в библиотеке навсегда.

Telegram

Ваш конспект

YouTubeЧто такое MCP и почему AI без него ничего не может. LLM простыми словами

🎯 Что такое MCP и зачем он нужен?

Ключевые тезисы:

  • MCP (Model Context Protocol) — это протокол, который позволяет AI-моделям взаимодействовать с внешними данными через специальные серверы.
  • Без MCP модель — это просто генератор текста, который не может получить доступ к файлам, календарю или другим данным.
  • Создание собственного MCP-сервера даёт полный контроль над тем, как AI работает с вашими данными.

🔍 Как работает взаимодействие с AI

Участники процесса

  1. Приложение (MCP-клиент) — например, Claude Desktop. Оно общается с пользователем и координирует работу.
  2. Модель (LLM) — находится удалённо в дата-центрах. Она только генерирует текст и не имеет доступа к вашим данным.
  3. MCP-сервер — это программа-«почтальон», которая получает запросы от модели, выполняет действия с данными (читает файлы, календарь и т.д.) и возвращает результат.

Почему без сервера не обойтись?

Модель физически не может:

  • Открыть файл 📂
  • Сделать клик мышкой 🖱️
  • Увидеть ваш экран

Ей нужен посредник — программа (сервер), которая умеет работать с данными. Модель может только попросить сервер что-то сделать.

🤝 Что такое протокол MCP?

MCP (Model Context Protocol) — это набор правил, по которым приложение (клиент) и сервер обмениваются данными.

  • M (Model) — приложение с моделью (клиент).
  • C (Context) — всё, чего нет у модели: файлы, календарь, данные из Notion и т.д.
  • P (Protocol) — правила доставки контекста к модели.

Аналогия: Как HTTP для браузера или Bluetooth для наушников. MCP — это «язык», на котором говорят приложение и сервер, чтобы модель получила нужные данные.

📜 История и значимость MCP

  • Июль 2024: Идея возникла у инженеров Anthropic.
  • Ноябрь 2024: Anthropic выложила MCP в открытый код.
  • 2025: Протокол поддержали OpenAI, Google, Microsoft и передали в Linux Foundation.
  • На декабрь 2025: Более 97 млн загрузок и 10 000 публичных серверов.

Вывод: MCP — это не экспериментальный проект, а устоявшийся стандарт для взаимодействия AI с данными.

🛠️ Создаём свой MCP-сервер (практическая часть)

Подготовка окружения

Устанавливаем инструменты:

  1. UV — менеджер Python-проектов. Создаёт изолированные окружения для каждого проекта.
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Python через UV:
    uv python install
    

Создаём проект и первый сервер

  1. Создаём папку для проекта и переходим в неё:
    mkdir mcp-lab
    cd mcp-lab
    mkdir hello-server
    cd hello-server
    
  2. Устанавливаем библиотеку FastMCP:
    uv add fastmcp
    
  3. Создаём файл сервера server.py и открываем его:
    touch server.py && open server.py
    
  4. Вставляем код сервера (8 строк):
    from fastmcp import FastMCP
    
    server = FastMCP("Hello Server")
    
    @server.tool
    def say_hello(name: str) -> str:
        """Поздороваться с пользователем по имени."""
        return f"Привет, {name}!"
    
    if __name__ == "__main__":
        server.run()
    

🔑 Анатомия MCP-сервера

  • Декоратор @server.tool — отмечает функцию как инструмент, который модель может использовать.
  • Описание в тройных кавычкахединственное, что читает модель, чтобы понять, вызывать ли этот инструмент.
  • Тело функции — код, который выполнит сервер.
  • Правила (протокол) — обеспечивают связь между приложением, моделью и сервером.

Подключаем сервер к Claude Desktop

  1. Добавляем сервер в конфигурацию Claude:
    fastmcp install
    
  2. Перезапускаем Claude Desktop.
  3. В настройках Claude (DeveloperLocal MCP Servers) появится наш сервер «Hello Server».

Проверка: В чате пишем «Поздоровайся со мной через мой сервер. Меня зовут Руслан». Сервер ответит: «Привет, Руслан!».

🚀 Продвинутый пример: Сервер с контролем доступа

Цель: Создать сервер, который показывает файлы в папке, но скрывает приватные (с словом private в названии), если не введён пароль.

Создаём тестовую папку с файлами

mkdir mcp-test
cd mcp-test
touch file1.txt file2.txt private_note.txt secret_private.docx

Код сервера (folder_server.py)

from fastmcp import FastMCP
import os

server = FastMCP("Folder Server")
WORKING_DIR = "./mcp-test"

@server.tool
def list_files() -> str:
    """Показать список файлов в рабочей папке. Файлы с 'private' в названии скрыты. Для доступа к ним используйте другой инструмент с паролем."""
    files = os.listdir(WORKING_DIR)
    visible_files = [f for f in files if "private" not in f.lower()]
    return "\n".join(visible_files) if visible_files else "Нет файлов."

@server.tool
def list_all_files(password: str) -> str:
    """Показать ВСЕ файлы, включая приватные. Требует пароль."""
    if password != "1234.5":  # Пароль задан в коде
        return "Неверный пароль."
    files = os.listdir(WORKING_DIR)
    return "\n".join(files) if files else "Папка пуста."

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

Что это даёт?

  • По умолчанию модель видит только обычные файлы.
  • Чтобы увидеть приватные, нужно знать пароль и явно запросить их.
  • Вы контролируете правила: что скрывать, когда требовать аутентификацию, что логировать.

💎 Выводы: Ценность собственного MCP-сервера

  • MCP — это протокол, правила общения между приложением и сервером.
  • Сервер — это программа, которая выполняет работу за модель (доступ к данным).
  • Модель (LLM) ничего не делает сама, она только просит сервер.
  • Главное правило: Если сервер ваш — правила ваши. Вы решаете:
    • Что уходит в облако, а что остаётся локально.
    • Как фильтровать данные.
    • Когда требовать пароль или подтверждение.
  • Готовые решения (вроде режима «Коворк») не дают такого уровня контроля.

Итог: Знание MCP и умение создавать свои серверы — это ключ к полному контролю над тем, как AI взаимодействует с вашими личными и рабочими данными.

🤖 MCP: Полный контроль над взаимодействием AI с данными — конспект на EchoNote