Протокол выглядит громоздким, пока не напишешь первый сервер. На деле это несколько обязательных методов и договорённость о формате — всё остальное надстройка.
Начнём с минимального инструмента: публикация материала в CMS прямо из агента.
const server = new McpServer({
name: "grafsoul-content",
version: "1.0.0",
});
server.tool("publish", schema, async (args) => {
return await payload.create({ collection: "posts", data: args });
});Дальше сервер надо чем-то кормить. Схему инструмента агент читает сам — важно лишь честно описать поля и ограничения.