Skip to main content
Glama
masoniqbal777

MCP X++ Server

MCP X++ Server

Microsoft Dynamics 365 Finance & Operations 개발을 위한 Model Context Protocol(MCP) 서버입니다. 이 도구는 MCP 표준을 통해 D365 객체 생성, 수정, 분석을 가능하게 하여 다양한 개발 환경과의 통합을 지원합니다.

날짜: September 18, 2025
상태: VS2022 서비스 통합 및 향상된 폼 생성 기능을 지원하는 정상 동작 상태

최근 업데이트 ✨

2025년 9월 19일 - 안전한 객체 삭제 기능:

  • 🗑️ 새로운 delete_xpp_object 도구: 종속성 검증 및 캐스케이드 지원이 포함된 안전한 D365 객체 삭제

  • 🛡️ 종속성 보호: 다른 객체가 해당 객체에 의존하는 경우 삭제를 차단하여 치명적인 변경 방지

  • 🔄 캐시 일관성: 삭제 성공 후 검색 인덱스를 자동으로 업데이트

  • 높은 성능: ISingleKeyedMetadataProvider.Delete를 활용한 직접 메타데이터 공급자 통합

  • 🌲 캐스케이드 삭제: 하위 객체 선택적 삭제 (폼 파트, 테이블 관계 등)

  • 포괄적인 테스트: 객체 유형 전반에 걸친 전체 생성/삭제 주기 검증

2025년 9월 18일 - 배열 기반 수정 및 폼 생성 개선:

  • 🚀 새로운 배열 전용 수정: execute_object_modification은 이제 일관된 작업을 위해 배치 형식만 사용 가능

  • 🔄 강제 일괄 처리: 단일 작업은 하나의 요소를 가진 배열로 처리되며, 더 이상 별도 연속 호출할 필요가 없음

  • 📊 향상된 응답 추적: 각 작업에 대한 세부 타이밍 및 오류 메시지가 포함된 성공/실패 보고

  • 📋 모범 사례 문서화: 동일 객체에 대한 모든 수정 사항을 단일 호출로 묶는 명확한 지침

  • 🎯 새로운 create_form 도구: 패턴 지원 및 데이터소스 연동이 포함된 특화된 폼 생성

  • 🔧 DetailsMaster 패턴 수정: 지능형 필드 제어 생성을 통한 검증 문제 해결

  • 🗄️ 데이터Source 강화: 배열, 문자열, 쉼표로 구분된 값 등 유연한 데이터스 지원

  • 📋 패턴 탐색: 설명 및 요구 사항이 포함된 36개의 필터링된 폼 패턴 제공

  • 패턴 검증: 패턴이 요구하는 필드의 자동 생성

개요

이 MCP 서버는 다음과 같은 D365 F&O 개발 기능을 제공합니다:

  • 객체 생성: D365 클래스, 테이블, 폼, 열거형 및 544개 이상의 기타 객체 유형 지원

  • 폼 생성: ✨ 개선됨 - 패턴 검증 및 데이터소스 통합을 갖춘 특수 목적의 폼 생성

  • 객체 삭제: ✨ 신규 - 종속성 검증 및 캐스케이드 삭제를 지원하는 안전한 객체 삭제

  • 객체 수정: 기존 객체에 메서드, 필드 및 기타 구성 요소 추가

  • 객체 검사: D365 객체 분석 및 X++ 소스 코드 추출

  • 코드 검색: 패턴 일치를 통해 D365 코드 검색

  • MCP 프로토콜: Claude Desktop, VS Code 및 기타다른 MCP 클라이언트와 호환

아키텍처

이 시스템은 Windows Named Pipes를 통해 통신하는 두 가지 주요 구성 요소로 이루어져 있습니다:

MCP X Server (Node.js/TypeScript)

  • Model Context Protocol(STDIO) 구현

  • 객체 생성, 수정, 검색 작업을 처리

  • 파일 탐색 및 코드베이스 인덱싱 제공

  • Claude Desktop 및 VS Code를 비롯한 MCP 클라이언트와 호환

D365 Metadata Service (C# .NET 4.8)

  • Microsoft의 D365 어셈블리와 통합

  • VS2022 API를 통한 객체 생성 및 수정 처리

  • 런타임 객체 검색을 위한 동적 리플렉션 제공

  • Named Pipe로 통신: mcp-xpp-d365-service

이 아키텍처는 기존 D365 개발 워크플로우와의 호환성을 유지하면서 다양한 MCP 호환 클라이언트에서 D365 개발을 가능하게 합니다.

도구 참고

서버는 D365 개발에 특화된 10개의 도구를 제공합니다:

  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)

  • Visual Studio 2022용 Dynamics 365 개발 도구

  • Node.js 최신 LTS 버전 권장

  • .NET Framework 4.8 (일반적으로 Windows에 포함)

