Skip to main content
Glama
masoniqbal777

MCP X++ Server

MCP X++ Server

Сервер Model Context Protocol (MCP) для разработки Microsoft Dynamics 365 Finance & Operations. Этот инструмент обеспечивает создание, изменение и анализ объектов D365 через стандарт MCP, что позволяет интегрироваться с различными средами разработки.

Дата: 18 сентября 2025 г.
Статус: Функционально с интеграцией сервисов VS2022 и улучшенным созданием форм

Последние обновления ✨

19 сентября 2025 г. — Безопасное удаление объектов:

  • 🗑️ НОВЫЙ инструмент delete_xpp_object: безопасное удаление объектов D365 с проверкой зависимостей и поддержкой каскадного удаления

  • 🛡️ Защита зависимостей: предотвращает удаление, если от целевого объекта зависят другие объекты, что исключает критические изменения

  • 🔄 Согласованность кэша: автоматическое обновление поискового индекса после успешного удаления

  • ⚡ Высокая производительность: прямая интеграция с провайдером метаданных через ISingleKeyedMetadataProvider.Delete

  • 🌲 Каскадное удаление: опциональное удаление дочерних объектов (части форм, связи таблиц и т. д.)

  • ✅ Комплексное тестирование: полный цикл проверки создания/удаления для всех типов объектов

18 сентября 2025 г. — Массовые изменения и улучшения создания форм:

  • 🚀 НОВЫЕ массовые изменения: execute_object_modification теперь использует исключительно пакетный формат для согласованных операций

  • 🔄 Принудительная пакетная обработка: одиночные операции используют массив с одним элементом — больше никаких последовательных отдельных вызовов

  • 📊 Улучшенное отслеживание ответов: отчеты об успехе/ошибке по каждой операции с детальным временем выполнения и сообщениями об ошибках

  • 📋 Документация по лучшим практикам: четкие рекомендации по группировке всех изменений одного объекта в один вызов

  • 🎯 НОВЫЙ инструмент create_form: специализированное создание форм с поддержкой шаблонов и интеграцией источников данных

  • 🔧 Исправлен шаблон DetailsMaster: устранены проблемы валидации за счет интеллектуального создания элементов управления полями

  • 🗄️ Расширенная поддержка источников данных: гибкая обработка источников данных (массивы, строки, значения через запятую)

  • 📋 Обнаружение шаблонов: 36 отфильтрованных шаблонов форм с описаниями и требованиями

  • ✅ Проверка шаблонов: автоматическое создание элементов управления полями для шаблонов, требующих этого

Related MCP server: MCP X++ Server

Обзор

Этот MCP-сервер предоставляет возможности разработки D365 F&O, включая:

  • Создание объектов: поддержка классов, таблиц, форм, перечислений D365 и более чем 544 других типов объектов

  • Создание форм: ✨ Улучшено — специализированное создание форм с проверкой шаблонов и интеграцией источников данных

  • Удаление объектов: ✨ НОВОЕ — безопасное удаление объектов с проверкой зависимостей и поддержкой каскадного удаления

  • Изменение объектов: добавление методов, полей и других компонентов в существующие объекты

  • Просмотр объектов: анализ объектов D365 и извлечение исходного кода X++

  • Поиск по кодовой базе: просмотр и поиск по кодовым базам D365 с использованием сопоставления с образцом

  • Протокол MCP: совместимость с Claude Desktop, VS Code и другими MCP-клиентами

Архитектура

Система состоит из двух основных компонентов, взаимодействующих через именованные каналы Windows:

MCP X++ Server (Node.js/TypeScript)

  • Реализует протокол Model Context Protocol (STDIO)

  • Обрабатывает операции создания, изменения и поиска объектов

  • Обеспечивает просмотр файлов и индексацию кодовой базы

  • Совместим с MCP-клиентами, такими как Claude Desktop и VS Code

