alrm-mcp
alrm-mcp
MCP-сервер для AL ID Range Manager.
Позволяет ИИ-агенту для написания кода резервировать идентификаторы объектов AL так же, как это делает расширение ALRM для VS Code. Когда агент собирается создать новый объект AL, он вызывает new_object, и общая база данных ALRM в Business Central проверяет имя и возвращает следующий свободный идентификатор объекта — так идентификаторы остаются уникальными для всех, кто работает над одним расширением.
Инструменты
new_object
Регистрирует новый объект AL и возвращает назначенный идентификатор.
Параметр | Тип | Описание |
| UUID |
|
| см. ниже | тип объекта AL |
| string, ≤ 30 символов | Имя объекта, например |
Возвращает идентификатор объекта в виде текста, например 50061. При повторном вызове с тем же именем возвращается тот же идентификатор, а не выделяется новый.
Related MCP server: Dynamics 365 Business Central Admin MCP Server
Требования
Node.js 20 или новее
Среда Business Central с установленным расширением ALRM
Разрешение на вход в эту среду (см. Аутентификация)
Конфигурация
{
"mcpServers": {
"alrm-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "alrm-mcp@latest"],
"env": {
"BC_TENANT": "{tenant}",
"BC_ENVIRONMENT": "{environment}",
"BC_COMPANY": "{company}"
}
}
}
}Для Claude Code вы можете добавить его одной командой:
claude mcp add alrm-mcp \
--env BC_TENANT=contoso.com \
--env BC_ENVIRONMENT=Production \
--env BC_COMPANY=00000000-0000-0000-0000-000000000000 \
-- npx -y alrm-mcp@latestПеременные окружения
Все три переменные обязательны — сервер немедленно завершает работу с сообщением, указывающим, какой из них отсутствует.
Переменная | Описание |
| Ваш тенант Microsoft Entra — либо домен ( |
| Имя среды Business Central, как показано в центре администрирования BC, например |
| id компании (GUID, а не отображаемое имя). Список доступен по адресу |
Они считываются только из блока env клиента MCP — поддержки файла .env
нет, поскольку сервер обычно запускается клиентом, а не
из оболочки.
Две необязательные переменные позволяют указать серверу на собственную регистрацию приложения Entra вместо стандартного общедоступного клиента:
Переменная | По умолчанию | Описание |
| built-in | Идентификатор приложения (клиента) для регистрации общедоступного клиентского приложения. |
|
| Тенант authority, используемый для входа. Установите его, чтобы ограничить вход одним тенантом. |
Аутентификация
Первый вызов инструмента выполняет вход с использованием потока кода устройства OAuth 2.0:
Открывается вкладка браузера на https://microsoft.com/devicelogin.
Код устройства копируется в буфер обмена, а также выводится в stderr сервера на случай, если буфер обмена или браузер недоступны.
Вставьте код, завершите вход, и вызов инструмента продолжится.
После этого кэш токенов сохраняется в хранилище учетных данных операционной системы — Keychain в macOS, DPAPI в Windows, Secret Service/libsecret в Linux — вместе с небольшим файлом индекса .alrm-cache.json в вашем домашнем каталоге. Последующие сеансы используют его молча, в том числе при перезапусках сервера и редактора, поэтому вам не придется снова видеть браузер, пока не истечет срок действия токена обновления (примерно 90 дней бездействия).
Чтобы выйти, удалите .alrm-cache.json и удалите запись alrm-mcp из хранилища учетных данных. В macOS:
rm ~/.alrm-cache.json
security delete-generic-password -s alrm-mcp -a alrm-mcpКоманды logout пока нет.
Примечания по платформам
В Linux сервер отказывается переходить на хранение токенов в открытом виде. На машине без графического интерфейса, где нет Secret Service, вход завершится ошибкой, а не молча запишет незашифрованный кэш токенов.
Устранение неполадок
Сервер не запускается / клиент сообщает CONNECTION_CLOSED. Почти всегда это отсутствующая или неправильно написанная переменная окружения. Запустите его напрямую, чтобы увидеть фактическую ошибку, которую клиент MCP проглатывает:
BC_TENANT=contoso.com BC_ENVIRONMENT=Production BC_COMPANY=... npx -y alrm-mcp@latestИсправный сервер выводит MCP server running on stdio и ожидает.
Extension {id} not found! appId из вашего app.json не зарегистрирован в базе данных ALRM для этой компании. Сначала зарегистрируйте расширение с помощью расширения VS Code или непосредственно в Business Central.
Браузер открылся неожиданно. Это тот самый вход, описанный выше. Он должен происходить один раз, а не при каждом вызове — если повторяется, значит, кэш токенов не сохраняется; проверьте вывод stderr на наличие сообщения о повторном использовании сохраненного входа.
Разработка
git clone https://github.com/hiimnit/alrm-mcp.git
cd alrm-mcp
npm install
npm run buildЗатем укажите вашему клиенту MCP на локальную сборку вместо опубликованного пакета:
{
"mcpServers": {
"alrm-mcp": {
"command": "node",
"args": ["/absolute/path/to/alrm-mcp/dist/index.js"],
"env": {
"BC_TENANT": "...",
"BC_ENVIRONMENT": "...",
"BC_COMPANY": "..."
}
}
}
}npm run typecheck проверяет типы без генерации кода. npm run build сначала очищает dist/, а также автоматически запускается при npm pack и npm publish.
This server cannot be deployed
Maintenance
Related MCP Connectors
Debug, build, and manage Power Automate cloud flows with AI agents
AI agents use CalmBoard MCP to access board data, tasks, insights, and project workflows.
Give AI agents secure access to RevDesk calling, SMS, phone numbers, caller IDs, and usage.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to perform Business Central AL development tasks including language server operations, container management, Git version control, and file system operations for professional BC development workflows.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Dynamics 365 Business Central environments through natural language commands, including environment, app, session, and extension management.20 npm11MIT
- FlicenseNot gradedqualityDmaintenanceGenerates AL code for Business Central directly from your IDE, enhancing developer efficiency by providing tools, prompts, and resources for code generation.1-
- AlicenseAqualityDmaintenanceProvides AI assistants with complete visibility into AL dependencies and symbols by exposing compiled .app files through the Model Context Protocol, enabling smart object discovery, deep code analysis, and reference tracking for Business Central development.6223 npm80MIT