설치

  1. 저장소를 복제합니다.

  2. Node.js 종속 패키지를 설치합니다: npm install

  3. VSCO2022 통합을 구성하려면 설치 스크립트를 실행합니다: .\tools\build-and-run.ps1 -Action setup

  4. 프로젝트를 빌드합니다: .\tools\build-and-run.ps1 -Action build

사용 방법

서버 시작

다음과 같이 MCP 서버를 실행합니다:

node build/index.js

서버는 VS2022 설치에서 D365 경로를 자동으로 감지합니다. 수동 설정이 필요한 경우, 다음을 사용합니다:

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"]
    }
  }
}

도구 참조

객체 생성 (Object Creation)

create_xpp_object

VS2022 서비스와 협력하여 D365 F&O 객체를 생성합니다.

⚠️ 중요: 폼을 만들려면 전용 create_form을 사용하세요. 특수한 패턴 지원 및 데이터소스 통합이 제공됩니다.

매개변수:

    • objectName (string) - D365 객체의 이름

  • objectType (string) - 객체 유형(AxClass, AxTable, AxEnum 등) - AxForm 제외

  • layer (string, optional) - 애플리케이션 계층(usr, cus, var)

  • outputPath (string, optional) - 출력 폴더(기본값: "Models")

  • publisher (string, optional) - 회사 이름(기본: "YourCompany")

  • version (string, optional) - 버전 번호(기본: "1.0.0.0")

  • dependencies (array, optional) - 모델 엄성 정의

  • properties (object, optional) - 객체별 별도 설정

예:

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

create_form새 기능

고급 패턴 지원과 데이터소스 통합이 포함된 D365 폼을 만드는 전문 도구로, 폼 생성과 패턴 탐색을 하나의 인터페이스로 제공합니다.

매개변수:

  • mode (string, required) - 작업 모드:

    • "create" - 패턴과 데이터소스로 새 폼 생성

    • "list_patterns"

  • formName (string, optional) - 폼 이름 (mode='create'일 경우 필수)

  • patternName (string, optional) - 적용할 D365 폼 패턴 (예: 'SimpleListDetails', 'DetailsMaster', 'Dialog')

  • patternVersion (string, optional) - 패턴 버전(기본값: 'UX7 1.0')

  • dataSources (array|string, optional) - 폼 데이터 소스로 사용할 테이블 목록

  • modelName (string, optional) - 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, ListEdit와 같은 패턴에는 데이터데이터소스가 제공될 때 자동으로 필드 컨트롤(RecId, Name, Description, Code)이 추가됩니다.

  • 패턴 검증 문제가 해결되었습니다. 이제 패턴 요구 사항에 따라 데있고 없든 폼을 생성할 수 있습니다.

  • 보다 나은 D365 호환성을 위해 VS2022 서비스와 직접 통합됩니다.

