recipal-mcp-unofficial
recipal-mcp-unofficial
Сервер MCP для API этикеток питания ReciPal. Он позволяет ИИ-ассистенту напрямую читать и редактировать ваши рецепты, ингредиенты и подрецепты — включая массовые операции, которые в веб-интерфейсе заняли бы часы.
Неофициальный. Не связан с ReciPal, не одобрен и не поддерживается ReciPal. Создан пользователями продукта на основе его публичного API.
Временный проект — этот репозиторий будет заархивирован. ReciPal создаёт официальный MCP сервер. Когда их версия выйдет, этот будет обновлён, чтобы указывать на неё, а затем заархивирован в режиме только для чтения. Не стройте на нём ничего важного. См. SUNSET.md.
Вам нужна активная платная подписка ReciPal. Доступ к API — платная функция; ключ находится в настройках вашего аккаунта в разделе API access. Без него этот сервер не сможет ничего сделать.
Для чего это нужно
Веб-интерфейс ReciPal хорош для редактирования одного рецепта. Но он мучителен, когда нужно сделать одно и то же с сорока рецептами — исправить размер порции во всём каталоге, переименовать ингредиенты, пришедшие с суффиксами (copy), или создать семейство вариантов продукта, отличающихся одним ингредиентом. Этот сервер открывает API, чтобы ассистент мог выполнять такую работу в цикле, сначала запустив пробный прогон.
Инструмент, который оправдывает своё существование, — bulk_clone_and_swap: возьмите один полностью настроенный рецепт как шаблон, клонируйте его N раз и замените один ингредиент в каждом клоне. Настройки этикетки, теги и размеры порций переносятся, поэтому клоны получаются согласованными.
Related MCP server: cookwith-mcp
Область применения и распространение
Область применения намеренно узкая, и такой она останется:
Исходный код, который вы клонируете и собираете. Нет готового плагина в один клик, нет пакета
npxи нет публикации в каком-либо каталоге MCP или маркетплейсе. Это обязательство перед ReciPal, а не упущение или пункт в списке задач.Не публикуется в npm. Файл
package.jsonнамеренно помечен какprivate.Назван
recipal-mcp-unofficialпо просьбе ReciPal, чтобы его нельзя было спутать с их официальным сервером.
Пул-реквесты, которые добавляют упакованное распространение, публикацию в маркетплейсах или более удобный путь установки для пользователей, будут отклонены. См. CONTRIBUTING.md о том, что приветствуется.
Установка
Требуется Node.js 18 или новее.
git clone https://github.com/BlackBlack/recipal-mcp-unofficial.git
cd recipal-mcp-unofficial
npm install
npm run buildЗатем зарегистрируйте его в вашем MCP-клиенте. Для Claude Code:
claude mcp add --transport stdio recipal-mcp-unofficial \
--env RECIPAL_API_KEY=your_key_here \
-- node /absolute/path/to/recipal-mcp-unofficial/build/index.jsДля Claude Desktop добавьте в claude_desktop_config.json:
{
"mcpServers": {
"recipal-mcp-unofficial": {
"command": "node",
"args": ["/absolute/path/to/recipal-mcp-unofficial/build/index.js"],
"env": { "RECIPAL_API_KEY": "your_key_here" }
}
}
}Перезапустите клиент и попросите его показать список ваших рецептов. Вы должны увидеть 19 доступных инструментов. Полное руководство — в docs/SETUP.md.
⚠️ Прочтите это, прежде чем подключать его к каталогу, который вам важен
Защитные механизмы confirm: true и dry_run предоставляются моделью, а не вами. Они не позволяют расплывчато сформулированному запросу причинить вред. Но они не остановят решительного или запутавшегося агента — ассистент, решивший удалить рецепт, передаст confirm: true в том же вызове. В ReciPal нет отмены действий.
Поэтому по-настоящему разрушительные инструменты по умолчанию отключены. Их включение — осознанное действие человека, запускающего сервер, а не то, что может сделать диалог:
Переменная окружения | Включает | Почему ограничено |
|
| Необратимая потеря данных, нет отмены |
|
| Может вызывать любой эндпоинт любым методом |
Всё остальное — все операции чтения и обычные инструменты создания/обновления — работает из коробки. Массовые инструменты всегда доступны, но по умолчанию используют dry_run: true и отказываются выполняться, если вызывающий код не передаст одновременно dry_run: false и confirm: true.
Рекомендуемая практика в любом случае: сначала работайте с одноразовым рецептом. Некоторые эндпоинты ведут себя иначе, чем описано в документации (см. «Известные ограничения»).
Конфигурация
Переменная | По умолчанию | Назначение |
| — | Обязательно. Из настроек аккаунта ReciPal → API access |
| off | Открывает два инструмента удаления |
| off | Открывает |
| off | Записывает полные тела запросов в stderr. Тела содержат данные рецептов, а ваш клиент, вероятно, пишет stderr на диск, поэтому обычно оставляйте выключенным |
|
| Повторные попытки при HTTP 429 |
|
| Переопределяет эндпоинт. Должен быть https и хостом |
| off | Разрешает базовый URL, отличный от |
См. .env.example.
Инструменты
Всего 22 инструмента, 19 доступны по умолчанию. Сгенерированная документация со всеми параметрами: docs/TOOLS.md.
Группа | Инструменты |
Чтение |
|
Запись рецептов |
|
Запись строк ингредиентов |
|
Этикетки |
|
Массовые операции |
|
Запасной механизм |
|
† отключено по умолчанию.
Инструменты записи принимают открытый объект fields вместо фиксированного списка параметров. Опубликованная документация ReciPal обрывается до полного списка атрибутов рецепта, поэтому жёстко задавать имена полей означало бы гадать; вместо этого fields передаётся напрямую, в стиле Rails, в форме form-encoded (recipe[name]=...). Незадокументированные атрибуты работают без изменения кода. Установите as_json: true, если эндпоинт предпочитает JSON.
Прежде чем писать рецепт, прочитайте настоящий. get_recipe на существующем рецепте показывает точные имена атрибутов, которые использует ваш аккаунт.
Известные ограничения
Они реальны, проверены на живом API, и о них стоит знать, прежде чем строить что-то на этой основе:
create_recipe_shortcutне работает. Он возвращает HTTP 422 для любого испробованного формата массива ингредиентов. Документация ReciPal обрывается до списка параметров, поэтому правильная структура неизвестна. Используйтеcreate_recipe+create_recipe_ingredientилиscale_recipeдля клонирования настроенного шаблона. Инструмент оставлен на месте, чтобы структуру можно было выяснить, — если вы её разгадаете, пожалуйста, откройте PR.PUT /recipe_ingredients/{id}молча игнорируетingredient_id. Он возвращает HTTP 200, а исходный ингредиент остаётся прикреплённым. Замена одного ингредиента на другой должна выполняться как удаление с последующим созданием — именно этоbulk_clone_and_swapи делает внутри.ReciPal почти каждый ответ оборачивает дважды —
{recipe: {recipe_ingredients: [{recipe_ingredient: {…}}]}}. Чтение полей из внешней обёртки даётundefinedбез ошибки. Если вы расширяете этот сервер, используйте существующие помощникиunwrap()/extractRecords().Имена параметров для
scale_recipeиcreate_subrecipeне опубликованы. Они работают через сквозную передачуfields, но сначала запустите каждый по одному разу на одноразовом рецепте и прочитайте ответ, прежде чем выполнять цикл.В документации
/recipes/{id}/scaleуказан какPUT; на самом деле работаетPOST. Не «исправляйте» это без тестирования.Нет помощника для пагинации.
list_recipesограничивает 100 записей на страницу; перебирайте страницы самостоятельно.
Лимиты запросов
ReciPal указывает примерно 175 000 запросов в неделю, 1 000 в минуту (сверх этого — HTTP 429) и максимум 5 одновременных рендеров этикеток. Этот сервер уважает 429, используя Retry-After и экспоненциальную задержку, предупреждает в stderr, когда осталось меньше 100 запросов, и выполняет каждый массовый цикл строго последовательно с настраиваемой задержкой. Не распараллеливайте рендеры этикеток.
Разработка
npm run typecheck # tsc --noEmit
npm run build # -> build/index.js
npm test # offline smoke tests, no API key or network needed
npm run gen:docs # regenerate docs/TOOLS.md from the running server
npm run verify # all of the abovedocs/TOOLS.md генерируется путём запуска собранного сервера и запроса у него его собственного списка инструментов, поэтому документация не может разойтись с кодом. CI падает, если она устарела. Если вы добавляете или изменяете инструмент, выполните npm run build && npm run gen:docs и закоммитьте результат.
Вклад приветствуется в рамках указанной выше области — начните с CONTRIBUTING.md, затем docs/TESTING.md о том, как проверять изменения на живом аккаунте, и docs/DESIGN.md о том, как части сочетаются друг с другом.
Лицензия
«ReciPal» — товарный знак его владельца и используется здесь только для описания того, с чем общается это программное обеспечение.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that transforms AI assistants into personal chefs by providing recipe recommendations and meal planning features based on the HowToCook repository.52,678752ISC
- AlicenseBqualityDmaintenanceAn MCP server that enables AI-powered recipe generation and transformation using natural language, supporting dietary restrictions, allergies, and nutritional goals.215MIT
- AlicenseNot gradedqualityFmaintenanceMCP server for MealMastery AI meal planning that enables users to manage meal plans, recipes, and grocery lists through natural language conversation with AI agents like Claude.67MIT
- FlicenseNot gradedqualityDmaintenanceMCP server enabling AI assistants to manage recipes and ingredients in the WeekPlan app via its REST API.1
Related MCP Connectors
Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.
An MCP server that integrates with Discord to provide AI-powered features.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RBV801/recipal-mcp-unofficial'
If you have feedback or need assistance with the MCP directory API, please join our Discord server