Building an MCP Calculator Server: From Zero to 100 Downloads/Week
Я релизил MCP-пакет для калькуляторов пять недель назад. На этой неделе он перешагнул 94 загрузки в неделю и стремится к сотне. Вот что я узнал о том, как строить MCP-инструменты, которые разработчики действительно качают и используют.
**Проблема: Claude галлюцинирует в вычислениях**
Когда ты просишь Claude посчитать TDEE, ипотеку или калории в рецепте — половину времени он ошибается. LLM не учебник математики, это распределение вероятностей. Можно конечно попросить пересчитать три раза, но это дополнительные токены и время.
Я столкнулся с этим в своих автоматизациях. Нужна была точная калькуляция, а не "примерно вот так". Решение простое: дать Claude не просить что-то считать, а вызвать структурированный инструмент через MCP (Model Context Protocol). Калькулятор выдаёт верный результат гарантированно, Claude его использует.
**Что такое MCP и почему это работает**
MCP — это протокол, который позволяет Claude Desktop и другим AI-ассистентам вызывать внешние инструменты напрямую. Вместо того чтобы надеяться на то, что LLM правильно посчитает, ты создаёшь отдельный сервер, который отвечает за точные вычисления. Claude видит этот инструмент, понимает, что и когда вызвать, и получает верный результат.
Я решил упаковать несколько полезных калькуляторов в npm-пакет (@thicket-team/mcp-calculators). Думал, может, кому-то тоже нужно. Оказалось — да.
**Как я запустил это**
1. **Выбрал калькуляторы, которые реально нужны разработчикам**. Не абстрактные функции, а конкретные: расчёт TDEE (калории для питания), ипотечные калькуляторы, расчёты комиссий, конвертация валют. Спросил аудиторию — она подсказала, что болит.
2. **Написал их как отдельные функции с чёткими параметрами**. Каждый калькулятор — это Tool с описанием, входными параметрами и гарантированным выходом. Claude понимает что и как использовать.
3. **Завернул в MCP-сервер**. Создал wrapper, который делает эти функции доступными как MCP-инструменты. Если ты используешь Claude Desktop, просто добавляешь конфиг — и готово.
4. **Залил на npm с нормальной README**. Не просто "вот код", а "вот как установить, вот примеры, вот какие калькуляторы есть". Документация — это 50% успеха пакета.
5. **Поделился в сообществах разработчиков**. Не спам, а "я сделал инструмент, может кому-то поможет". Без агрессивного маркетинга.
**Результаты за пять недель**
Первая неделя: 5 загрузок. Я думал, что это всё.
Третья неделя: 30 загрузок. Заметил, что люди используют это не только для себя, но и встраивают в свои агенты и автоматизации на n8n.
На пятой неделе: 94 загрузки в неделю, график растёт. Плюс люди стали приносить идеи для новых калькуляторов через issues на GitHub.
Почему это работает? Потому что:
— Решает реальную проблему (Claude не считает)
— Легко установить и использовать (одна команда npm install)
— Маленький и не требует настройки
— Документация на точку
**Что я бы сделал иначе**
Я бы запустил это раньше, не жди "идеального" кода. Первая версия была простой и сырой, но она уже решала боль