Начало / Понятия / Шаблоны запросов
Шаблоны запросов (prompts)
Готовые сценарии, которые вызывает пользователь
Шаблоны запросов — многоразовые заготовки. С их помощью автор сервера даёт параметризованные сценарии для своей предметной области или показывает, как лучше пользоваться сервером.
Как это устроено#
Шаблоны задают ожидаемые входные данные и порядок взаимодействия. Они управляются пользователем: их нужно вызвать явно, а не ждать автоматического срабатывания. Шаблон может ссылаться на доступные ресурсы и инструменты, чтобы описать цельный рабочий процесс. Как и у ресурсов, у шаблонов есть автодополнение аргументов, которое помогает находить допустимые значения.
| Метод | Назначение | Что возвращает |
|---|---|---|
prompts/list |
Узнать, какие шаблоны есть. | Массив описаний шаблонов. |
prompts/get |
Получить шаблон. | Полное определение с аргументами. |
Результат prompts/list несёт обязательные ttlMs и cacheScope. Заголовок Mcp-Name при prompts/get по HTTP содержит имя шаблона.
Пример#
Шаблон «Спланировать отпуск»:
{
"name": "plan-vacation",
"title": "Plan a vacation",
"description": "Guide through vacation planning process",
"arguments": [
{ "name": "destination", "type": "string", "required": true },
{ "name": "duration", "type": "number", "description": "days" },
{ "name": "budget", "type": "number", "required": false },
{ "name": "interests", "type": "array", "items": { "type": "string" } }
]
}Вместо свободного текста пользователь выбирает шаблон, вводит структурированные данные (Барселона, 7 дней, 3000 долларов, пляжи, архитектура, еда), и сценарий выполняется одинаково каждый раз.
Как показывать пользователю#
Протокол оставляет свободу интерфейса. Основные принципы:
- шаблоны легко найти;
- у каждого есть ясное описание;
- ввод аргументов естественный и с проверкой;
- сам шаблон прозрачно показан.
Типичные решения: слэш-команды («/plan-vacation»), палитры команд с поиском, отдельные кнопки для частых шаблонов, контекстные меню с подходящими вариантами.
Как серверы работают вместе#
Сила MCP проявляется, когда подключено несколько серверов. В примере из документации приложение для планирования поездки использует три сервера: путешествий, погоды и календаря с почтой. Пользователь вызывает шаблон с параметрами, выбирает ресурсы (календарь, предпочтения, прошлые поездки), и модель вызывает инструменты разных серверов, запрашивая подтверждение, где нужно.