Skip to main content
Glama
Time-90

SAP RFC MCP Server

by Time-90

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단계 인증 아키텍처를 채택하고 있습니다:

  1. 관리 계층 (Master): MCP_MASTER_KEY를 사용하여 /auth/* 인터페이스에 접근하고 토큰 발급을 수행합니다.

  2. 비즈니스 계층 (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 优化

📖 추가 문서


© 2026 SAP RFC MCP Server Team. Licensed under MIT.

A
license - permissive license
Not graded
quality - not tested
Not graded
maintenance - not tested

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

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

  • Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

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/Time-90/sap-mcp'

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