SAP RFC MCP Server
SAP RFC MCP 서버
Model Context Protocol (MCP) 기반의 엔터프라이즈급 SAP RFC 커넥터입니다. 본 프로젝트는 AI 에이전트(Claude Desktop, GPT-4, Cursor 등)가 SAP 시스템에 안전하고 효율적이며 컨텍스트를 인식하는 방식으로 접근할 수 있도록 설계되었습니다. 표준화된 MCP 프로토콜을 통해 에이전트는 로컬 함수를 호출하듯 SAP RFC를 실행하고 비즈니스 데이터를 검색할 수 있습니다.
🌟 프로젝트 주요 특징
엔터프라이즈급 보안: Master Key 관리 아키텍처를 지원하며, 동적 토큰(Dynamic Tokens) 생성, 유효 기간 관리 및 원클릭 취소 기능을 갖추고 있습니다.
전 구간 추적: 신원 인식 로깅 시스템을 통해 모든 로그에 클라이언트 IP와 에이전트 신원이 포함되며, 매일 새벽 자동으로 로그가 분할됩니다.
지능형 테이블 읽기: 데이터 버퍼 보호 메커니즘이 내장되어
DATA_BUFFER_EXCEEDED오류를 자동으로 처리하며, 대규모 데이터의 반복적이고 안전한 읽기를 지원합니다.AI 최적화 메타데이터: 상세한 함수 인터페이스 정의와 매개변수 설명을 제공하며, RAG(검색 증강 생성) 친화적인 형식의 지식 베이스 내보내기를 지원합니다.
고가용성 세션: 지능형 세션 재사용을 지원하여 에이전트가 수동으로 Session ID를 관리할 필요 없이 시스템이 토큰을 기반으로 활성 세션을 자동으로 복구합니다.
🚀 핵심 기능 (Tools)
본 서버는 MCP 클라이언트에 다음과 같은 도구 세트를 노출하여 시스템 탐색부터 데이터 조작까지의 전 과정을 지원합니다:
1. 핵심 RFC 상호작용
call_rfc_function: 임의의 SAP RFC 함수를 동적으로 호출하며, 복잡한 중첩 구조의 매개변수 전달을 지원합니다.rfc_system_info: SAP 시스템 버전, 프로토콜, 커널, 데이터베이스 유형 등의 메타데이터를 가져옵니다.get_rfc_functions: 퍼지 매칭을 통해 SAP 시스템에서 사용 가능한 원격 호출 함수를 검색합니다.
2. 안전한 데이터 읽기
read_table: 자동 오버플로우 보호 기능이 있는 테이블 읽기 도구로, RFC 512바이트 제한에 따라 필드를 자동으로 선택합니다.read_table_complete: 반복 읽기 모드로, 버퍼 제한을 초과하는 대량의 필드 요청을 지원하며 자동으로 일괄 처리합니다.get_table_structure: 필드 기술 속성 및 다국어 설명을 포함한 SAP 테이블의 상세 정의를 검색합니다.test_table_access: 특정 테이블에 대한 현재 사용자의 읽기 권한 및 데이터 연결성을 빠르게 검증합니다.
3. 메타데이터 관리
get_function_metadata: 매개변수 방향, 유형, 길이 및 다국어 주석을 포함한 함수의 전체 "설명서"를 가져옵니다.search_rfc_functions: 함수 이름과 설명을 대상으로 전체 텍스트 검색을 수행하여 에이전트가 적절한 인터페이스를 찾도록 돕습니다.export_metadata_for_rag: SAP 인터페이스 지식을 JSON으로 내보내어 에이전트의 오프라인 지식 베이스를 구축하는 데 사용합니다.
⚙️ 실행 모드
본 프로젝트는 다양한 시나리오의 통합 요구를 충족하기 위해 세 가지 실행 모드를 지원합니다:
HTTP 모드 (기본값): FastAPI가 제공하는 Streamable HTTP 전송을 기반으로 하며, 스트리밍(SSE) 응답을 지원하여 원격 에이전트 접근에 적합합니다.
STDIO 모드: 표준 입출력 통신을 통해 Claude Desktop 등 로컬에 설치된 MCP 클라이언트에 적합합니다.
듀얼 모드 (Dual): HTTP와 STDIO를 동시에 활성화하여 로컬 디버깅과 원격 서비스를 모두 지원합니다.
📦 빠른 배포
1. 환경 요구 사항
Python: 3.9 이상 버전.
SAP NW RFC SDK: SAP 공식 SDK를 설치하고
SAPNWRFC_HOME환경 변수를 설정해야 합니다.
2. 설치
git clone <repo_url>
cd sap-rfc-mcp-server
python -m venv .venv
source .venv/bin/activate # Windows 使用 .venv\Scripts\activate
pip install -e .3. 설정
.env.example 파일을 .env로 복사하고 SAP 연결 매개변수 및 보안 키를 입력하세요:
# SAP 连接
SAP_ASHOST=192.168.1.100
SAP_SYSNR=00
SAP_CLIENT=100
SAP_USER=YOUR_USER
SAP_PASSWD=YOUR_PASSWD
# 安全密钥
MCP_MASTER_KEY=admin-secret-key-2026🔑 인증 가이드
서버는 2단계 인증 아키텍처를 채택하고 있습니다:
관리 계층 (Master):
MCP_MASTER_KEY를 사용하여/auth/*인터페이스에 접근하고 토큰 발급을 수행합니다.비즈니스 계층 (Agent): 생성된 동적 토큰을 사용하여
/mcp/*인터페이스에 접근하고 SAP 기능을 호출합니다.
토큰 생성 예시 (Master Key 사용):
POST /auth/token/generate
X-API-Key: admin-secret-key-2026
Body: {"agent_name": "Finance_Agent", "ttl_hours": 48}📂 프로젝트 구조
sap_rfc_mcp_server/
├── auth.py # 动态 Token 管理与持久化
├── server.py # MCP 工具定义与处理核心逻辑
├── sap_client.py # 底层 pyrfc 连接管理与池化
├── rfc_table_reader.py # 增强型表数据安全读取逻辑
├── streamable_http_server.py # HTTP/SSE 传输层实现
├── logger.py # 身份感知的自动切分日志系统
└── metadata_manager.py # SAP 元数据分析与 RAG 优化📖 추가 문서
QUICKSTART.md: 5분 빠른 시작 가이드.
DEPLOY.md: 프로덕션 환경 Systemd 및 Docker 배포.
© 2026 SAP RFC MCP Server Team. Licensed under MIT.
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Cloud-hosted MCP server for secure AI access to enterprise data sources via CData Connect AI.
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.