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

@iflow-mcp/clementringot-sap-released-objects-mcp-server

v1.10.0

Published

MCP server for SAP Cloudification Repository - Search released objects, classic APIs, successors with Clean Core Level filtering (A/B/C/D)

Readme

SAP Released Objects MCP Server

CI Release License: MIT

An MCP server that gives AI agents real-time knowledge of which SAP objects are released for ABAP Cloud / Clean Core — and what to use instead when they're not.

The Problem

When you use an AI agent to write ABAP Cloud code, the agent has no idea which objects are released, deprecated, or forbidden. It will happily generate code using MARA, CL_GUI_ALV_GRID, or BSEG — all of which are not released in ABAP Cloud.

This MCP server plugs directly into the SAP Cloudification Repository (the official source of truth) and exposes it as tools your agent can call. Ask "Is MARA available?" and the agent instantly knows: no — use I_PRODUCT instead.

Quick Start

Option 1: Remote server (zero install — recommended)

A hosted instance is available. Just add this to your MCP client config (Claude Desktop, Claude Code, Cline…):

{
  "mcpServers": {
    "sap-released-objects": {
      "type": "url",
      "url": "https://sap-released-objects-mcp-server-production.up.railway.app/mcp"
    }
  }
}

Nothing to install, nothing to maintain — you're ready to go.

Option 2: Standalone executable (no Node.js required)

If you prefer running locally, download the executable for your platform:

| Platform | Download | | --- | --- | | Windows | sap-released-objects-win.exe | | Linux | sap-released-objects-linux | | macOS | sap-released-objects-macos |

Then add to your MCP client config:

{
  "mcpServers": {
    "sap-released-objects": {
      "type": "stdio",
      "command": "/path/to/sap-released-objects-win.exe"
    }
  }
}

Features

  • Search SAP objects — classes, CDS views, tables, data elements, BDEFs, etc.
  • Filter by Clean Core Level (A / B / C / D) — the new model replacing the 3-tier system since August 2025
  • Find successors for deprecated or non-released objects
  • Clean Core compliance check for a list of objects (with compliance rate)
  • Object descriptions from api.sap.com — capabilities, extensibility flags, and field lists for CDS views and BDEFs
  • Statistics — counts by level, type, and application component
  • Smart search — multi-token scoring with relevance ranking (e.g. "purchase order" finds I_PURCHASEORDER)
  • Multi-system support — S/4HANA Cloud Public, BTP ABAP Environment, Private Cloud, On-Premise
  • Dynamic versioning — PCE versions discovered automatically from the SAP repository
  • Dual transport — hosted remote server or local stdio executable

How It Works

The server fetches JSON files from the official SAP Cloudification Repository at runtime and caches them in memory for 24 hours. No SAP system connection is required — all data comes from SAP's public GitHub repository.

Clean Core Level Concept

Since August 2025, SAP replaced the 3-tier model with the Clean Core Level Concept:

| Level | Description | Data Source | Upgrade Safety | | --- | --- | --- | --- | | A | Released APIs (ABAP Cloud) | objectReleaseInfoLatest.json (S/4HANA Cloud Public), objectReleaseInfo_BTPLatest.json (BTP), objectReleaseInfo_PCE*.json (PCE) | ✅ Upgrade-safe | | B | Classic APIs | objectClassifications_SAP.json | ⚠️ Upgrade-stable | | C | Internal / unclassified objects | Uncatalogued objects | 🟡 Manageable risk | | D | noAPI (not recommended) | Objects marked noAPI | 🔴 High risk |

Available Tools

sap_search_objects

Search for objects with advanced filters. Supports both exact SAP object names (MARA, I_PURCHASEORDER) and natural language queries (purchase order, warehouse task, send email). Results are ranked by relevance using a multi-token scoring algorithm.

| Parameter | Type | Default | Description | | --- | --- | --- | --- | | query | string | (required) | Search term — exact name or natural language (e.g. I_PRODUCT, purchase order) | | system_type | enum | public_cloud | public_cloud, btp, private_cloud, on_premise | | clean_core_level | enum | A | Maximum cumulative level: A, B, C, or D | | version | string | latest | PCE version (e.g. 2025, 2023_3). Ignored for public_cloud and btp | | object_type | string | (all) | TADIR filter (e.g. CLAS, DDLS, TABL) | | app_component | string | (all) | Application component (e.g. MM-PUR, FI-GL) | | state | enum | (all) | Filter by specific state | | limit | number | 25 | Results per page (1–100) | | offset | number | 0 | Pagination offset |

