npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@sapfever/remote-mcp-client

v1.0.5

Published

Enterprise-grade client for integrating SAP systems with LLMs via MCP protocol

Downloads

45

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

  1. Evaluate - Test SAP-AI integration in isolated demonstration instances
  2. Validate - Verify business value with pre-configured enterprise tools
  3. Prototype - Develop custom tools tailored to your SAP landscape
  4. Deploy - Push production-ready tools to your SAP systems via ABAP backend
  5. 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:

  1. Must be part of an authorized SAPfever customer organization
  2. Contact [email protected] for repository access
  3. Invitation required for GitHub organization membership

Backend Components Included

The ABAP backend provides:

  • RFC Function Module: ZMCP_EXECUTE_TOOL for remote tool execution
  • Database Table: ZMCP_PAGING for 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

  1. abapGit Installation (Recommended):

    • Clone repository via abapGit
    • Automatic dependency resolution
    • Easy updates via pull
  2. 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 license

Solution: 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 mismatch

Solution: Verify license key and system ID are correct. Contact support if issue persists.

Connection Failed

❌ Failed to connect to orchestrator: ENOTFOUND mcp.sapfever.com

Solution: 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/test

SAP 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.com

Claude Desktop Integration

  1. Verify config file syntax (valid JSON)
  2. Check file path matches your OS:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. 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

Closed Source (Authorized Access Only)