К содержимому
Claude Code с 0:полный курс
Уровень 3 · Свой сервер и безопасность 4 мин

Минимальный сервер: один инструмент

Разбираем код крошечного MCP-сервера с одним инструментом и видим, из чего он собран: имя, описание, схема входа и сама работа.

В этом уроке нет практического задания — просто прочитай и ответь на вопросы.

Сервер MCP — это не магия. Это обычная программа, которая объявляет, что она умеет, и ждёт вызовов. Самый маленький полезный сервер предоставляет один инструмент (tool). Посмотрим на упрощённый набросок такого сервера и разберём его по частям.

# объявляем инструмент
name: "find_task"
description: "Найти задачу в трекере по её номеру. \
  Возвращает заголовок, статус и исполнителя."
input_schema:
  number: integer  # номер задачи, например 412

# что инструмент делает, когда его вызвали
handler(number):
    task = tracker.get(number)
    return { title, status, assignee }

Четыре части любого инструмента

  • Имя (find_task) — короткий машинный идентификатор. По нему хост отличает один инструмент от другого.
  • Описание — текст для модели. Именно его читает Claude, решая, подходит ли инструмент под задачу. Это не комментарий «для людей», а рабочая часть.
  • input_schema — какие данные нужны на вход и какого они типа. Здесь — целое число number. Схема позволяет модели собрать корректный вызов, а серверу — проверить полученное.
  • handler — собственно работа: сервер идёт в трекер, достаёт задачу и возвращает результат.

Кто что делает

Модель формирует вызов (find_task с number: 412) — но сама ничего не выполняет. Вызов уходит на сервер, сервер делает работу и возвращает данные обратно. Запускать ли действие, по-прежнему решает хост и человек.

Заметь: в сервере нет ни слова про Claude. Он просто объявляет инструмент по протоколу. Любой MCP-клиент сможет с ним работать — в этом и смысл общего протокола.

Проверь себя

Отвечено 0/3
Режим:

Какую часть инструмента читает модель, когда решает, вызывать ли его?

Зачем инструменту input_schema?

Что в этой схеме делает сама модель при вызове find_task?

Выполни задание в терминале и ответь на вопросы, чтобы завершить урок.

📝 Мои заметки

Сохраняется автоматически в этом браузере · видно на странице «Заметки».

Листай уроки клавишами · поиск по ⌘K