SAP RFC MCP Server
SAP RFC MCP Server
Model Context Protocol (MCP) に基づくエンタープライズ向けSAP RFCコネクタです。本プロジェクトは、AIエージェント(Claude Desktop、GPT-4、Cursorなど)に対し、安全かつ効率的でコンテキストを認識したSAPシステムへのアクセス能力を提供することを目的としています。標準化されたMCPプロトコルを通じて、エージェントはローカル関数を呼び出すかのようにSAP RFCを実行し、ビジネスデータを取得できます。
🌟 プロジェクトのハイライト
エンタープライズレベルのセキュリティ:マスターキー管理アーキテクチャをサポートし、動的トークン(Dynamic Tokens)の生成、有効期限管理、およびワンクリックでの取り消し機能を備えています。
フルリンク追跡:ID認識型のログシステムを採用。各ログにはクライアントIPとエージェントIDが含まれ、毎日深夜に自動分割されます。
インテリジェントなテーブル読み取り:データバッファ保護メカニズムを内蔵し、
DATA_BUFFER_EXCEEDEDエラーを自動処理。大規模データの反復的かつ安全な読み取りをサポートします。AI最適化メタデータ:詳細な関数インターフェース定義とパラメータ記述を提供し、RAG(検索拡張生成)に適した形式でのナレッジベースのエクスポートをサポートします。
高可用性セッション:インテリジェントなセッション再利用をサポート。エージェントは手動でセッション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としてエクスポートし、エージェントのオフラインナレッジベース構築に使用します。
⚙️ 実行モード
プロジェクトは、異なるシナリオでの統合ニーズを満たすために3つの実行モードをサポートしています:
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機能を呼び出します。
トークン生成の例 (マスターキーを使用):
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.
This server cannot be installed
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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