@sapfever/remote-mcp-client
v1.0.5
Published
Enterprise-grade client for integrating SAP systems with LLMs via MCP protocol
Downloads
45
Maintainers
Readme
@sapfever/remote-mcp-client
Enterprise-grade NPM client for integrating SAP systems with Large Language Models (LLMs) via the Model Context Protocol (MCP). Enables progressive AI adoption through secure, sandboxed demonstration environments.
🎯 Enterprise AI Adoption Made Simple
The Challenge: Organizations struggle to integrate AI with critical SAP business systems due to security concerns, infrastructure complexity, and high implementation risks.
The Solution: SAPfever provides a progressive, zero-infrastructure approach to SAP-LLM integration:
Progressive Adoption Path
- Evaluate - Test SAP-AI integration in isolated demonstration instances
- Validate - Verify business value with pre-configured enterprise tools
- Prototype - Develop custom tools tailored to your SAP landscape
- Deploy - Push production-ready tools to your SAP systems via ABAP backend
- Scale - Transition from demonstration to full enterprise deployment
Key Benefits
- Zero Infrastructure: No local installation, Docker, or SAP connectivity required for evaluation
- Security-First: Isolated containers, automatic user binding, and licensed system access
- Standard Protocol: Built on MCP (Model Context Protocol) - the emerging standard for LLM-system integration
- Production-Ready: Seamless path from demonstration to enterprise deployment
- SAP Native: ABAP backend integration ensures compliance with SAP governance and security policies
Enterprise Use Cases
- Business Process Automation: Query tables, retrieve metadata, analyze business data
- Code Intelligence: Access ABAP source code, documentation, and object structures
- Custom Integrations: Build specialized tools for procurement, finance, HR, or logistics workflows
- AI-Powered Analytics: Enable LLMs to access and analyze SAP business data securely
📦 Installation
# Via NPX (recommended - no installation needed)
npx @sapfever/remote-mcp-client [options]
# Or install globally
npm install -g @sapfever/remote-mcp-client
sapfever-remote-mcp [options]🔧 Configuration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"sapfever-demo": {
"command": "npx",
"args": [
"-y",
"@sapfever/remote-mcp-client",
"--license-key", "YOUR_LICENSE_KEY",
"--host", "sap.company.com",
"--sysnr", "00",
"--system-id", "R3P-001",
"--user", "SAPUSER",
"--pass", "PASSWORD",
"--saprouter", "/H/router.company.com/S/3299",
"--lang", "EN"
]
}
}
}Note: SAProuter configuration is required for secure connectivity. Contact your SAP Basis team for the correct SAProuter string if you don't have it.
🤖 Supported MCP Clients
This client is designed for MCP (Model Context Protocol) enabled chatbots and tools:
- Claude Desktop - Primary supported client
- Other MCP-compatible clients - Any tool supporting the MCP stdio protocol
The client is configured through the MCP client's configuration file (e.g., claude_desktop_config.json for Claude Desktop) and runs automatically when the MCP client starts.
🚀 Configuration Arguments
When configuring this client in your MCP client (e.g., Claude Desktop), the following arguments are available:
Required Arguments
--license-key- RS256/HMAC license key--host- SAP system hostname--sysnr- SAP system number (00-99)--system-id- SAP system ID--user- SAP username--pass- SAP password--saprouter- SAProuter string (required for secure connectivity)
Optional Arguments
--lang- SAP language code (default:EN)--orchestrator-url- Orchestrator API URL (default:https://sapf-mcp.sapfever.com:9000)--debug- Enable debug logging (default:false)
See the Configuration section above for a complete Claude Desktop configuration example.
🔐 Security
Automatic Container Binding
- Containers are automatically allocated based on SAP user + system ID
- Unique container per user per SAP system
- Automatic reuse of existing containers on reconnect
License Validation
- RS256/HMAC license key validated on connection
- Must match licensed system IDs and users
- System ID and SAP user constraints enforced
Container Isolation
- Each container runs in isolated Docker environment
- Separate storage volumes per user+system combination
- Resource limits enforced (1 CPU, 512MB RAM)
⏱️ Session Management
Auto-Pause
- Containers automatically pause after 30 minutes of inactivity
- Automatically resume on reconnect
- No data loss during pause
Data Persistence
- Tool configurations persist between sessions
- Custom tools retained in container volume
- Preloaded demo tools always available
🛠️ Preloaded Tools
Demo instances include these pre-configured tools:
- simple_query - Query SAP tables with WHERE clauses
- get_source - Retrieve ABAP source code
- inspect_object - Inspect object metadata and structure
📦 SAP System Requirements
ABAP Backend Installation
The SAPfever MCP system requires ABAP backend components to be installed on your SAP system. These components handle RFC communication, tool execution, and parameter management.
ABAP Backend Repository (Closed Source):
- 🔒 sapfever-mcp-rfc-abapgit
- Access: Restricted to authorized/invited organizations only
- Purpose: Customer SAP sandbox and test system deployments
- Installation: Via abapGit or manual transport import
Authorization Requirements
To access the ABAP backend repository:
- Must be part of an authorized SAPfever customer organization
- Contact [email protected] for repository access
- Invitation required for GitHub organization membership
Backend Components Included
The ABAP backend provides:
- RFC Function Module:
ZMCP_EXECUTE_TOOLfor remote tool execution - Database Table:
ZMCP_PAGINGfor large data pagination storage - Data Structures:
ZST_ZMCP_PARAM(parameter),ZST_ZMCP_CONFIG(configuration) - Table Types:
ZTT_ZMCP_PARAMS(parameter array),ZTT_ZMCP_CONFIGS(configuration array) - Parameter Handling: JSON/XML parameter serialization and deserialization
- Error Management: Structured error messages and logging via BAPIRET2
- Security: Authorization checks and audit logging
- Tool Registry: Dynamic tool discovery and metadata management
Deployment Options
abapGit Installation (Recommended):
- Clone repository via abapGit
- Automatic dependency resolution
- Easy updates via pull
Transport Import:
- Download transport files from releases
- Import via STMS or SE09
- Manual dependency management
🚨 Error Messages
CONTAINER_BOUND_TO_OTHER_USER
❌ Container already bound to another user: This container is already bound to another user.
Contact: [email protected]Solution: Contact support if you believe this is an error. Containers are bound to license customer ID.
LICENSE_CONSTRAINT_FAILED
❌ License constraints not met: SAP user or system ID not authorized by licenseSolution: Verify license key matches your SAP user and system ID. Contact support to update license constraints.
LICENSE_INVALID
❌ License validation failed: Invalid license key or system ID mismatchSolution: Verify license key and system ID are correct. Contact support if issue persists.
Connection Failed
❌ Failed to connect to orchestrator: ENOTFOUND mcp.sapfever.comSolution: Check internet connectivity and firewall settings. Verify orchestrator URL.
📊 Monitoring
Debug Mode
To enable debug logging and troubleshoot connection issues, add "--debug" to the args array in your Claude Desktop configuration file:
{
"mcpServers": {
"sapfever-demo": {
"command": "npx",
"args": [
"-y",
"@sapfever/remote-mcp-client",
"--license-key", "YOUR_LICENSE_KEY",
"--host", "sap.company.com",
"--sysnr", "00",
"--system-id", "R3P-001",
"--user", "SAPUSER",
"--pass", "PASSWORD",
"--saprouter", "/H/router.company.com/S/3299",
"--debug"
]
}
}
}Then restart Claude Desktop. Debug output includes:
- API connection details
- WebSocket handshake
- Message flow (stdin ↔ WebSocket)
- Container status updates
Logs Location
- Client logs: stderr (visible in Claude Desktop logs)
- Container logs: Available to administrators via orchestrator
🔧 Troubleshooting
Connection Timeouts
# Check orchestrator connectivity
curl https://sapf-mcp.sapfever.com:9000/health
# Verify WebSocket access
curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" \
https://sapf-mcp.sapfever.com:9000/api/mcp/testSAP Connection Issues
Enable debug mode: Add "--debug" to the args array in your Claude Desktop configuration, then restart Claude Desktop.
SAProuter format (REQUIRED):
- Single hop:
/H/router.company.com/S/3299 - Multiple hops:
/H/router1.company.com/S/3299/H/router2.company.com/S/3299 - Contact SAP Basis team for correct SAProuter configuration
Check SAP system reachability:
ping sap.company.comClaude Desktop Integration
- Verify config file syntax (valid JSON)
- Check file path matches your OS:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Restart Claude Desktop after config changes
📝 Support
- Email: [email protected]
- Documentation: https://docs.sapfever.com
- GitHub Issues: https://github.com/babuilyas/sapfever-mcp-rfc/issues
📄 License
Proprietary - SAPfever LLC
🔗 Related Projects
Open Source
- SAPfever MCP RFC Server - Main repository with MCP server and CLI tools
- SAPfever Orchestrator - Remote MCP orchestrator
Closed Source (Authorized Access Only)
- 🔒 ABAP Backend Repository - SAP system components (requires invitation)
