Microsoft Business Central MCP Server
MCP-сервер Microsoft Business Central
MCP-сервер (Model Context Protocol) для Microsoft Dynamics 365 Business Central. Предоставляет AI-ассистентам прямой доступ к данным Business Central через правильно отформатированные вызовы API v2.0.
Возможности
✅ Правильные URL-адреса API: использует формат
/companies(id)/resource(без сегмента ODataV4)✅ Нулевая установка: запуск через
npx— предварительная установка не требуется✅ Аутентификация Azure CLI: использует существующую аутентификацию Azure CLI
✅ Аутентификация client credentials: аутентификация «служба-к-службе» для AI-агентов
✅ Чистые имена инструментов: без префиксов, просто
get_schema,list_itemsи т.д.✅ Полный CRUD: создание, чтение, обновление и удаление записей Business Central
Установка
Через npx (рекомендуется)
Установка не требуется! Настройте в Claude Desktop или Claude Code:
{
"mcpServers": {
"business-central": {
"type": "stdio",
"command": "cmd",
"args": ["/c", "npx", "-y", "@knowall-ai/mcp-business-central"],
"env": {
"BC_URL_SERVER": "https://api.businesscentral.dynamics.com/v2.0/{tenant-id}/{environment}/api/v2.0",
"BC_COMPANY": "Your Company Name",
"BC_AUTH_TYPE": "azure_cli"
}
}
}
}Примечание для Windows: используйте cmd с /c, как показано выше, для корректного выполнения npx.
Через Smithery
Установите через Smithery:
npx -y @smithery/cli install @knowall-ai/mcp-business-central --client claudeЛокальная разработка
git clone https://github.com/knowall-ai/mcp-business-central.git
cd mcp-business-central
npm install
npm run build
node build/index.jsКонфигурация
Переменные окружения
Переменная | Обязательная | Описание | Пример |
| Да | Базовый URL-адрес API Business Central |
|
| Да | Отображаемое имя компании |
|
| Нет | Тип аутентификации (по умолчанию: |
|
| Для client_credentials | Идентификатор клиента Azure AD |
|
| Для client_credentials | Идентификатор клиента регистрации приложения |
|
| Для client_credentials | Секрет клиента регистрации приложения |
|
Получение значений конфигурации
Идентификатор клиента (Tenant ID): найдите в портале Azure → Azure Active Directory → Обзор
Среда (Environment): обычно
ProductionилиSandboxИмя компании: отображаемое имя, указанное в Business Central
Пример формата URL-адреса:
https://api.businesscentral.dynamics.com/v2.0/00000000-0000-0000-0000-000000000000/Production/api/v2.0Аутентификация
Рекомендация: используйте аутентификацию
azure_cli— она проще в настройке и надежнее. Методclient_credentialsтакже поддерживается, но имеет известные сложности с настройкой приложений Microsoft Entra в Business Central. Подробнее см. docs/TROUBLESHOOTING.adoc.
Вариант 1: Azure CLI (рекомендуется)
Самый простой и надежный метод аутентификации. Использует существующий вход в Azure CLI.
Предварительные требования:
Установите Azure CLI: https://docs.microsoft.com/cli/azure/install-azure-cli
Выполните вход:
az loginПроверьте доступ:
az account get-access-token --resource https://api.businesscentral.dynamics.com
Конфигурация:
{
"mcpServers": {
"business-central": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@knowall-ai/mcp-business-central"],
"env": {
"BC_AUTH_TYPE": "azure_cli",
"BC_URL_SERVER": "https://api.businesscentral.dynamics.com/v2.0/{tenant-id}/Production/api/v2.0",
"BC_COMPANY": "My Company"
}
}
}
}Вариант 2: Client Credentials (служба-к-службе)
Для автоматизированных систем, которым требуется работа без участия пользователя. Этот метод использует поток client credentials OAuth 2.0.
Примечание: этот метод имеет известные сложности с настройкой. Настройка приложений Microsoft Entra в Business Central может быть сложной, и создание пользователя приложения может не работать должным образом. Подробные инструкции см. в docs/TROUBLESHOOTING.adoc.
Обзор настройки:
Создайте регистрацию приложения в Azure:
Перейдите в портал Azure → Azure Active Directory → Регистрация приложений
Создайте новую регистрацию (одноклиентскую)
Добавьте разрешение API: Dynamics 365 Business Central →
app_access(разрешение приложения, НЕ делегированное)Предоставьте согласие администратора на это разрешение
Добавьте URI перенаправления:
https://businesscentral.dynamics.com/OAuthLanding.htm
Создайте секрет клиента:
В регистрации приложения перейдите в раздел «Сертификаты и секреты»
Создайте новый секрет клиента и сохраните его в безопасном месте
Настройте Business Central:
В Business Central найдите «Приложения Microsoft Entra»
Нажмите + Создать и введите идентификатор клиента вашего приложения
Задайте описание (оно станет именем пользователя приложения)
Установите состояние «Включено» — вы должны увидеть сообщение «Пользователь с именем '[Описание]' будет создан»
Добавьте наборы разрешений:
D365 BUS FULL ACCESS(рекомендуется) илиD365 READОставьте поле «Компания» пустым для доступа ко всем компаниям
Нажмите «Предоставить согласие»
Проверьте настройку:
Пользователь приложения должен появиться в списке пользователей в Business Central
Если нет, см. docs/TROUBLESHOOTING.adoc для решений
Справочные материалы:
Доступные инструменты
1. get_schema
Получить метаданные OData для ресурса Business Central.
Параметры:
resource(строка, обязательно): имя ресурса (например,customers,contacts,salesOpportunities)
Пример:
{
"resource": "customers"
}2. list_items
Список элементов с необязательной фильтрацией и постраничной разбивкой.
Параметры:
resource(строка, обязательно): имя ресурсаfilter(строка, необязательно): выражение фильтра ODatatop(число, необязательно): максимальное количество возвращаемых элементовskip(число, необязательно): количество пропускаемых элементов для постраничной разбивки
Пример:
{
"resource": "customers",
"filter": "displayName eq 'Contoso'",
"top": 10
}3. get_items_by_field
Получить элементы, соответствующие значению конкретного поля.
Параметры:
resource(строка, обязательно): имя ресурсаfield(строка, обязательно): имя поля для фильтрацииvalue(строка, обязательно): значение для сопоставления
Пример:
{
"resource": "contacts",
"field": "companyName",
"value": "Contoso Ltd"
}4. create_item
Создать новый элемент в Business Central.
Параметры:
resource(строка, обязательно): имя ресурсаitem_data(объект, обязательно): данные создаваемого элемента
Пример:
{
"resource": "contacts",
"item_data": {
"displayName": "John Doe",
"companyName": "Contoso Ltd",
"email": "john.doe@contoso.com"
}
}5. update_item
Обновить существующий элемент.
Параметры:
resource(строка, обязательно): имя ресурсаitem_id(строка, обязательно): идентификатор элемента (GUID)item_data(объект, обязательно): поля для обновления
Пример:
{
"resource": "customers",
"item_id": "1366066e-7688-f011-b9d1-6045bde9b95f",
"item_data": {
"displayName": "Updated Name"
}
}6. delete_item
Удалить элемент из Business Central.
Параметры:
resource(строка, обязательно): имя ресурсаitem_id(строка, обязательно): идентификатор элемента (GUID)
Пример:
{
"resource": "contacts",
"item_id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6"
}Часто используемые ресурсы
companies— информация о компанияхcustomers— записи о клиентахcontacts— записи о контактахsalesOpportunities— возможности продажsalesQuotes— коммерческие предложенияsalesOrders— заказы на продажуsalesInvoices— счета на продажуitems— элементы товаров/услугvendors— записи о поставщиках
Устранение неполадок
Подробные руководства по устранению неполадок см. в docs/TROUBLESHOOTING.adoc, где рассматриваются:
Проблемы с аутентификацией (ошибки 401, проблемы с токенами)
Сложности и известные проблемы настройки
client_credentialsОшибки «Компания не найдена»
Конфигурация для конкретной среды (Production vs Sandbox)
Разработка
# Install dependencies
npm install
# Build TypeScript
npm run build
# Watch mode for development
npm run devЛицензия
MIT
Вклад в проект
Приветствуются вопросы и pull request'ы: https://github.com/knowall-ai/mcp-business-central
Связанные проекты
Спецификация MCP: modelcontextprotocol.io
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 Connectors
MCP server for LeadDelta — manage LinkedIn connections and CRM data via AI assistants.
MCP server for AI access to Swagger by SmartBear.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
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/masoniqbal777/Mcp-Business-Central'
If you have feedback or need assistance with the MCP directory API, please join our Discord server