`delete_xpp_object ✨ 신규

종속성 검증 및 캐시 일치성을 통해 D365-개체를 안전하게 삭제하는 도구입니다. 삭제 전에 종속성을 확인함으로써 중요한 변경을 방지합니다.

매개변수:

  • objectName (string, required) - 삭제할 D365 객체의 이름

  • objectType (string, required) - D365 객체 형식(AxClass, AxTable, AxForm, AxEnum, 등등)

  • cascadeDelete (boolean, optional) - 하위 개체도 삭제(기본값: false)

주요 기능:

  • 🛡️ 의존성 확인: 대상 객체에 다른 객체가 의존하면 삭제를 중단합니다.

  • 🗑️ 안전한 삭제*: D365 의 ISingleKeyedMetadataProvider.Delete를 이용하여 올바르게 삭제합니다.

  • 🔄 캐시 일치: 성공적인 삭제 후 검색 색인을 자동으로 업데이트합니다.

  • 빠른 성능: 최적의 속도를 위해 메타 데이터 공급자 직접 통합

  • 🌲 고리 구조 삭제: 하위 요소(양식 부품/컨트롤 등) 선택적 삭제

예:

// 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 - UI 폼

  • AxEnum - 열거 형 및 값 목록

  • AxEdt - 확장 데이터 형식

  • AxView - 데이터베이스 보기

  • AxQuery - 데이터 질의

  • AxReport - SSRS 보고서

객체 찾기

find_xpp_object

특정 이름으로 X++ 개체 위치를 찾습니다.

매개변수:

    • objectName (string, required) - XPP 개체의 이름

  • objectType (string, optional) - 객체 형식별 필터링

  • model (string, optional) - D365 모델/패키지 이름으로 필터링

search_objects_pattern

와일드카드이 포함된 패턴 개체를 검색합니다.

매개변수:

  • pattern (string, required) - 패턴 (예: *? 와일드카드)

  • objectType (string, optional) - 개체 형식 필터

  • model (string, optional) - D365 모델/패키지 이름 필터

  • limit (number, optional) - 최대 결과 수 (기본값: 50)

  • format (string, optional) - 출력 형식 자세한 형식: 'text' 또는 'json'

inspect_xpp_object

여러 검사 모드로 D365 개체를 분석합니다.

매개변수:

  • objectName (string, required) - X++ 개체의 이름

  • objectType (string, optional) - D365 개체 형식

  • inspectionMode (string, optional) - 검사 모드:

    • summary - 객체의 콘텐츠(항목 수를 포함한 빠른 개요)

    • properties - 모든 개체 속성을 속성 설명과 함께

    • collection - 선택한 컬렉션 항목 (collectionName 필요)

    • xppcode - X++ 소스 코드 추출 (codeTarget 필요)

  • collectionName (string, optional) - inspectionMode='collection'일 때 필수

  • codeTarget (string, optional) - inspectionMode='xppcode'일 때 필요:

    • methods - 모든 메서드의 소스 코드 추출

    • specific-method - 단일 메서드 추출 (methodName 필요)

    • event-handlers - 이벤트 처리기만 추출

  • methodName (string, optional) - codeTarget='specific-method' 시 필요

  • maxCodeLines (number, optional) - 각 메서드의 소스 줄 수 제한

  • filterPattern (string, optional) - 결과의 와일드카드 패턴 필터

예:

// 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"
})

객체 수정 (Object Modification)

execute_object_modification일괄 처리 개선

기존 D365 개체에 배열 기반 일괄 처리를 사용하여 수정 메서드를 실행합니다. 항상 배열 형식으로 사용하세요. - 단일 작업도 하나의 요소를 가진 배열로 처리합니다.

📋 모범 사례: 동일 객체에 대한 모든 수정 작업을 여러 호출로 나누지 말고 하나의 호출로 묶어서 실행합니다. 이것은 더 나은 성능, 오류 처리 안정성 및 트랜잭션 일관성을 제공합니다.

Parameters:

  • 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) - 필드/객체 이름 ('fieldName'이 아닌 'Name' 사용)

      • 기타 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초 내에 처리

  • 쿼리 응답 시간: 대부분의 작업에서 50ms 미만

  • 검색 작업: 대규모 코드베이스에서 1초 미만 응답

  • 메모리 사용량: 최적화된 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_xpp_object 대신 create_form 도구를 사용하세요

"데이터소스 없이 양식 생성 실패"

  • 대부분의 패턴은 데이터소스 없이도 정상 작동합니다 (예: DetailsMaster, Dialog 패턴)

  • 패턴 요구사항을 확인하려면 "mode": "list_patterns"와 함께 create_form을 사용하세요

  • DataSources는 대부분의 패턴에서 선택 사항이지만 제공 시 기능이 향상됩니다

도움말 얻기

  • 자세한 오류 정보는 logs/ 폴더를 확인하세요

  • get_current_config를 사용하여 시스템 구성을 확인하세요

  • GitHub 저장소에 문제를 보고하세요

기여

이 프로젝트는 기여를 환영합니다. 다음을 수행해 주세요:

  1. 저장소를 포크하세요

  2. 기능 브랜치를 만드세요

  3. 적절한 테스트와 함께 변경 사항을 적용하세요

  4. 풀 리퀘스트를 제출하세요

프로젝트가 발전함에 따라 API가 변경될 수 있습니다.

라이선스

MIT 라이선스 - 자세한 내용은 LICENSE 파일을 참조하세요.

면책 조항

이 소프트웨어는 보증 없이 "있는 그대로" 제공됩니다. 연구 및 개발 목적으로만 사용되며, 프로덕션 사용을 위한 것이 아닙니다.

중요 사항:

  • Visual Studio 2022 및 D365 개발 도구 필요

  • Microsoft API와의 통합은 공식적으로 지원되지 않습니다

  • 기능은 버전 간에 변경되거나 중단될 수 있습니다

  • 개발 환경에서만 사용자의 책임 하에 사용하세요

GitHub 저장소를 통해 문제를 보고하거나 개선 사항을 기여하세요.

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • Official Microsoft MCP Server to query Microsoft Entra data using natural language

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

  • Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.

View all MCP Connectors

Latest Blog Posts

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-Xpp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server