ABAP MCP 서버 출시: SAP의 에이전트 기반 IDE 베팅이 S/4 프로그램에 의미하는 바
요약
SAP의 ABAP MCP Server는 외부 에이전트(Claude, Copilot 등)가 Model Context Protocol을 통해 S/4 시스템과 상호작용할 수 있게 하는 표준 통합 계층입니다. 이는 개발자에게 통제된 API 표면을 제공하여, 에이전트 기반으로 ABAP 코드를 생성하고 테스트하는 새로운 패러다임을 제시합니다.
핵심 포인트
- MCP 서버는 외부 에이전트를 위한 표준화된 통합 계층이다.
- 에이전트는 테이블 읽기, RFC 실행 등 정의된 도구만 사용 가능하다.
- Eclipse ADT는 클래식 ABAP 객체 커버리지가 넓고 성숙하다.
- VS Code ADT는 RAP 및 최신 Fiori 요소 개발에 더 적합한 MCP 경험을 제공한다.
SAP의 ABAP MCP Server는 Sapphire 2026 이후 일반적으로 사용 가능합니다. AI Units 예산을 초과하지 않으면서 에이전트 기반 ABAP 개발을 S/4 프로그램에 연결하는 실무 가이드.
ABAP MCP 서버가 실제로 노출하는 것 (그리고 그렇지 않은 것)
ABAP MCP Server는 새로운 개발 패러다임이 아닙니다. 이는 외부 에이전트(Claude, Copilot, Amazon Q)가 Model Context Protocol을 통해 S/4 시스템과 상호 작용할 수 있도록 하는 표준 기반 통합 계층입니다. 이것을 사용자가 선택한 에이전트와 ABAP 스택 사이에 위치하는 범용 어댑터라고 생각하시면 됩니다.
노출하는 것:
- 도구(Tools): 일반적인 ABAP 작업을 위한 표준화된 함수 호출 — 테이블 데이터 읽기, RFC 실행, 전송 요청 활성화, ABAP Unit 테스트 실행 및 구문 확인. 각 도구는 JSON에 정의된 입력/출력 스키마를 가집니다.
- 전송(Transport): bearer token 인증을 사용하는 HTTP/S 위에서 작동합니다 (보안은 아래에서 더 자세히 설명). 서버는 에이전트가 연결하는 단일 엔드포인트(
/mcp)를 노출합니다. - 리소스(Resources): 시스템 메타데이터에 대한 읽기 전용 액세스 — 테이블 구조, 데이터 요소 문서화, CDS 뷰 정의. 코드를 생성하기 전에 컨텍스트가 필요한 에이전트에 유용합니다.
- 프롬프트(Prompts): 사전 정의된 상호 작용 패턴 — “이 ABAP 코드 설명,” “성능 개선 제안,” “이 클래스에 대한 단위 테스트 생성.”
대체하지 않는 것:
- 기존 ADT (Eclipse 또는 VS Code) — MCP 서버는 그것을 대신하는 것이 아니라 그 옆에서 실행됩니다.
- ABAP 컴파일러 또는 런타임 — 에이전트는 여전히 코드를 생성하며, 이 코드는 AS ABAP에서 컴파일되고 실행됩니다.
- 전송 관리(Transport management) — 에이전트는 전송을 제안하거나 준비할 수 있지만, 표준 채널을 통해 활성화해야 합니다.
- SAP GUI 또는 Web Dynpro — 이것은 엄격하게 개발 도구링용이며 런타임 사용자 상호 작용용이 아닙니다.
MCP 서버는 본질적으로 에이전트를 위한 통제된 API 표면입니다. 이는 에이전트에게 시스템에 대한 무제한 접근을 허용하지 않으며, 모든 작업은 미리 정의된 도구와 해당 특정 권한을 통해 이루어집니다.
Eclipse 대 VS Code ADT: 2026년 2분기/3분기 범위 현실
SAP는 Eclipse ADT와 VS Code ADT 모두에 MCP 지원을 탑재했지만, 객체 유형별 커버리지는 서로 다릅니다. 이는 귀하의 도입 계획에 중요합니다.
Eclipse ADT (현재도 주력 도구):
- 클래식 ABAP 객체 전체 MCP 도구 커버리지: 프로그램, 함수 모듈(function modules), 클래스, 인터페이스, 데이터 요소(data elements), 테이블, 뷰.
- CDS 뷰 및 AMDP 메서드에 대한 제한적이지만 성장하는 지원.
- 성숙한 디버깅 및 전송 통합.
VS Code ADT (새로운 MCP 우선 옵션):
- RAP 우선 접근 방식: 비즈니스 서비스(business services), 서비스 정의, 프로젝션 뷰(projection views)에 대한 강력한 지원 (현대 SAP Fiori 요소의 핵심).
- 클래식 객체에 대한 확장 중이지만 불완전한 커버리지 — 함수 모듈과 클래식 리포트가 Eclipse보다 뒤처집니다.
- Language Server Protocol 기반으로 구축되었기 때문에 처음부터 더 나은 MCP 통합을 제공합니다.
에이전트 개발(agentic development)의 경우, VS Code ADT가 오늘날 더 깔끔한 MCP 경험을 제공하지만, 팀이 레거시 절차적 ABAP를 유지하거나 클래식 디버깅에 크게 의존하는 경우 Eclipse가 여전히 필요합니다. 좋은 소식은 두 IDE 모두 동일한 MCP 서버와 연동하여 실행할 수 있다는 것입니다. Copilot 기반 개발자는 VS Code에서 작업하고 ABAP 검토자는 Eclipse를 사용하며, 둘 다 동일한 에이전트 지원 백엔드와 통신할 수 있습니다.
타사 에이전트 공존: 누가 귀하의 S/4 시스템과 대화할 수 있는가?
여기서 실질적인 부분이 나옵니다. ABAP MCP 서버는 어떤 에이전트가 연결하는지 신경 쓰지 않습니다. Claude, Copilot, Amazon Q 또는 심지어 직접 구축한 사용자 지정 에이전트까지도 말입니다. 서버는 모든 MCP 클라이언트를 동등하게 취급하며, 클라이언트와 관계없이 동일한 도구 권한 및 감사 추적(audit trails)을 강제합니다.
작동하는 공존 패턴:
- 듀얼 에이전트 개발: VS Code에서 Copilot을 사용하여 보일러플레이트(boilerplate) 생성을 하고, 별도의 터미널 세션에서는 Claude를 복잡한 리팩토링이나 아키텍처 제안에 사용합니다.
- 특화된 에이전트: MCP를 통해 매일 밤 실행되는 보안 스캐닝 에이전트를 배포하여 하드코딩된 자격 증명(hardcoded credentials)이나 의심스러운 SELECT 구문을 확인합니다.
- 지식 에이전트: 내부 SAP-help 에이전트를 연결하여, MCP 리소스를 통해 문서를 조회함으로써 “이 엔핸스먼트 지점에서 BADI를 어떻게 구현하나요?”와 같은 질문에 답변하게 합니다.
주목할 점:
- 도구 권한 충돌: Claude에게
transport_activate도구 접근을 허용했지만 Copilot의 접근은 제한하면 일관되지 않은 동작을 얻게 됩니다. 에이전트 역할을 사전에 정의해야 합니다. - 컨텍스트 창 고갈: 여러 에이전트가 리소스 요청으로 MCP 서버에 과부하를 주면 응답 시간이 급증할 수 있습니다. MCP 관련 지연 시간을 확인하기 위해 ADT(ABAP Development Tools) 서버 로그를 모니터링하세요.
- 인증 분산 (Authentication sprawl): 각 에이전트는 자체 베어러 토큰(bearer token)을 필요로 합니다. 이를 서비스 계정처럼 취급하여 정기적으로 순환시키고 최소한의 필수 권한으로 범위를 제한해야 합니다.
핵심 통찰은 다음과 같습니다: MCP가 에이전트 상호 운용성(agent interoperability)을 가능하게 하는 것이 문제가 아닙니다. 거버넌스(Governance)가 문제입니다. 어떤 에이전트가 작업을 수행하는지 걱정하기보다, 에이전트가 _무엇_을 할 수 있도록 정의하는 데 더 많은 시간을 소비할 것입니다.
AI 유닛 가격 변화: 무료 프로모션에서 측정된 사용량으로
이는 Sapphire 2026 이후 가장 크게 다가오는 현실 점검입니다. Joule for Developers와 ABAP AI는 더 이상 누구나 자유롭게 사용하는 샌드박스 환경이 아닙니다. 소비 기반의 AI 유닛(AI Units) 청구 시스템이 2026년 중반부터 도입되었으며, 귀하의 RISE/GROW 계약에는 다음 항목들로 소모되는 월별 할당량이 포함되어 있을 가능성이 높습니다:
- 모든 에이전트 대 MCP 서버 호출 (각 도구 호출마다 카운트)
- S/4 시스템 내 Joule 시나리오 실행
- 코드 설명이나 테스트 생성과 같은 ABAP AI 기능들
지금 SAP 계정 팀에게 물어봐야 할 예산 관련 질문:
- 현재 RISE/GROW 일정 하에서 저희의 월별 AI Units 할당량은 얼마인가요?
- ABAP MCP Server 도구 호출당 소비율은 어떻게 되나요? (SAP가 추정치를 제공하지만, 실제 수치는 초기 도입자 프로그램에서 확인하세요)
- 개발(dev), 테스트(test), 운영(prod) 시스템이 개별적으로 측정되나요, 아니면 전체 환경(landscape-wide)으로 측정되나요?
- 할당량을 초과하면 어떻게 되나요 — 하드 스로틀링(hard throttle), 초과 요금 부과, 또는 자동 충전 중 어떤 방식인가요?
- 특정 에이전트나 시나리오를 위해 Units를 예약할 수 있나요 (예: Joule에 30%, ABAP AI에 70% 할당)?
실제로 효과적인 비용 통제 패턴:
- 개발/운영 환경 분리: MCP는 비(非)운영 시스템에서만 초기 활성화를 하세요. 이것만으로도 소비량을 70% 이상 절감할 수 있습니다.
- 에이전트 수준의 속도 제한: Claude 데스크톱 에이전트를 구성하여 분당 10회 이상의 MCP 호출을 하지 않도록 설정하세요. 이는 적극적인 개발에는 충분하지만, 무한 루프에서 Units를 소진하기에는 부족한 양입니다.
- 로컬 모델로 폴백(Fallback): SAP 관련 작업이 아닌 경우 (문서 작성, 샘플 데이터 생성 등), 일반 목적의 추론에 AI Units를 소모하는 대신 Ollama 인스턴스를 사용하세요.
- 유사 작업 일괄 처리: 에이전트가 개별 레코드에 대해
read_table을 50번 호출하는 대신, 적절한 WHERE 절을 사용하여 한 번 호출하여 대량 결과 집합(bulk result set)을 얻도록 하세요.
만약 팀이 ABAP MCP Server를 무제한 Copilot 샌드박스처럼 취급하기 시작하면, Q3 AI Units 할당량을 2주 만에 모두 소진할 것입니다. 측정되는 유틸리티처럼 다루고 소비량을 철저하게 모니터링하세요.
보안 및 거버넌스: 보유자 토큰(Bearer Token)은 누가 가지고 있는가?
많은 팀들이 과소평가하는 부분이 바로 여기입니다. ABAP MCP Server는 보유자 토큰 인증(OAuth 2.0 방식의 토큰)을 사용하므로, 이 토큰을 가진 사람이 해당 토큰이 권한을 부여된 모든 도구를 호출할 수 있습니다. 이러한 토큰은 개발 시스템에 대한 루트 비밀번호처럼 다루어야 합니다.
주요 보안 고려 사항:
-
토큰 범위(Token scope): 기본적으로 “모든 도구” 접근 권한을 부여하지 마십시오. 역할 기반 토큰 프로필을 생성하십시오:
-
개발자(Developer): 테이블 데이터 읽기, RFC 실행 (읽기 전용), 구문 검사 실행
-
빌더(Builder): 모든 개발자 권한 + 트랜스포트 활성화, 트랜스포트 요청 생성
-
검토자(Reviewer): 코드 및 메타데이터에 대한 읽기 전용 접근만 허용
-
네트워크 분할(Network segmentation): 이상적으로는 MCP 서버가 개발 네트워크 세그먼트에서만 도달 가능해야 합니다. 절대로 인터넷에 직접 노출하거나 프로덕션 사용자 네트워크에서 MCP 연결을 허용해서는 안 됩니다.
-
감사 추적(Audit trails): 모든 MCP 도구 호출은 ABAP 시스템의 보안 감사 로그(활성화된 경우)에 기록됩니다. 트랜잭션 코드
MCP_CALL이 포함된 항목을 확인하십시오. SIEM이 이를 수집하고 있는지 확인해야 합니다. -
토큰 저장(Token storage): Claude Desktop과 같은 에이전트를 사용하는 경우, 베어러 토큰(bearer token)은 로컬에 저장됩니다. 공유 워크스테이션의 경우, 일반 텍스트 파일 대신 OS 수준 자격 증명 관리자(Windows Credential Locker, macOS Keychain)를 사용하십시오.
MCP 활성화 전 거버넌스 체크리스트:
- 각 에이전트 역할에 필요한 ABAP MCP 서버 도구를 정의합니다 (최소한으로 시작하고 — 필요하면 언제든지 추가할 수 있습니다)
- 토큰 생명 주기 설정: 발급, 순환(30일마다), 폐기 절차
- 네트워크 제한 구현: 알려진 에이전트 IP 범위로 MCP 서버 접근을 제한하는 방화벽 규칙
- 의심스러운 패턴에 대한 감사 로그 경고 구성 (예: 반복된 실패한 AUTH 호출, 예상치 못한 도구 사용)
- 사고 대응 계획 문서화: “승인되지 않은 MCP 접근이 감지되면, 토큰을 폐기하고 조사하는 방법은 다음과 같다”
기억하십시오: MCP 서버가 기존 권한을 우회하지는 않습니다. 에이전트가 MCP를 통해 테이블을 읽으려고 시도하고 기본 ABAP 사용자가 권한이 없다면, 호출은 실패할 것입니다. 하지만 잘못 범위 지정된 토큰(mis-scoped token)만으로도 여전히 허용된 범위를 벗어나 많은 골칫거리를 유발할 수 있습니다.
실질적인 첫 주: 제한적 도입 계획
‘바다를 끓이는(boil the ocean)’ 에이전트 기반 혁신은 잊으세요. 작게 시작하고, 사용량을 측정하며, 실제 사용 사례에 따라 확장하세요. SAP 기술 리드를 위한 현실적인 첫 주 계획은 다음과 같습니다:
- Day 1: 활성화 및 검증
- 개발 시스템에 ABAP MCP Server를 설치합니다 (ADT 3.60 이상 커널 필요)
- MCP 엔드포인트가 도달 가능한지 확인합니다:
curl -H "Authorization: Bearer " https://:/mcp - 서버 로그에서 성공적인 핸드셰이크(handshake)를 확인합니다
- Day 2: 격리된 단일 에이전트 연결
- Claude Desktop (또는 선택한 에이전트)을 개발 시스템의 MCP 서버에 연결하도록 구성합니다
- ZTEST_TABLE에서 간단한 ‘테이블 읽기(read table)’ 호출을 테스트합니다 (존재하지 않으면 생성하세요 — 레코드 1개, 비즈니스 영향 없음)
- 올바른 에이전트 ID로 감사 로그(audit log)에 호출이 기록되는지 확인합니다
- Day 3: 단일 경계가 설정된 작업
- 에이전트에게 특정하고 제한된 작업을 수행하도록 합니다: “공개 메서드만을 사용하여 클래스 ZCL_CALCULATOR에 대한 ABAP 단위 테스트(Unit tests)를 생성하세요.”
- 에이전트를 다음으로 제한합니다: read_class_source, generate_abap_unit_test, syntax_check
- 이 단일 작업을 위한 AI Units 소비량을 모니터링합니다
- 커밋하기 전에 인간 검토자가 생성된 테스트의 정확성을 확인하도록 합니다
- Day 4: 두 번째 에이전트로 확장 (Day 1~3 성공 시)
- 다른 권한을 가진 두 번째 에이전트를 추가합니다 (예: read_table 및 syntax_check만 있는 보안 스캐너)
- 격리성을 검증합니다: Agent A가 실수로 Agent B의 전송(transports)을 트리거하지 못하는지 확인합니다
- 에이전트 수에 따라 소비량이 예측 가능하게 확장되는지 확인합니다
- Day 5: 검토 및 조정
- SAP Cloud ALM 또는 계약 포털에서 AI Units 소비 보고서를 가져옵니다
- 실제 사용량 대비 예상치에 따라 토큰 범위(token scopes)나 에이전트 속도 제한(rate limits)을 조정합니다
- 다른 팀으로 전개하기 위해 배운 교훈을 문서화합니다.
목표는 금요일까지 모든 개발자가 에이전트를 사용하게 만드는 것이 아닙니다. MCP를 안전하게 활성화하고, 그 소비 영향을 측정하며, 확장하기 전에 명확한 경계를 정의할 수 있음을 입증하는 것입니다.
프로그램 매니저에게 전달할 내용: 기대치 관리
프로그램 매니저는 '에이전트 기반 ABAP(agentic ABAP)'이라는 말을 듣고 개발 주기가 50% 빨라질 것이라고 상상할 것입니다. 하지만 다음과 같은 미묘한 현실을 가지고 대비해야 합니다:
ABAP MCP 서버가 무엇인지:_
- 외부 에이전트를 ABAP 개발 워크플로우에 통합하는 안전하고 표준 기반의 방법
- 보일러플레이트(boilerplate) 생성 시간을 줄이고 코드 설명 작업을 돕는 도구
- 미래 에이전트 지원 기능(예: 사용자 지정 코드 마이그레이션 에이전트)을 위한 기반 시설
무엇이 아닌지:_
- 운영 개시 가속기: 에이전트는 코드를 전송하거나 시스템을 전환하지 않습니다. 개발 과정에서 도움을 주지만, 전송(transport), 테스트, 운영 개시는 여전히 사람이 관리하는 프로세스입니다.
- 선임 ABAP 전문가를 대체할 것: 에이전트가 생성한 코드도 성능, 보안 및 비즈니스 정확성에 대한 검토가 필요합니다.
- 무제한 생산성 해킹 도구: 거버넌스(governance) 없이는 보안 위험이자 예산 낭비가 될 수 있습니다.
운영 위원회에 전달할 논점:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기