sap_get_object_details

Get full details of a specific object including its Clean Core assessment, release state, and successor information.

| Parameter | Type | Default | Description | | --- | --- | --- | --- | | object_type | string | (required) | TADIR type (e.g. TABL, CLAS, DDLS) | | object_name | string | (required) | Object name (e.g. MARA, CL_GUI_ALV_GRID) | | system_type | enum | public_cloud | public_cloud, btp, private_cloud, on_premise |

sap_find_successor

Find the successor(s) of a deprecated or non-released object. Essential for ABAP Cloud migration.

| Parameter | Type | Default | Description | | --- | --- | --- | --- | | object_type | string | (required) | TADIR type of the deprecated object | | object_name | string | (required) | Name of the deprecated object | | system_type | enum | public_cloud | Target system type |

sap_check_clean_core_compliance

Check Clean Core compliance for a list of objects. Returns individual assessments and an overall compliance rate.

| Parameter | Type | Default | Description | | --- | --- | --- | --- | | object_names | string | (required) | Comma-separated list of object names | | system_type | enum | public_cloud | Target system type | | target_level | enum | A | Target Clean Core level |

sap_list_versions

List all available S/4HANA PCE versions for Private Cloud and On-Premise systems. Versions are discovered dynamically from the SAP repository. No required parameters.

sap_list_object_types

List all available TADIR object types with counts per Clean Core level. No required parameters.

sap_get_statistics

Statistical overview of the repository — total counts, breakdown by level, by object type, and by application component. No required parameters.

System Types

| System Type | Description | Data Source | Levels | Versioned | | --- | --- | --- | --- | --- | | public_cloud | S/4HANA Cloud Public Edition | objectReleaseInfoLatest.json | A only | No | | btp | BTP ABAP Environment / Steampunk | objectReleaseInfo_BTPLatest.json | A only | No | | private_cloud | S/4HANA Cloud Private Edition | objectReleaseInfo_PCE*.json | A–D | Yes | | on_premise | S/4HANA On-Premise | objectReleaseInfo_PCE*.json | A–D | Yes |

Note: public_cloud and btp use different datasets — BTP ABAP Environment has a smaller, separate catalogue of released APIs. Use btp when developing for SAP BTP ABAP Environment (Steampunk).

Usage Examples

You:    "Is table MARA available in ABAP Cloud?"
Agent:  → calls sap_get_object_details(TABL, MARA, public_cloud)
        → "MARA is deprecated. Successor: I_PRODUCT (CDS view)"

You:    "Find released objects related to purchase orders"
Agent:  → calls sap_search_objects(query="purchase order")
        → Returns I_PURCHASEORDER, I_PURCHASEORDERITEM, etc. ranked by relevance

You:    "Find all released CDS views for the MM-PUR module"
Agent:  → calls sap_search_objects(query="I_", object_type="DDLS", app_component="MM-PUR")
        → Returns list of Level A CDS views

You:    "My code uses BSEG, MARA, CL_GUI_ALV_GRID. Is it Clean Core?"
Agent:  → calls sap_check_clean_core_compliance(object_names="BSEG,MARA,CL_GUI_ALV_GRID")
        → "Compliance rate: 0% — none of these objects are Level A"

You:    "What's available for sending emails on BTP?"
Agent:  → calls sap_search_objects(query="send email", system_type="btp")
        → Returns relevant BTP ABAP Environment APIs

Building Standalone Executables

The project uses esbuild for bundling and @yao-pkg/pkg for packaging into native executables.

Pipeline: TypeScript → tsc → ESM JS → esbuild → single CJS bundle → pkg → native executable

# Bundle first (required before pkg)
npm run bundle

# Build for a specific platform
npm run pkg:win      # → bin/sap-released-objects-win.exe
npm run pkg:linux    # → bin/sap-released-objects-linux
npm run pkg:macos    # → bin/sap-released-objects-macos

# Or all 3 at once
npm run pkg:all

The resulting executable requires no Node.js on the target machine.

Publishing a New Release

Executables are automatically built by GitHub Actions when a version tag is pushed:

npm version patch   # or minor / major
git push origin main --tags

GitHub Actions will then build on 3 runners (Ubuntu, Windows, macOS)