ROSA
Answers whether an SAP object is released for ABAP Cloud, and what to use instead when it is not — served from SAP's own Cloudification Repository over MCP and over plain REST.
The clean-core question an agent gets wrong silently: MARA looks like a table an ABAP program may read, and in ABAP Cloud it is not one. ROSA plugs into SAP's Cloudification Repository — the published source of truth for released objects and their successors — and exposes it two ways off the same logic: MCP on POST /mcp for agents that speak it, and GET /api/* for skills, scripts and pipelines that only speak HTTP. Ask whether MARA is available and the answer comes back with I_PRODUCT as the replacement. Its public hosted instance has been retired, by the README's own account, so it runs where you put it: through npx, as a container image, or on BTP Cloud Foundry.
Facts
Where it sits
Who is behind it
In the atlas: maintains 2, contributes to 3@ClementRingotmaintainer
Before choosing this
Conditions
PracticalFunctional boundary
It answers about the object catalogue, not about your code: nothing here reads your system, so it will tell you a table is not released and not that you used it. That check is ATC's, and this is what makes ATC's answer actionable.
What it declares
Every artifact
- Type
- MCP server
- Origin
- Independently maintained
- Runtime
- Node.js
As an MCP server
- Runs as
- central serverlocal process
- Transport
- stdioHTTP
- Authentication
- OAuth / OIDCAPI key
- Guardrails
1 quoted from README show all
no SAP system connection required.
Connections
Whether code can run in ABAP Cloud, and what to do when it cannot
SAP's list of released APIs for SAP Cloud ERP with successors
XSUAA authentication stack for an MCP server on SAP BTP
A container engine that packages software with the tools it needs and runs it isolated from the host. Things here that ship as an image need it installed, so the reader installs the engine rather than each of the command line tools inside the container.
OAuth server issuing JWTs and holding scopes for BTP apps
Cloud Foundry runtime of SAP BTP for polyglot applications
Download
Install
npm add ROSADerived from the package name. No recipe recorded; the README has the configuration.
Architecture
Download
--http /”README
quoted from ClementRingot/ROSA under MIT, readROSA — Released Objects Search Assistant
ROSA 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 into the SAP Cloudification Repository (the official source of truth) and exposes it two ways, sharing the same business logic — no feature gap between them:
| 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 | GET endpoints on /api/* returning JSON | LLM skills, scripts, CI pipelines — anything that speaks HTTP |
Ask "Is table MARA available in ABAP Cloud?" and the agent instantly knows: no — use
I_PRODUCTinstead.
Quick start
The previously hosted public instance (on Railway) has been retired — it was too costly to keep running. There is no default public URL anymore. Everything else still works: run ROSA via
npx, a native executable, Docker, any Node host, or SAP BTP — see the deployment options below.
The quickest path is npx — no install, runs in stdio mode (what MCP clients
expect). Add this to your client config (Claude Code .mcp.json, Claude Desktop
claude_desktop_config.json, or Cursor ~/.cursor/mcp.json):
{
"mcpServers": {
"rosa": {
"command": "npx",
"args": ["-y", "@rosa-mcp/server"]
}
}
}
Already running ROSA somewhere (self-hosted / your own server)? Point your client at its URL instead:
{
"mcpServers": {
"rosa": {
"type": "url",
"url": "https://<your-instance>/mcp"
}
}
}
REST API
All endpoints are GET, return JSON, and support CORS (replace <your-instance>
with your own host):
curl "https://<your-instance>/api/search?query=purchase+order"
curl "https://<your-instance>/api/object?object_type=TABL&object_name=MARA"
curl "https://<your-instance>/api/compliance?object_names=MARA,BSEG,I_PRODUCT"
For LLM-skill usage, the full API reference is available as a skill you point at your instance:
skills/rosa-global/SKILL.md— copy it and replace the{{ROSA_BASE_URL}}placeholder with your instance URL.skills/sap-released-objects/SKILL.md— obsolete (was wired to the retired hosted instance); kept for reference only.
Self-hosted / alternative deployments
| I want to… | Use | One-liner |
|---|---|---|
| Run locally via npx (stdio) | npm | npx -y @rosa-mcp/server |
| Run without Node.js installed | Native executable | download from Releases |
| Run as a server / self-host | Docker | docker run -p 3001:3001 ghcr.io/clementringot/rosa |
| Deploy on a generic Node host | Node PaaS | Railway / Render / Fly.io — set TRANSPORT=http |
| Deploy on SAP BTP Cloud Foundry | MTA or npm wrapper | see DEPLOYMENT |
| Deploy on classic Cloud Foundry | cf push | see cloud-foundry-classic |
Full details for every option: docs/DEPLOYMENT.md.
Local MCP (stdio mode)
{
"mcpServers": {
"rosa": {
"command": "npx",
"args": ["-y", "@rosa-mcp/server"]
}
}
}
Features
- Search SAP objects — classes, CDS views, tables, data elements, BDEFs…
- Filter by Clean Core Level (A / B / C / D) — the 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 (
"purchase order"→I_PURCHASEORDER). - Multi-system — S/4HANA Cloud Public, BTP ABAP Environment, Private Cloud, On-Premise; PCE versions discovered dynamically.
Data is fetched from SAP's public GitHub repository at runtime and cached in memory for 24h — no SAP system connection required.
Clean Core Level Concept
| Level | Meaning | Upgrade safety |
|---|---|---|
| A | Released APIs (ABAP Cloud) | ✅ Upgrade-safe |
| B | Classic APIs | ⚠️ Upgrade-stable |
| C | Internal / unclassified | 🟡 Manageable risk |
| D | noAPI (not recommended) | 🔴 High risk |
MCP tools & REST endpoints
Each MCP tool on POST /mcp has an identical REST counterpart under /api:
| MCP tool | REST endpoint | Purpose |
|---|---|---|
sap_search_objects | GET /api/search | Search objects, ranked by relevance, with filters |
sap_get_object_details | GET /api/object | Full details + Clean Core assessment for one object |
sap_find_successor | GET /api/successor | Successor(s) of a deprecated / non-released object |
sap_check_clean_core_compliance | GET /api/compliance | Compliance rate for a list of objects |
sap_list_versions | GET /api/versions | Available S/4HANA PCE versions |
sap_list_object_types | GET /api/types | TADIR object types with per-level counts |
sap_get_statistics | GET /api/statistics | Repository statistics |
Parameters and response shapes are documented in
skills/sap-released-objects/SKILL.md.
Server modes & authentication
ROSA runs over stdio (default; local MCP clients) or HTTP (--http /
TRANSPORT=http; remote/self-hosted). On HTTP it auto-detects four
authentication modes from the environment — public, OIDC / OAuth 2.1,
XSUAA (SAP BTP), and API keys — with no rebuild:
| Mode | Trigger |
|---|---|
| Public | no auth env vars |
| OIDC / OAuth 2.1 | OAUTH_ISSUER + OAUTH_AUDIENCE |
| XSUAA | VCAP_SERVICES xsuaa binding (SAP BTP) |
| API keys | API_KEYS (alongside any mode) |
How transports, auth auto-detection, the auth × deployment matrix, and the system diagram work: docs/ARCHITECTURE.md.
Usage examples
You: "Is table MARA available in ABAP Cloud?"
Agent: → sap_get_object_details(TABL, MARA) → "deprecated; successor I_PRODUCT"
You: "My code uses BSEG, MARA, CL_GUI_ALV_GRID. Is it Clean Core?"
Agent: → sap_check_clean_core_compliance(...) → "Compliance rate: 0%"
You: "What's available for sending emails on BTP?"
Agent: → sap_search_objects(query="send email", system_type="btp")
Documentation
| Doc | For |
|---|---|
| ARCHITECTURE.md | Transports, auth modes, system diagram, MCP tools |
| DEPLOYMENT.md | Every deployment option + config reference + troubleshooting |
| cloud-foundry-classic.md | Classic (non-BTP) Cloud Foundry |
| RELEASE.md | Release train & pipeline (maintainers) |
| CONTRIBUTING.md | Dev setup, tests, commit convention |
| CHANGELOG.md | Notable changes |
Contributing & releases
PRs welcome — see CONTRIBUTING.md. This repo uses Conventional Commits; releases are cut by an automated release train that publishes the npm package, the multi-arch Docker image, and native executables from a single tag.
License
History
Fixes 1
Notes
Patch Changes
- e08fa24: Report the real version from the native executables and the esbuild bundle. The
version is now injected at build time (esbuild
define) instead of falling back to a stale hard-coded literal, sonode bundle/index.cjsand the published binaries no longer report an outdated version.
All notable changes to this project are documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. From the next release onward, entries are maintained automatically by release-please.
Features 4
Notes
Features
Notes
Baseline release prior to the changes above (native executables only). See the GitHub Releases for the full history up to 1.12.6.
Others providing
Compare all 11 on the ABAP Cloud readiness page →- abap-cloud-guiabap-cloud-guiA report-style programming model for abap2UI5: one class produces a selection screen with a WRITE list or an ALV grid, running as a UI5 app on ABAP Cloud as well as on NetWeaver 7.02.independent, abapReport-style programming model for abap2UI5 on ABAP Cloudfrom ABAP
- codepagecodepageA polyfill class, ZCL_ABAP_CODEPAGE, that converts strings to binary and back behind one interface, where Clean Core blocks CL_ABAP_CODEPAGE and older systems lack CL_ABAP_CONV_CODEPAGE.independent, abapPolyfill for CL_ABAP_CODEPAGE under Clean Corefrom ABAP
- Modernization Agents for SAP on AWSModernization Agents for SAP on AWSAWS's suite of agents for SAP modernisation work: custom ABAP converted for S/4HANA, PI/PO interfaces moved to Integration Suite, BW objects moved to SAP Datasphere, deployed into a customer's own AWS account and reached only after registration.partner, abapAWS agents for ABAP, PI/PO and BW modernisation workfrom ABAP
- Cloudification RepositoryCloudification RepositorySAP's list of released APIs for SAP Cloud ERP, with the successors of the objects that are not released — the content the ABAP test cockpit's cloud readiness and clean core checks are pointed at.sap official, abapSAP's list of released APIs for SAP Cloud ERP with successorsfrom ABAP
- code pal for ABAP — Cloud Editioncode pal for ABAP — Cloud EditionThe same Clean ABAP check set for ABAP Cloud, where the legacy edition cannot run.sap official, abapClean ABAP check set for ABAP Cloudfrom ABAP
- Clean-Core.ioClean-Core.ioA free hosted workspace that reads one piece of custom ABAP, redraws its business process as BPMN with a line anchor on every element, grades the SAP objects it uses Level A–D and ends in a keep, rebuild, move-to-standard or retire decision.independent, abapHosted workspace redrawing custom ABAP as BPMN and grading itfrom ABAP
- Clean Core MeasurementClean Core MeasurementAn ABAP application for a central ATC system that imports Clean Core check results and reports them per system as Level A to D KPIs, technical debt scores and documented assignments.independent, abapReports Clean Core ATC results per system as Level A to D KPIsfrom ABAP
- ABAP Select ConverterABAP Select ConverterConverts a classic Open SQL SELECT against dictionary tables to the equivalent statement against released Core Data Services entities and their fields.independent, abapConverts classic Open SQL SELECTs to released CDS entitiesfrom ABAP
- abap-system-fieldsabap-system-fieldsAn ABAP Cloud class that wraps SY system fields and calendar-date functions behind an injectable instance, so code that reads them stays stable under unit tests.independent, abapInjectable wrapper for SY fields and date functions in ABAP Cloudfrom ABAP
- Cloudification Repository ViewerCloudification Repository ViewerA browser form over the Cloudification Repository, the list SAP publishes of which standard objects are released for ABAP Cloud and what replaces the ones that are not.independent, abapBrowser form over SAP's Cloudification Repository for ABAP Cloudfrom ABAP
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Flavors
“S/4HANA Cloud Public, BTP ABAP Environment, Private Cloud,” — ClementRingot/ROSA — README
“On-Premise; PCE versions discovered dynamically.” — ClementRingot/ROSA — README
History in the atlas
- corrected against the README
- Triaged out of data/crawled/mcp-candidates.json, the sap-ai-mcp-servers sweep. Written from the repository's own README; the catalogue is credited as where it was found and its words are not reused.
- First seen.
For your agent
- Ref
artifact:clementringot-rosa- JSON
- /artifacts/clementringot-rosa.json
- MCP
- Connecting an agent