Проверяет понимание протокола Model Context Protocol и умение реализовать собственный MCP-сервер для интеграции инструментов с LLM-клиентами.
Model Context Protocol (MCP) — это открытый стандарт, который описывает, как LLM-приложение (клиент) общается с внешними источниками данных и инструментами (серверами). Идея проста: вместо того чтобы встраивать каждую интеграцию прямо в чат-бота, вы выносите её в отдельный процесс — MCP-сервер, который умеет отвечать на стандартные запросы: «какие у тебя есть инструменты», «вызови инструмент X с такими аргументами», «дай ресурс Y».
Официальный SDK @modelcontextprotocol/sdk берёт на себя транспорт и валидацию, вам остаётся описать инструменты.
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({ name: "weather", version: "1.0.0" });
server.tool(
"get_weather",
"Возвращает погоду по городу",
{ city: z.string() },
async ({ city }) => ({
content: [{ type: "text", text: `Погода в ${city}: +18C` }],
})
);
await server.connect(new StdioServerTransport());
node server.js) и устанавливает stdio-соединение.initialize, сервер отвечает своими capabilities.tools/list и получает описание инструментов.tools/call с аргументами.В Claude Desktop или другом MCP-клиенте сервер прописывается в конфиге:
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["/path/to/server.js"]
}
}
}
Для удалённых серверов используется HTTP-транспорт с SSE, а также OAuth для авторизации. Важно валидировать входные аргументы (zod, pydantic) и не выполнять опасные операции без подтверждения — модель может ошибиться.
Итог: собственный MCP-сервер стоит писать, когда нужно дать LLM доступ к вашим данным, API или внутренним инструментам без изменения самого клиента — это стандартизированный и переносимый способ интеграции.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию