MCP ABAP ADT

by mario-andreschak
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows interaction with SAP ABAP systems to retrieve information like source code, table structures, and more through ABAP Development Tools (ADT)

mcp-abap-adt: ABAP 개발 도구(ADT)를 위한 게이트웨이

이 프로젝트는 모델 컨텍스트 프로토콜(MCP)을 사용하여 SAP ABAP 시스템과 상호 작용할 수 있는 서버를 제공합니다. VS Code 확장 프로그램인 Cline 과 같은 도구가 ABAP 시스템과 통신하여 소스 코드, 테이블 구조 등의 정보를 가져올 수 있도록 하는 다리 역할을 한다고 생각하면 됩니다. 마치 ABAP 개발 환경을 원격으로 제어할 수 있는 원격 제어 장치를 가진 것과 같습니다!

이 가이드는 초보자를 위해 설계되었으므로 모든 내용을 단계별로 자세히 살펴보겠습니다. 다음 내용을 다룹니다.

  1. 필수 조건: 시작하기 전에 필요한 사항.
  2. 설치 및 설정: 모든 것을 가동하고 실행합니다.
  3. 서버 실행: 다양한 모드로 서버 시작.
  4. Cline과 통합: 이 서버를 Cline VS Code 확장 프로그램에 연결합니다.
  5. 문제 해결: 일반적인 문제와 해결책.
  6. 사용 가능한 도구: 사용할 수 있는 명령 목록입니다.

1. 필수 조건

시작하기 전에 몇 가지가 필요합니다.

  • SAP ABAP 시스템: 이 서버는 기존 ABAP 시스템에 연결됩니다. 다음이 필요합니다.
    • 시스템의 URL(예: https://my-sap-system.com:8000 )
    • 해당 시스템에 대한 유효한 사용자 이름과 비밀번호입니다.
    • SAP 클라이언트 번호(예: 100 ).
    • SAP 시스템에서 ADT(ABAP 개발 도구)를 통한 연결이 허용되는지 확인하세요. 일반적으로 SICF 트랜잭션에서 필요한 서비스가 활성화되어 있는지 확인해야 합니다. 베이시스 관리자가 도와드릴 수 있습니다. 특히 다음 서비스가 활성화되어 있어야 합니다.
      • /sap/bc/adt
    • GetTableContents 도구를 사용하려면 사용자 지정 서비스 /z_mcp_abap_adt/z_tablecontent 구현해야 합니다. 여기에서 가이드를 따라 할 수 있습니다.
  • Git(또는 GitHub Desktop): Git을 사용하여 프로젝트 코드를 다운로드합니다. 두 가지 옵션이 있습니다.
    • Git: 명령줄 도구. Git을 다운로드하세요 . 운영 체제(Windows, macOS, Linux)에 맞는 버전을 선택하세요. 설치 지침을 따르세요.
    • GitHub Desktop: Git용 그래픽 사용자 인터페이스. 초보자도 쉽게 사용할 수 있습니다! GitHub Desktop을 다운로드하고 설치 지침을 따르세요.
  • Node.js와 npm: Node.js는 웹 브라우저 외부에서 JavaScript 코드를 실행할 수 있는 JavaScript 런타임입니다. npm(Node Package Manager)은 Node.js에 포함되어 있으며 패키지(코드 라이브러리)를 설치하는 데 사용됩니다.
    • Node.js를 다운로드하세요 . LTS(장기 지원) 버전을 선택하세요. 가장 안정적인 버전입니다. 운영 체제에 맞는 설치 지침을 따르세요. 설치 과정에 npm을 포함해야 합니다(일반적으로 기본적으로 포함되어 있습니다).
    • 설치 확인: Node.js를 설치한 후 새 터미널(Windows에서는 명령 프롬프트, macOS/Linux에서는 터미널)을 열고 다음을 입력합니다.지엑스피1Node.js와 npm의 버전 번호가 모두 표시되어야 합니다. 오류가 표시되면 Node.js가 제대로 설치되지 않았거나 시스템 PATH에 포함되어 있지 않을 수 있습니다. (아래 문제 해결 참조)

2. 설치 및 설정

이제 프로젝트 코드를 가져와 설정해 보겠습니다.

Smithery를 통해 설치

Smithery를 통해 Cline용 MCP ABAP 개발 도구 서버를 자동으로 설치하려면:

npx -y @smithery/cli install @mario-andreschak/mcp-abap-adt --client cline

수동 설치

  1. 저장소 복제:
    • Git(명령줄) 사용:
      1. 터미널(명령 프롬프트 또는 터미널)을 엽니다.
      2. 프로젝트를 저장할 디렉터리로 이동하세요. 예를 들어, 바탕 화면에 저장하려면 다음과 같이 하세요.
        cd Desktop
      3. 저장소를 복제합니다.
        git clone https://github.com/mario-andreschak/mcp-abap-adt
      4. 프로젝트 디렉토리로 변경하세요:
        cd mcp-abap-adt # Or whatever the folder name is
    • GitHub Desktop 사용:
      1. GitHub Desktop을 엽니다.
      2. "파일" -> "저장소 복제..."를 클릭합니다.
      3. "URL" 탭에 저장소 URL을 붙여넣습니다.
      4. 로컬 경로(컴퓨터에 프로젝트를 저장할 경로)를 선택합니다.
      5. "복제"를 클릭합니다.
  2. 종속성 설치: 프로젝트에 필요한 모든 라이브러리가 다운로드됩니다. 터미널의 루트 디렉터리에서 다음을 실행하세요.
    npm install
    몇 분 정도 걸릴 수 있습니다.
  3. 프로젝트 빌드: 코드를 실행 가능한 형식으로 컴파일합니다.
    npm run build
  4. .env 파일을 만드세요. 이 파일에는 SAP 자격 증명과 같은 민감한 정보가 저장됩니다. 이 파일의 보안을 유지하는 것이 매우 중요합니다.
    1. 루트 디렉토리에 .env (확장자 없음)라는 이름의 새 파일을 만듭니다.
    2. 텍스트 편집기(메모장, VS Code 등)에서 .env 파일을 엽니다.
    3. 다음 줄을 추가하고 자리 표시자를 실제 SAP 시스템 정보로 바꾸세요. 중요: 비밀번호에 "#" 문자가 포함되어 있으면 비밀번호를 따옴표로 묶어야 합니다!
      SAP_URL=https://your-sap-system.com:8000 # Your SAP system URL SAP_USERNAME=your_username # Your SAP username SAP_PASSWORD=your_password # Your SAP password SAP_CLIENT=100 # Your SAP client
      중요: .env 파일을 누구와도 공유하지 말고, Git 저장소에 커밋하지도 마세요!

3. 서버 실행

솔직히 말해서, 이 서버를 단독으로 "실행"하는 경우는 거의 없습니다. Cline이나 Claude Desktop과 같은 MCP 클라이언트에 통합되어 있어야 합니다. 하지만 두 가지 주요 방법으로 서버를 수동으로 실행할 수 있습니다 .

  • 독립 실행형 모드: 서버를 직접 실행하여 터미널에 메시지를 출력합니다. 서버가 시작되어 클라이언트 연결을 기다리므로, 시작 여부를 확인하는 것 외에는 아무런 쓸모가 없을 수 있습니다.
  • 개발/디버그 모드: MCP Inspector를 사용하여 서버를 실행합니다. 출력되는 URL을 브라우저에서 열어서 직접 확인해 보세요.

3.1 독립형 모드

독립 실행형 모드로 서버를 실행하려면 터미널(루트 디렉토리)에서 다음 명령을 사용하세요.

npm run start

서버가 실행 중임을 나타내는 메시지가 터미널에 표시됩니다. MCP 클라이언트의 연결을 수신 대기합니다. 서버는 사용자가 (일반적으로 Ctrl+C를 눌러) 중지할 때까지 계속 실행됩니다.

3.2 개발/디버그 모드(Inspector 포함)

이 모드는 디버깅에 유용합니다.

  1. 디버그 모드에서 서버를 시작합니다.
    npm run dev
    그러면 서버가 시작되고 다음과 같은 메시지가 출력됩니다. 🔍 MCP Inspector is up and running at http://localhost:5173 🚀 이 URL을 사용하여 브라우저에서 MCP Inspector를 엽니다.

4. Cline과의 통합

Cline은 MCP 서버를 사용하여 언어 지원을 제공하는 VS Code 확장 프로그램입니다. 이 ABAP 서버를 Cline에 연결하는 방법은 다음과 같습니다.

  1. Cline 설치: 아직 설치하지 않았다면 VS Code에 "Cline" 확장 프로그램을 설치하세요.
  2. 클라인 설정 열기:
    • VS Code 설정을 엽니다(파일 -> 기본 설정 -> 설정 또는 Ctrl+,).
    • "클라인 MCP 설정"을 검색하세요.
    • "settings.json에서 편집"을 클릭하세요. cline_mcp_settings.json 파일이 열립니다. 전체 경로는 일반적으로 다음과 같습니다. C:\Users\username\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json ( username Windows 사용자 이름으로 바꾸세요).
  3. 서버 구성 추가: cline_mcp_settings.json 파일의 servers 배열에 항목을 추가해야 합니다. 예를 들면 다음과 같습니다.
    { "mcpServers": { "mcp-abap-adt": { "command": "node", "args": [ "C:/PATH_TO/mcp-abap-adt/dist/index.js" ], "disabled": true, "autoApprove": [] } // ... other server configurations ... } }
  4. 연결 테스트:
    • Cline이 서버에 자동으로 연결됩니다. "MCP 서버" 패널에 서버가 나타납니다(Cline 확장 프로그램 상단에 여러 버튼이 있습니다).
    • Cline에게 프로그램의 소스 코드를 요청하면 MCP 서버를 언급하고 해당 도구를 사용해 보도록 해야 합니다.

5. 문제 해결

  • node -v 또는 npm -v 실행하면 오류가 발생합니다.
    • Node.js가 제대로 설치되었는지 확인하세요. 다시 설치해 보세요.
    • Node.js 설치 디렉터리가 시스템의 PATH 환경 변수에 있는지 확인하세요. Windows에서는 시스템 속성(시작 메뉴에서 "환경 변수"를 검색하세요)에서 환경 변수를 편집할 수 있습니다.
  • npm install 실패합니다:
    • 인터넷에 연결되어 있는지 확인하세요.
    • node_modules 폴더를 삭제하고 npm install 다시 실행해보세요.
    • 프록시를 사용하는 경우, 프록시를 사용하도록 npm을 구성해야 할 수 있습니다. 온라인에서 "npm 프록시 설정"을 검색해 보세요.
  • 클라인이 서버에 연결되지 않습니다.
    • cline_mcp_settings.json 의 설정을 다시 한번 확인하세요. root-server 디렉터리의 정확한 절대 경로여야 하며 , Windows에서는 백슬래시를 두 개 사용해야 합니다.
    • 서버가 실행 중인지 확인하세요( npm run start 사용해 확인하세요).
    • VS Code를 다시 시작합니다.
    • 또는:
    • 탐색기에서 mcp-abap-adt의 루트 폴더로 이동한 후 Shift 키를 누른 채 마우스 오른쪽 버튼을 클릭하고 "PowerShell 열기"를 선택하세요. (또는 Powershell을 열고 cd C:/PATH_TO/mcp-abap-adt/ 사용하여 해당 폴더로 이동하세요.)
    • "npm install"을 실행하세요
    • "npm run build"를 실행하세요
    • "npx @modelcontextprotocol/inspector node dist/index.js"를 실행합니다.
    • 출력되는 URL로 브라우저를 여세요. 왼쪽의 "연결"을 클릭하세요.
    • 상단의 "도구"를 클릭한 후 "목록 도구"를 클릭하세요.
    • GetProgram을 클릭하고 오른쪽에 프로그램 이름으로 "SAPMV45A" 또는 다른 보고서 이름을 입력합니다.
    • 테스트하여 출력이 무엇인지 확인하세요
  • SAP 연결 오류:
    • .env 파일에서 SAP 자격 증명을 확인하세요.
    • SAP 시스템이 실행 중이고 네트워크에서 접근 가능한지 확인하세요.
    • SAP 사용자에게 ADT 서비스에 액세스하는 데 필요한 권한이 있는지 확인하세요.
    • 트랜잭션 SICF 에서 필요한 ADT 서비스가 활성화되었는지 확인하세요.
    • 자체 서명된 인증서를 사용하거나 SAP 시스템 http 구성에 문제가 있는 경우 위에서 설명한 대로 TLS_REJECT_UNAUTHORIZED를 설정하세요!

6. 사용 가능한 도구

이 서버는 Cline(또는 다른 MCP 클라이언트)을 통해 사용할 수 있는 다음 도구를 제공합니다.

도구 이름설명입력 매개변수예시 사용(클라인에서)
GetProgramABAP 프로그램 소스 코드를 검색합니다.program_name (문자열): ABAP 프로그램의 이름입니다.@tool GetProgram program_name=ZMY_PROGRAM
GetClassABAP 클래스 소스 코드를 검색합니다.class_name (문자열): ABAP 클래스의 이름입니다.@tool GetClass class_name=ZCL_MY_CLASS
GetFunctionGroupABAP 함수 그룹 소스 코드를 검색합니다.function_group (문자열): 함수 그룹의 이름@tool GetFunctionGroup function_group=ZMY_FUNCTION_GROUP
GetFunctionABAP 함수 모듈 소스 코드를 검색합니다.function_name (문자열), function_group (문자열)@tool GetFunction function_name=ZMY_FUNCTION function_group=ZFG
GetStructureABAP 구조를 검색합니다.structure_name (문자열): DDIC 구조의 이름입니다.@tool GetStructure structure_name=ZMY_STRUCT
GetTableABAP 테이블 구조를 검색합니다.table_name (문자열): ABAP DB 테이블의 이름입니다.@tool GetTable table_name=ZMY_TABLE
GetTableContentsABAP 테이블의 내용을 검색합니다.table_name (문자열), max_rows (숫자, 선택 사항, 기본값 100)@tool GetTableContents table_name=ZMY_TABLE max_rows=50
GetPackageABAP 패키지 세부정보를 검색합니다.package_name (문자열): ABAP 패키지의 이름입니다.@tool GetPackage package_name=ZMY_PACKAGE
GetTypeInfoABAP 유형 정보를 검색합니다.type_name (문자열): ABAP 유형의 이름입니다.@tool GetTypeInfo type_name=ZMY_TYPE
GetIncludeABAP include 소스 코드 검색include_name (문자열): ABAP include의 이름@tool GetInclude include\_name=ZMY\_INCLUDE
SearchObject빠른 검색을 사용하여 ABAP 객체를 검색합니다.query (문자열), maxResults (숫자, 선택 사항, 기본값 100)@tool SearchObject query=ZMY\* maxResults=20
GetInterfaceABAP 인터페이스 소스 코드를 검색합니다.interface\_name (문자열): ABAP 인터페이스의 이름입니다.@tool GetInterface interface\_name=ZIF\_MY\_INTERFACE
GetTransactionABAP 거래 세부정보를 검색합니다.transaction\_name (문자열): ABAP 트랜잭션의 이름입니다.@tool GetTransaction transaction\_name=ZMY\_TRANSACTION\

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Cline과 같은 도구가 ABAP 소스 코드, 테이블 구조 및 기타 개발 아티팩트를 검색할 수 있도록 하는 SAP ABAP 시스템과 MCP(Model Context Protocol)를 연결하는 서버입니다.

  1. 1. Prerequisites
    1. 2. Installation and Setup
      1. Installing via Smithery
      2. Manual Installation
    2. 3. Running the Server
      1. 3.1 Standalone Mode
      2. 3.2 Development/Debug Mode (with Inspector)
    3. 4. Integrating with Cline
      1. 5. Troubleshooting
        1. 6. Available Tools

          Appeared in Searches

          ID: gwkh12xlu7