SAP Released Objects Server

SAP Released Objects Server

Enables AI agents to check real-time SAP object release status for ABAP Cloud and Clean Core, and find successor objects, via MCP or REST API.

Category
访问服务器

README

SAP Released Objects Server

CI Release License: MIT

A 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.

It plugs directly into the SAP Cloudification Repository (the official source of truth) and exposes the data two ways:

Access mode Protocol Use case
MCP Server Model Context Protocol on POST /mcp AI agents with native MCP support (Claude Desktop, Claude Code, Cline, Cursor...)
REST API Simple GET endpoints on /api/* returning JSON LLM skills, custom integrations, scripts, CI pipelines — anything that can call an HTTP endpoint

Both modes expose the exact same capabilities (search, details, successors, compliance check, statistics) and share the same business logic — no feature gap between MCP and REST.

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 server solves this. Ask "Is MARA available?" and the agent instantly knows: no — use I_PRODUCT instead.

Quick Start

Option 1 — MCP Client (Claude Desktop, Claude Code, Cline...)

Add this to your MCP client config:

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

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

Option 2 — REST API (Skills, scripts, integrations)

Call the hosted REST API directly. All endpoints are GET, return JSON, and support CORS.

# Search for purchase order objects
curl "https://sap-released-objects-server-production.up.railway.app/api/search?query=purchase+order"

# Get details for table MARA
curl "https://sap-released-objects-server-production.up.railway.app/api/object?object_type=TABL&object_name=MARA"

# Check Clean Core compliance
curl "https://sap-released-objects-server-production.up.railway.app/api/compliance?object_names=MARA,BSEG,I_PRODUCT"

To use as an LLM skill, see SKILL.md — it contains the full API reference formatted for LLM consumption (endpoints, parameters, response examples, interpretation instructions).

Option 3 — Standalone executable (local, no Node.js)

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)
  • 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

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

MCP Tools

The following tools are exposed via the MCP protocol on POST /mcp:

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.

REST API

The same capabilities are available as simple GET endpoints under /api. All endpoints return JSON and support CORS.

Base URL: https://sap-released-objects-server-production.up.railway.app

Endpoint MCP Equivalent Required Parameters
GET /api — Auto-documentation: lists all endpoints
GET /api/search sap_search_objects query
GET /api/object sap_get_object_details object_type, object_name
GET /api/successor sap_find_successor object_name
GET /api/compliance sap_check_clean_core_compliance object_names
GET /api/types sap_list_object_types —
GET /api/statistics sap_get_statistics —
GET /api/versions sap_list_versions —
GET /health — Health check

All endpoints accept optional system_type, clean_core_level, and version query parameters (same defaults as MCP tools).

For the full REST API reference (parameters, response formats, examples, LLM instructions), see SKILL.md.

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

<details> <summary>Build details (esbuild + pkg pipeline)</summary>

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.

</details>

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)

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选