MCP server for SAP ABAP systems
Valid MCP server (1 strong, 1 medium validity signals). 1 code issue detected. No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
5 files analyzed · 2 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: SAP_URL
Environment variable: SAP_USER
Environment variable: SAP_PASSWORD
Environment variable: SAP_CLIENT
Environment variable: SAP_LANGUAGE
Environment variable: SAP_INSECURE
Environment variable: SAP_READ_ONLY
Environment variable: SAP_TRANSPORT
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-marianfoo-arc-1": {
"env": {
"SAP_URL": "your-sap-url-here",
"SAP_USER": "your-sap-user-here",
"SAP_CLIENT": "your-sap-client-here",
"SAP_INSECURE": "your-sap-insecure-here",
"SAP_LANGUAGE": "your-sap-language-here",
"SAP_PASSWORD": "your-sap-password-here",
"SAP_READ_ONLY": "your-sap-read-only-here",
"SAP_TRANSPORT": "your-sap-transport-here"
},
"args": [
"-y",
"arc-1"
],
"command": "npx"
}
}
}From the project's GitHub README.
ARC-1 (pronounced arc one [ɑːrk wʌn]) — Enterprise-ready MCP server for SAP ABAP systems. Secure by default, deployable to BTP or on-premise, and hardened with large unit/integration/E2E test coverage.
ARC-1 connects AI assistants (Claude, GitHub Copilot, Copilot Studio, and any MCP client) to SAP systems via the ADT REST API. It ships as an npm package and Docker image.
Full Documentation | Quickstart | Tool Reference
Built for organizations that need AI-assisted SAP development with guardrails. Inspired by the pioneering work of abap-adt-api, mcp-abap-adt, and vibing-steampunk — ARC-1 adds what's needed to run in production:
--profile developer or explicit flags to enable capabilities--allowed-packages "Z*,$TMP"). Read operations are not restricted by package — use SAP's native authorization for read-level access control--block-data=false) or free-form SQL (--block-free-sql=false)viewer, viewer-data, viewer-sql, developer, developer-data, developer-sql$TMP when enabled — only local/throwaway objects; writing to transportable packages requires explicit --allowed-packagesDeploy ARC-1 as a Cloud Foundry app on SAP BTP with full platform integration:
SAPContext returns public API contracts of all dependencies in one call (7-30x compression)SAPContext dep resolution keyed by source hash; unchanged objects skip all ADT calls on subsequent runs.ARC1_CACHE_WARMUP=true to pre-index all custom objects at startup, enabling reverse dependency lookup (SAPContext(action="usages")) and fast CDS impact workflows (SAPContext(action="impact", type="DDLS")).SAPWrite modifies an object, its cache entry is automatically dropped; next read fetches fresh source.See docs/caching.md for full documentation.
53 unit test files, mocked HTTP)test:integration:crud, test:integration:btp:smoke)22 and 24; integration + E2E run on push to main and internal PRsThe 11 tools are designed from real LLM interaction feedback:
| Tool | What it does |
|---|---|
| SAPRead | Read ABAP source, table data, CDS views, metadata extensions (DDLX), service bindings (SRVB), message classes, BOR objects, deployed UI5/Fiori apps (BSP, BSP_DEPLOY), plus on-prem metadata reads for authorization fields (AUTH), feature toggles (FTG2), and enhancement implementations (ENHO). Structured format for classes returns metadata + decomposed includes as JSON |
| SAPSearch | Object search + full-text source code search across the system |
| SAPWrite | Create/update/delete ABAP source and DDIC metadata with automatic lock/unlock (PROG, CLAS, INTF, FUNC, INCL, DDLS, DDLX, BDEF, SRVD, DOMA, DTEL). Batch creation for multi-object workflows (e.g., RAP stack or domain+data element in one call) |
| SAPActivate | Activate ABAP objects — single or batch (essential for RAP stacks). Publish/unpublish OData service bindings (SRVB) |
| SAPNavigate | Go-to-definition, find references, code completion |
| SAPQuery | Execute ABAP SQL with table-not-found suggestions |
| SAPTransport | CTS transport management (list/create/release/delete/reassign), transport requirement checks, and reverse lookup history (action="history") |
| SAPContext | Compressed dependency context (action="deps"), reverse dependency lookup (action="usages"), and CDS upstream/downstream impact analysis (action="impact" for DDLS) |
| SAPLint | Local ABAP lint (system-aware presets, auto-fix, pre-write validation) + ADT PrettyPrint (server-side formatting) |
| SAPDiagnose | Syntax check, ABAP Unit tests, ATC code quality, short dumps, profiler traces |
| SAPManage | Feature probing — detect what the system supports before acting |
Tool definitions automatically adapt to the target system (BTP vs on-premise), removing unavailable types and adjusting descriptions so the LLM never attempts unsupported operations.
ARC-1 probes the SAP system at startup and adapts its behavior:
npx arc-1@latest --url https://your-sap-host:44300 --user YOUR_USER
Full documentation is available at marianfoo.github.io/arc-1.
| Guide | Description |
|---|---|
| Quickstart | 5-minute npx + Claude Desktop setup |
| Local Development | Full local dev — all install methods, MCP client configs, SSO cookie extractor |
| Deployment | Multi-user deployment — Docker, BTP Cloud Foundry, BTP ABAP |
| Configuration | Every flag and env var, one table |
| Updating | Update procedures per install method |
| Enterprise Auth | Layer A / Layer B auth internals, coexistence matrix |
| Tool Reference | Complete reference for all 11 tools |
| Architecture | System architecture with diagrams |
| AI Usage Patterns | Agent workflow patterns and best practices |
npm ci && npm run build && npm test
See CLAUDE.md for codebase structure, testing commands, and contribution guidelines.
| Project | Author | Contribution |
|---|---|---|
| vibing-steampunk | oisee | Original Go MCP server — ARC-1's starting point |
| abap-adt-api | Marcello Urbani | TypeScript ADT library, definitive API reference |
| mcp-abap-adt | Mario Andreschak | First MCP server for ABAP ADT |
| abaplint | Lars Hvam | ABAP parser/linter (used via @abaplint/core) |
MIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally