В прошлом посте разобрались, что MCP позволяет дать нейросети собственные инструменты.
Теперь попробуем сделать такой инструмент самостоятельно.
Для самого простого варианта нам нужен только установленный Python.
Ставим MCP SDK:
pip install "mcp[cli]"
Создаём файл server.py:
from mcp.server import MCPServer
mcp = MCPServer("Freelance Helper")
@mcp.tool()
def calculate_price(hours: int, rate: int) -> int:
"""Рассчитать стоимость работы."""
return hours * rate
@mcp.tool()
def make_offer(client: str, price: int, days: int) -> str:
"""Создать предложение для клиента."""
return (
f"{client}, стоимость проекта — {price} руб. "
f"Срок выполнения — {days} дней."
)
if __name__ == "__main__":
mcp.run()
И всё. 💃
У нас уже есть MCP-сервер с двумя инструментами.
Первый считает стоимость проекта.
Второй формирует предложение клиенту.
Причём нам не пришлось отдельно описывать формат каждого инструмента.
MCP SDK понимает по Python-аннотациям, что hours, rate, price и days должны быть числами.
Теперь сервер можно подключить, например, к Codex:
codex mcp add freelance-helper -- python C:\mcp\server.py
После этого пишем нейросети:
«Проект займёт 18 часов. Моя ставка 1500 рублей. Посчитай стоимость и подготовь предложение для Андрея со сроком 5 дней».
Нейросеть сможет вызвать:
calculate_price(18, 1500)
Получить:
27000
А потом использовать результат:
make_offer("Андрей", 27000, 5)
Конечно, считать стоимость проекта через MCP — немного бессмысленно :)
Но вместо calculate_price может быть что угодно:
🍿 запрос к базе данных;
🍿 получение клиента из CRM;
🍿 создание задачи;
🍿 работа с API;
🍿 генерация документа;
🍿 получение статистики сайта.
Именно поэтому MCP становится интересен не только как игрушка для разработчиков.
В следующем посте посмотрим, как из этого сделать реальный фриланс-кейс