Служба метаданных D365 (C# .NET 4.8)

  • Интегрируется с библиотеками Microsoft D365

  • Обрабатывает создание и изменение объектов через API VS2022

  • Обеспечивает динамическое отражение для обнаружения объектов во время выполнения

  • Взаимодействует через именованный канал: mcp-xpp-d365-service

Архитектура обеспечивает разработку D365 из различных MCP-совместимых клиентов, сохраняя совместимость с существующими рабочими процессами разработки D365.

Доступные инструменты

Сервер предоставляет 10 специализированных инструментов для разработки D365:

  1. create_xpp_object — создание объектов D365 (классы, таблицы, перечисления и т. д.) — Примечание: для форм используйте create_form

  2. create_form — ✨ НОВЫЙ — специализированное создание форм с поддержкой шаблонов и интеграцией источников данных

  3. delete_xpp_object — ✨ НОВЫЙ — безопасное удаление объектов D365 с проверкой зависимостей и согласованностью кэша

  4. execute_object_modification — ✨ УЛУЧШЕН — изменение объектов на основе массивов с пакетной обработкой — РЕКОМЕНДАЦИЯ: группируйте все изменения одного объекта

  5. discover_modification_capabilities — просмотр доступных методов изменения

  6. find_xpp_object — поиск конкретных объектов по имени/типу

  7. search_objects_pattern — поиск по шаблону с поддержкой подстановочных знаков

  8. inspect_xpp_object — анализ объектов с извлечением исходного кода X++

  9. get_current_config — конфигурация и статус системы

  10. build_object_index — управление индексом для производительности поиска

Предварительные требования

  • Visual Studio 2022 (Community, Professional или Enterprise)

  • Инструменты разработки Dynamics 365 для Visual Studio 2022

  • Node.js (рекомендуется последняя версия LTS)

  • .NET Framework 4.8 (обычно входит в состав Windows)

Установка

  1. Клонируйте репозиторий

  2. Установите зависимости Node.js: npm install

  3. Запустите настройку для конфигурации интеграции VS2022: .\tools\build-and-run.ps1 -Action setup

  4. Соберите проект: .\tools\build-and-run.ps1 -Action build

Использование

Запуск сервера

Запустите MCP-сервер с помощью:

node build/index.js

Сервер автоматически определяет пути D365 из вашей установки VS2022. Для ручной настройки используйте:

node build/index.js --xpp-path "C:\path\to\PackagesLocalDirectory"

Конфигурация MCP-клиента

VS Code

Настройте в .vscode/mcp.json:

{
  "servers": {
    "mcp-xpp-server": {
      "command": "node",
      "args": ["./build/index.js"],
      "cwd": "${workspaceFolder}",
      "type": "stdio"
    }
  }
}

Claude Desktop

Добавьте в файл конфигурации Claude Desktop:

{
  "mcpServers": {
    "mcp-xpp-server": {
      "command": "node",
      "args": ["path/to/mcp_xpp/build/index.js"]
    }
  }
}

Справочник инструментов

Создание объектов

create_xpp_object

Создает объекты D365 F&O с использованием интеграции сервисов VS2022.

⚠️ Важно: для создания форм используйте специальный инструмент create_form, поскольку он обеспечивает специализированную поддержку шаблонов и интеграцию источников данных.

Параметры:

  • objectName (строка) — имя объекта D365

  • objectType (строка) — тип объекта (AxClass, AxTable, AxEnum и т. д.) — исключая AxForm

  • layer (строка, необязательно) — слой приложения (usr, cus, var)

  • outputPath (строка, необязательно) — выходной каталог (по умолчанию: "Models")

  • publisher (строка, необязательно) — название компании (по умолчанию: "YourCompany")

  • version (строка, необязательно) — номер версии (по умолчанию: "1.0.0.0")

  • dependencies (массив, необязательно) — зависимости модели

  • properties (объект, необязательно) — конфигурация для конкретного объекта

Пример:

create_xpp_object({
  "objectName": "MyCustomClass",
  "objectType": "AxClass",
  "layer": "usr"
})

create_form ✨ НОВЫЙ

Специализированный инструмент для создания форм D365 с расширенной поддержкой шаблонов и интеграцией источников данных. Этот инструмент объединяет создание форм и обнаружение шаблонов в одном интерфейсе.

Параметры:

  • mode (строка, обязательно) — режим работы:

    • "create" — создать новую форму с шаблонами и источниками данных

    • "list_patterns" — просмотреть доступные шаблоны форм D365

  • formName (строка, необязательно) — имя формы (обязательно при mode='create')

  • patternName (строка, необязательно) — применяемый шаблон формы D365 (например, 'SimpleListDetails', 'DetailsMaster', 'Dialog')

  • patternVersion (строка, необязательно) — версия шаблона (по умолчанию: 'UX7 1.0')

  • dataSources (массив|строка, необязательно) — имена таблиц для источников данных формы

  • modelName (строка, необязательно) — имя модели/пакета D365 (по умолчанию: 'ApplicationSuite')

Ключевые возможности:

  • 🎯 С учетом шаблона: автоматически добавляет элементы управления полями, когда это требуется шаблоном (например, DetailsMaster)

  • 🗄️ Гибкие источники данных: поддержка массивов, одиночных строк или строк через запятую

  • 🔍 Обнаружение шаблонов: выводит список всех 36+ доступных шаблонов форм D365 с описаниями

  • ✅ Расширенная валидация: устраняет проблемы проверки шаблонов за счет интеллектуального создания элементов управления полями

Примеры:

// Discover available patterns
create_form({"mode": "list_patterns"})

// Create simple list form with datasource
create_form({
  "mode": "create",
  "formName": "MyCustomerListForm", 
  "patternName": "SimpleListDetails",
  "dataSources": ["CustTable"]
})

// Create DetailsMaster form with multiple datasources
create_form({
  "mode": "create",
  "formName": "MySalesOrderForm",
  "patternName": "DetailsMaster",
  "patternVersion": "UX7 1.0", 
  "dataSources": ["SalesTable", "SalesLine", "CustTable"],
  "modelName": "MyCustomModel"
})

// Create dialog form without datasources
create_form({
  "mode": "create",
  "formName": "MyConfirmationDialog",
  "patternName": "Dialog"
})

Технические примечания:

  • Шаблоны DetailsMaster, SimpleListDetails и ListPage автоматически дополняются элементами управления полями (RecId, Name, Description, Code) при указании источников данных

  • Исправлена проверка шаблонов — формы можно создавать с источниками данных или без них в зависимости от требований шаблона

  • Инструмент использует прямую интеграцию сервисов VS2022 для оптимальной совместимости с D365

delete_xpp_object ✨ НОВЫЙ

Безопасно удаляет объекты D365 F&O с комплексной проверкой зависимостей и согласованностью кэша. Этот инструмент предотвращает критические изменения, проверяя зависимости перед удалением.

Параметры:

  • objectName (строка, обязательно) — имя удаляемого объекта D365

  • objectType (строка, обязательно) — тип объекта D365 (AxClass, AxTable, AxForm, AxEnum и т. д.)

  • cascadeDelete (логическое значение, необязательно) — также удалить зависимые объекты (по умолчанию: false)

Ключевые возможности:

  • 🛡️ Проверка зависимостей: предотвращает удаление, если от целевого объекта зависят другие объекты

  • 🗑️ Безопасное удаление: использует ISingleKeyedMetadataProvider.Delete из D365 для корректной очистки

  • 🔄 Согласованность кэша: автоматически обновляет поисковый индекс после успешного удаления

  • ⚡ Высокая скорость: прямая интеграция с провайдером метаданных для оптимальной производительности

  • 🌲 Поддержка каскадного удаления: опциональное удаление дочерних объектов (формы с частями/элементами управления и т. д.)

Примеры:

// Delete a custom class
delete_xpp_object({
  "objectName": "MyCustomClass",
  "objectType": "AxClass"
})

// Delete a table with cascade (removes dependent field groups, relations, etc.)
delete_xpp_object({
  "objectName": "MyTestTable", 
  "objectType": "AxTable",
  "cascadeDelete": true
})

// Delete a form (will fail if dependencies exist without cascade)
delete_xpp_object({
  "objectName": "MyCustomForm",
  "objectType": "AxForm"
})

Формат ответа:

{
  "success": true,
  "message": "Successfully deleted object: MyCustomClass (AxClass)",
  "objectName": "MyCustomClass",
  "objectType": "AxClass",
  "cascadeDelete": false,
  "dependenciesRemoved": [],
  "cacheUpdate": "Success",
  "performance": "156ms"
}

⚠️ Примечания по безопасности:

  • ОПЕРАЦИЯ ВЫСОКОГО РИСКА: удаление необратимо и не может быть отменено

  • Всегда проверяйте зависимости с помощью find_xpp_object перед удалением

  • Используйте cascadeDelete: false (по умолчанию) для максимальной безопасности

  • Сначала тестируйте удаление в средах разработки

  • Инструмент безопасно завершится с ошибкой, если существуют зависимости без флага каскадного удаления

  • Обновление кэша обеспечивает немедленную согласованность поиска после удаления

Распространенные типы объектов:

  • AxClass — классы X++ и бизнес-логика

  • AxTable — таблицы данных и схемы

  • AxForm — пользовательские формы

  • AxEnum — перечисления и списки значений

  • AxEdt — расширенные типы данных

  • AxView — представления базы данных

  • AxQuery — запросы данных

  • AxReport — отчеты SSRS

Обнаружение объектов

find_xpp_object

Находит объекты X++ по имени с необязательной фильтрацией.

Параметры:

  • objectName (строка, обязательно) — имя объекта X++

  • objectType (строка, необязательно) — фильтр по типу объекта

  • model (строка, необязательно) — фильтр по имени модели/пакета D365

search_objects_pattern

Выполняет поиск объектов D365 с использованием подстановочных шаблонов.

Параметры:

  • pattern (строка, обязательно) — шаблон поиска с подстановочными знаками (*, ?)

  • objectType (строка, необязательно) — фильтр по типу объекта

  • model (строка, необязательно) — фильтр по имени модели/пакета D365

  • limit (число, необязательно) — максимальное количество результатов (по умолчанию: 50)

  • format (строка, необязательно) — формат вывода: 'text' или 'json'

inspect_xpp_object

Анализирует объекты D365 с несколькими режимами проверки.

Параметры:

  • objectName (строка, обязательно) — имя объекта X++

  • objectType (строка, необязательно) — тип объекта D365

  • inspectionMode (строка, необязательно) — уровень проверки:

    • summary — быстрый обзор с количеством коллекций

    • properties — все свойства объекта с описаниями

    • collection — элементы конкретной коллекции (требуется collectionName)

    • xppcode — извлечение исходного кода X++ (требуется codeTarget)

  • collectionName (строка, необязательно) — обязательно при inspectionMode='collection'

  • codeTarget (строка, необязательно) — обязательно при inspectionMode='xppcode':

    • methods — извлечь исходный код всех методов

    • specific-method — один метод (требуется methodName)

    • event-handlers — только методы обработчиков событий

  • methodName (строка, необязательно) — обязательно при codeTarget='specific-method'

  • maxCodeLines (число, необязательно) — ограничение количества строк исходного кода на метод

  • filterPattern (строка, необязательно) — подстановочный фильтр для результатов

Примеры:

// Get object summary
inspect_xpp_object({"objectName": "CustTable", "inspectionMode": "summary"})

// Extract specific method source code
inspect_xpp_object({
  "objectName": "SalesLine", 
  "objectType": "AxTable", 
  "inspectionMode": "xppcode", 
  "codeTarget": "specific-method", 
  "methodName": "validateWrite"
})

Изменение объектов

execute_object_modification ✨ УЛУЧШЕНО ПАКЕТНОЙ ОБРАБОТКОЙ

Выполняет методы изменения существующих объектов D365 с пакетной обработкой на основе массивов. Всегда используйте формат массива — одиночные операции используют массив с одним элементом.

📋 РЕКОМЕНДАЦИЯ: группируйте ВСЕ изменения одного объекта в ОДИН вызов вместо отдельных вызовов. Это обеспечивает лучшую производительность, обработку ошибок и целостность транзакций.

Параметры:

  • objectType (string, required) — тип объекта D365 (например, 'AxTable', 'AxClass', 'AxForm')

  • objectName (string, required) — имя существующего объекта для изменения

  • modifications (array, required) — массив операций изменения:

    • methodName (string, required) — метод изменения для выполнения

    • parameters (object, required) — параметры для конкретного метода, включая:

      • concreteType (string, required) — точный тип из discover_modification_capabilities

      • Name (string) — имя поля/объекта (используйте 'Name', а не 'fieldName')

      • Другие параметры, специфичные для D365, если требуются

✅ Возможности:

  • Отслеживание по операциям: Каждая операция возвращает индивидуальный статус успеха/неудачи

  • Подробный отчет об ошибках: Понятные сообщения проверки для неудачных операций

  • Последовательная обработка: Операции выполняются по порядку с информацией о времени выполнения

  • Эффективность пакетной обработки: Несколько операций в одном вызове сервиса

Примеры:

✅ Одно поле (массив с одним элементом):

execute_object_modification({
  "objectType": "AxTable",
  "objectName": "CustTable",
  "modifications": [
    {
      "methodName": "AddField",
      "parameters": {
        "concreteType": "AxTableFieldString",
        "Name": "MyCustomField",
        "Label": "My Custom Field",
        "HelpText": "Custom field description",
        "SaveContents": "Yes",
        "Mandatory": "No",
        "AllowEditOnCreate": "Yes",
        "AllowEdit": "Yes",
        "Visible": "Yes",
        "AosAuthorization": "None",
        "MinReadAccess": "Auto",
        "IgnoreEDTRelation": "No",
        "Null": "Yes",
        "IsSystemGenerated": "No",
        "IsManuallyUpdated": "No",
        "IsObsolete": "No",
        "GeneralDataProtectionRegulation": "None",
        "SysSharingType": "Duplicate"
      }
    }
  ]
})

⭐ Несколько полей в одном пакете (ПРЕДПОЧТИТЕЛЬНО):

execute_object_modification({
  "objectType": "AxTable",
  "objectName": "CustTable",
  "modifications": [
    {
      "methodName": "AddField",
      "parameters": {
        "concreteType": "AxTableFieldString",
        "Name": "CustomerCategory",
        "Label": "Customer Category",
        "HelpText": "Customer classification category",
        "SaveContents": "Yes",
        "Mandatory": "No",
        "AllowEditOnCreate": "Yes",
        "AllowEdit": "Yes",
        "Visible": "Yes",
        "AosAuthorization": "None",
        "MinReadAccess": "Auto",
        "IgnoreEDTRelation": "No",
        "Null": "Yes",
        "IsSystemGenerated": "No",
        "IsManuallyUpdated": "No",
        "IsObsolete": "No",
        "GeneralDataProtectionRegulation": "None",
        "SysSharingType": "Duplicate"
      }
    },
    {
      "methodName": "AddField", 
      "parameters": {
        "concreteType": "AxTableFieldInt",
        "Name": "CustomerPriority",
        "Label": "Customer Priority",
        "HelpText": "Priority level for customer",
        "SaveContents": "Yes",
        "Mandatory": "No",
        "AllowEditOnCreate": "Yes",
        "AllowEdit": "Yes",
        "Visible": "Yes",
        "AosAuthorization": "None",
        "MinReadAccess": "Auto",
        "IgnoreEDTRelation": "No",
        "Null": "Yes",
        "IsSystemGenerated": "No",
        "IsManuallyUpdated": "No",
        "IsObsolete": "No",
        "GeneralDataProtectionRegulation": "None",
        "SysSharingType": "Duplicate"
      }
    }
  ]
})

📊 Формат ответа: Инструмент возвращает подробные результаты по каждой операции:

{
  "summary": "2 succeeded, 1 failed (3 total)",
  "targetObject": "AxTable:CustTable",
  "operations": [
    {
      "methodName": "AddField",
      "success": true,
      "processingTime": "371ms",
      "message": "Successfully executed AddField on AxTable:CustTable"
    },
    {
      "methodName": "AddField",
      "success": false,
      "processingTime": "0ms",
      "error": "Parameter validation failed: Missing required parameters"
    }
  ]
}

💡 Советы:

  • Сначала используйте discover_modification_capabilities, чтобы получить точные требования к параметрам

  • Все поля таблиц D365 требуют такие параметры, как SaveContents, Mandatory и т. д.

  • Группируйте связанные изменения для повышения производительности

  • Проверяйте результаты отдельных операций для отладки неудачных операций

discover_modification_capabilities

Определяет доступные методы изменения для типов объектов D365.

Параметры:

  • objectType (string, required) — тип объекта D365 для анализа

Управление системой

get_current_config

Возвращает полную информацию о конфигурации сервера и его статусе.

build_object_index

Строит или обновляет поисковый индекс объектов.

Параметры:

  • objectType (string, optional) — конкретный тип объекта для индексации

  • forceRebuild (boolean, optional) — принудительная полная пересборка

Поддерживаемые типы объектов

Поддерживаются распространённые типы объектов D365:

  • AxClass — классы X++

  • AxTable — таблицы данных

  • AxForm — формы пользовательского интерфейса

  • AxEnum — перечисления

  • AxEdt — расширенные типы данных

  • AxView — представления базы данных

  • AxQuery — запросы данных

  • AxReport — отчёты SSRS

  • AxMenuItemDisplay — пункты меню

  • AxDataEntityView — сущности OData

Всего система поддерживает 544+ типов объектов.

Скрипты сборки

Скрипт build-and-run.ps1 обеспечивает единое управление проектом:

# Setup VS2022 integration
.\tools\build-and-run.ps1 -Action setup

# Build both TypeScript and C# components
.\tools\build-and-run.ps1 -Action build

# Run the MCP server
.\tools\build-and-run.ps1 -Action run -Target mcp

# Run the C# service
.\tools\build-and-run.ps1 -Action run -Target csharp

# Run tests
.\tools\build-and-run.ps1 -Action test

# Clean builds
.\tools\build-and-run.ps1 -Action clean

Примеры рабочих процессов

Создание нового класса

# Create a custom class
create_xpp_object {
  "objectName": "MyBusinessLogic",
  "objectType": "AxClass",
  "layer": "usr"
}

# Add a method to the class
execute_object_modification {
  "objectType": "AxClass",
  "objectName": "MyBusinessLogic",
  "methodName": "AddMethod",
  "parameters": {
    "methodName": "processData",
    "returnType": "void",
    "source": "public void processData() { }"
  }
}

Поиск и анализ объектов

# Find customer-related objects
search_objects_pattern {
  "pattern": "Cust*",
  "objectType": "AxTable",
  "limit": 20
}

# Analyze a specific table
inspect_xpp_object {
  "objectName": "CustTable",
  "objectType": "AxTable",
  "inspectionMode": "summary"
}

# Extract method source code
inspect_xpp_object {
  "objectName": "CustTable",
  "objectType": "AxTable",
  "inspectionMode": "xppcode",
  "codeTarget": "specific-method",
  "methodName": "validateWrite"
}

Технические детали

Характеристики производительности

  • Индексация объектов: обработка 70K+ объектов за ~30 секунд

  • Время ответа на запрос: <50 мс для большинства операций

  • Поисковые операции: ответ менее чем за секунду для больших баз кода

  • Использование памяти: оптимизированное кэширование на основе SQLite

Поддерживаемые типы файлов

  • .xpp — исходные файлы X++

  • .xml — файлы метаданных и конфигурации

  • .json — файлы конфигурации

  • Другие файлы разработки D365

Безопасность

  • Проверка путей предотвращает выход за пределы каталогов

  • Операции ограничены настроенной базой кода D365

  • Ограничения размера файлов для управления ресурсами

  • Проверка входных данных для всех параметров

Устранение неполадок

Распространённые проблемы

"Расширение VS2022 не найдено"

  • Убедитесь, что в VS2022 установлены Dynamics 365 Development Tools

  • Запустите скрипт настройки: .\tools\build-and-run.ps1 -Action setup

"Сбой подключения к именованному каналу"

  • Проверьте, работает ли C#-сервис

  • Проверьте настройки брандмауэра Windows

  • Убедитесь, что установлен .NET Framework 4.8

Ошибки "Объект не найден"

  • Постройте индекс объектов: build_object_index

  • Проверьте конфигурацию пути к базе кода D365

  • Убедите, что объект существует в указанной модели

"Ошибка проверки шаблона" для форм

  • ✅ РЕШЕНО: Эта проблема исправлена в последней версии

  • Формы с шаблонами типа DetailsMaster теперь автоматически включают обязательные элементы управления полями

  • Используйте инструмент create_form вместо create_xpp_object для более качественного создания форм

"Создание формы без источников данных приводит к сбою"

  • Большинство шаблонов работает без источников данных (например, DetailsMaster, диалоговые шаблоны)

  • Используйте create_form с "mode": "list_patterns", чтобы увидеть требования шаблона

  • DataSources необязательны для большинства шаблонов, но при их наличии расширяют функциональность

Получение справки

  • Проверьте папку logs/ на наличие подробной информации об ошибках

  • Используйте get_current_config для проверки конфигурации системы

  • Сообщайте об проблемах в репозиторий GitHub

Участие в проекте

Этот проект приветствует вклад. Пожалуйста:

  1. Сделайте форк репозитория

  2. Создайте ветку для новой функций

  3. Внесите изменения и добавьте соответствующие тесты

  4. Отправьте pull request

Обратите внимание, что API могут изменяться по мере развития проекта.

Лицензия

Лицензия MIT — см. файл LICENSE.

Отказ от ответственности

Данное программное обеспечение предоставляется "как есть" без каких-либо гарантий. Оно предназначено только для исследовательских и разработочных целей, а не для использования.

Важные примечания:

  • Требуются Visual Studio 2022 и инструменты разработки D365

  • Интеграция с API Microsoft официально не поддерживается

  • Возможности могут изменяться или ломаться между версиями

  • Используйте только в средах разработки и на свой риск

Сообщайте об проблемах или предлагайте улучшения через репозиторий GitHub.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for Microsoft Dynamics 365 Finance & Operations that enables the creation, modification, and analysis of D365 objects like classes, tables, and forms. It integrates with Visual Studio 2022 to provide tools for X++ code extraction, codebase search, and safe object deletion with dependency validation.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables D365 F\&O development including object creation, modification, deletion, and analysis through the MCP standard.
    40
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that integrates with Microsoft Dynamics 365 Business Central, enabling querying of customers, items, and sales orders through natural language commands in Claude Desktop.
    10
    -