Skip to main content
Glama
SAP Clean Core MCP Server

SAP Clean Core MCP Server

by Nidhideep

SAP Clean Core MCP Server

An MCP (Model Context Protocol) server that classifies SAP ABAP objects against SAP's official Clean Core release catalog. Built for architects, developers, and consultants working on S/4HANA implementations.

What it does

Instantly classify any SAP object (BAPI, function module, CDS view, BDEF, table) against SAP's abap-atc-cr-cv-s4hc dataset — the same catalog that ATC (ABAP Test Cockpit) uses during transport checks.

> Classify BAPI_GOODSMVT_CREATE for PCE

BAPI_GOODSMVT_CREATE → Level C | Not in catalog | ATC Priority 2
I_PURCHASEORDER      → Level C | notToBeReleasedStable | ATC Priority 2  ← the trap
I_BUSINESSPARTNER    → Level A | released | Use freely ✓

Related MCP server: MCP ABAP Server

Clean Core Levels

Level

State

ATC

Meaning

A

released

None

Released API — use freely

B

classicAPI / deprecated

Priority 3

Classic API — migration path exists

C

notToBeReleased / notToBeReleasedStable

Priority 2

Internal — exemption required

D

noAPI

Priority 1

No API exists — redesign required

C

Not in catalog

Priority 2

Defaults to C per SAP rule 3.3.4.3.3

Tools

Tool

Description

cc_classify_objects

Classify a list of objects — returns level, ATC priority, and recommended action

cc_lookup_object

Full detail lookup for a single object including successors

cc_find_successors

Find the released replacement API for a blocked object

cc_search_objects

Wildcard/prefix search across 44,000+ objects

cc_semantic_search

Natural language search ("goods movement posting API")

cc_search_by_component

Find all released APIs in a software/application component

cc_get_statistics

Dataset stats — level distribution, object types, top components

cc_list_object_types

All object types in the catalog with counts

cc_partner_objects

Query partner-extended release catalog

cc_explain_level

Explain what a Clean Core level means and what to do about it

Deployment Targets

  • PCE — S/4HANA Private Cloud Edition (default)

  • PUBLIC — S/4HANA Public Cloud

  • BTP — BTP ABAP Environment

Dataset

Backed by SAP's official open-source release catalog: github.com/SAP/abap-atc-cr-cv-s4hc

  • 44,541 objects across S4CORE, SAP_ABA, SAP_BASIS and partner namespaces

  • Updated with each SAP release

  • Loaded at startup, cached in-memory — no database required

Quick Start

git clone https://github.com/Nidhideep/sap-clean-core-mcp
cd sap-clean-core-mcp
npm install
npm run build
npm run setup    # creates .env and .mcp.json

Register with Claude Code:

claude mcp add --scope user sap-clean-core -- node /path/to/sap-clean-core-mcp/dist/src/index.js

Or add to your .mcp.json:

{
  "mcpServers": {
    "sap-clean-core": {
      "command": "node",
      "args": ["/path/to/sap-clean-core-mcp/dist/src/index.js"],
      "env": {
        "DEFAULT_TARGET": "PCE"
      }
    }
  }
}

Environment Variables

Variable

Default

Description

DEFAULT_TARGET

PCE

Default deployment target (PCE/PUBLIC/BTP)

DISABLE_EMBEDDINGS

false

Set true to skip semantic search index

FETCH_TIMEOUT_MS

60000

GitHub dataset fetch timeout

LOG_LEVEL

info

Set debug for verbose logs

Requirements

  • Node.js 18+

  • Internet access at startup (fetches SAP dataset from GitHub)

License

MIT

Available Tools

10 tools
cc_classify_objectsA

Bulk compliance check — classify up to 500 ABAP objects at once. Returns a table: object name, Clean Core level (A/B/C/D), ATC priority, state, recommended action. Uses the most restrictive state when an object has multiple entries (safety-first). Objects not found in the dataset are classified as Level C (Internal — inferred from SAP whitepaper Section 3.3.4.3.3). Use this to audit a transport's object list or a codebase's dependency inventory.

Inputs: object_names (required), offset, deployment_target, response_format.

cc_explain_levelA

Explains what a SAP Clean Core level means: what states map to it, what ATC check priority it triggers, what action is required, and governance guidance. Use this to communicate Clean Core compliance requirements to developers and architects.

Inputs: level (required).

cc_find_successorsA

Find successor APIs for deprecated or classic API ABAP objects. Returns: successorClassification (oneObject / multipleObjects / none), list of successor object names and types, their Clean Core levels, and migration advice. Tells you exactly which Released API to migrate to when retiring a deprecated dependency.

Inputs: object_name (required), deployment_target, response_format.

cc_get_statisticsA

Dataset summary and statistics for the SAP Cloudification Repository. Returns: total object count, breakdown by Clean Core level (A/B/C/D), breakdown by state, top object types, top software components, and semantic index status.

Inputs: deployment_target, include_partner.

cc_list_object_typesA

List all ABAP object types in the SAP Cloudification Repository dataset with their counts. Use this to understand what types of objects are documented and discoverable via cc_lookup_object or cc_search_objects.

Inputs: deployment_target, filter.

cc_lookup_objectA

Look up a single ABAP object by name and return its SAP Clean Core classification. Returns: Clean Core level (A/B/C/D), ATC priority, state, software component, application component, object type, successor objects, and data source. If the object exists as both a CDS view (DDLS) and a RAP business object (BDEF), both entries are returned. Objects not found are classified as Level C (Internal — inferred from SAP whitepaper default rule, Section 3.3.4.3.3).

Inputs: object_name (required), object_type, deployment_target, response_format.

cc_partner_objectsA

Search ABAP objects from SAP partner namespaces. Partner objects are cross-target (not filtered by deployment environment). Supported partners: CDE, CONLUTIO, ICO, INFHCM, INVICL, IXOS, MIC, NAMESPACE, OBZERVR, OTX, OTXAF, PAT, PROS, QTYW, SIAV, TFTO, TOP, XPR. Use this to check if a partner product's APIs follow the Clean Core approach.

Inputs: object_name, partner, limit, offset, +1 more.

cc_search_by_componentA

Find all ABAP objects belonging to a SAP software component or application component. Use this to audit an entire functional area (e.g. all MM-IM objects) for Clean Core compliance, or to discover which Released APIs exist in a given component.

Inputs: software_component, application_component, deployment_target, limit, +2 more.

cc_search_objectsA

Search ABAP objects by name pattern with wildcard support. Use for prefix search ('BAPI_MATERIAL') or wildcards ('CL_SALV*', 'MM_%'). For natural language search ('APIs for posting goods movements') use cc_semantic_search instead.

Inputs: pattern (required), deployment_target, limit, state_filter, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool targets a distinct operation: bulk classification, level explanation, successor search, statistics, object type listing, single lookup, partner search, component-based search, pattern search, and semantic search. There is no overlap or ambiguity.

    Naming Consistency4/5

    All tools share the 'cc_' prefix and most follow a verb_noun pattern (e.g., classify_objects, list_object_types). However, a few like 'partner_objects' and 'semantic_search' deviate from this pattern, introducing minor inconsistency.

    Tool Count5/5

    With 10 tools covering classification, search, statistics, and partner objects, the count is well-scoped for the SAP Clean Core compliance domain. Each tool serves a clear purpose without redundancy.

    Completeness5/5

    The tool set provides comprehensive coverage for Clean Core compliance: bulk and single object classification, level explanation, successor discovery, statistics, multiple search methods (exact, pattern, semantic, by component, by partner), and object type listing. No obvious gaps are present.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers