/
Вопросы и ответы
/
MCP
/

Что такое MCP промты?

Что такое MCP промты?

12 часов назад

Никита Вихров

Ответы

0

MCP Prompts — третья сущность протокола после Tools и Resources. О ней почти не пишут, хотя она решает конкретную проблему: как переиспользовать сложные промпты между разными сессиями и разными членами команды.

Промпт в MCP — это шаблон с аргументами, который сервер отдаёт клиенту по запросу. Клиент подставляет аргументы и отправляет готовый промпт модели.


Зачем это нужно

Без MCP Prompts каждый разработчик хранит свои промпты локально: в файлах, в Notion, в голове. Они расходятся, устаревают, теряются.

С MCP Prompts промпты живут на сервере, версионируются вместе с кодом, доступны всей команде через один конфиг.


Как зарегистрировать промпт

server.prompt(
  "code-review",
  "Проводит code review с учётом правил проекта",
  {
    code: z.string().describe("Код для ревью"),
    language: z.string().describe("Язык программирования"),
    focus: z.enum(["security", "performance", "readability"])
      .describe("На что обращать особое внимание"),
  },
  async ({ code, language, focus }) => {
    return {
      messages: [
        {
          role: "user",
          content: {
            type: "text",
            text: `Проведи code review следующего ${language}-кода.
Особое внимание удели: ${focus}.
Правила проекта: используем функциональный стиль, избегаем мутаций, все ошибки обрабатываем явно.

Код:
\`\`\`${language}
${code}
\`\`\`

Формат ответа:
1. Критичные проблемы (блокируют мёрж)
2. Замечания (стоит исправить)
3. Предложения (опционально)`,
          },
        },
      ],
    };
  }
);

Промпт с несколькими сообщениями

Можно строить многоходовые диалоги — полезно для промптов, которые требуют контекста:

server.prompt(
  "debug-session",
  "Начинает сессию отладки ошибки",
  { error: z.string(), stackTrace: z.string() },
  async ({ error, stackTrace }) => {
    return {
      messages: [
        {
          role: "user",
          content: {
            type: "text",
            text: `Помоги разобраться с ошибкой: ${error}\n\nStack trace:\n${stackTrace}`,
          },
        },
        {
          role: "assistant",
          content: {
            type: "text",
            text: "Вижу ошибку. Задам несколько уточняющих вопросов, чтобы найти причину.",
          },
        },
      ],
    };
  }
);

Как это выглядит на практике

Поддержка MCP Prompts на стороне клиентов пока неравномерная. Claude Desktop поддерживает — там промпты появляются в интерфейсе как готовые команды. Cursor пока реализует через slash-команды.

Главная ценность не в синтаксисе, а в идее: промпты как код. Версионируются в Git, ревьюируются в MR, обновляются централизованно.

12 часов назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845