ROSA — 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:
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
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
MCP tools & REST endpoints
Each MCP tool on POST /mcp has an identical REST counterpart under /api:
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:
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
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.