By arc-mcp
Build, migrate, and audit SAP ABAP code directly from Claude Code — read, write, search, activate, lint, and diagnose ABAP objects via the ADT REST API, generate RAP OData services and CDS views from natural language, run ATC clean-core audits, and create S/4HANA migration dossiers
Generate an analytical CDS query (transient projection view with PROVIDER CONTRACT ANALYTICAL_QUERY) on top of an existing analytical cube. Use when asked to "create an analytical query", "build a KPI query on a cube", "generate an ANALYTICAL_QUERY view", or "expose a cube for analytics/embedded analytics".
Generate an ABAP Unit test class for a CDS entity using the CDS Test Double Framework — replicates SAP Joule's "CDS Unit Test Generation" capability. Use when asked to "generate CDS unit tests", "test this CDS view", "create CDSTDF tests", or "write unit tests for ZI_SALESORDER".
Generate RAP determinations, validations, and custom action implementations for an existing behavior definition by reading the RAP stack and filling empty method stubs in the behavior pool. Use when asked to "implement RAP determinations", "fill in behavior pool methods", "add RAP validation logic", or "generate custom action code".
Generate a production-quality RAP OData service through deep system research, best-practice analysis, and iterative planning with user approval before any code is written. Use when asked to "plan a RAP service properly", "research before building RAP", "design a RAP service for production", or for large RAP greenfield work in transportable packages.
Generate a complete RAP OData UI service from a natural-language business object description — table, CDS views, behavior definitions, metadata extension, service definition, and behavior pool class. Use when asked to "create a RAP service for X", "scaffold a RAP UI", "build a Fiori RAP app", or "generate the RAP stack from scratch".
Requires secrets
Needs API keys or credentials to function
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
This plugin requires configuration values that are prompted when the plugin is enabled. Sensitive values are stored in your system keychain.
arc1_uiExperimental and off by default. Start a loopback browser console for sanitized config, cache metadata, feature status, and recent sanitized logs.
${user_config.arc1_ui}sap_urlURL of your SAP system (e.g. http://host:50000 or https://host:44300).
${user_config.sap_url}sap_userYour SAP user ID for authentication.
${user_config.sap_user}sap_clientSAP logon client number.
${user_config.sap_client}arc1_ui_addrLoopback bind address for the local read-only UI.
${user_config.arc1_ui_addr}arc1_ui_openOpen the read-only UI in your browser when ARC-1 starts. Only applies when the UI is enabled.
${user_config.arc1_ui_open}sap_insecureSkip TLS certificate verification (only for self-signed dev/test systems).
${user_config.sap_insecure}sap_languageSAP logon language and master language for created objects.
${user_config.sap_language}sap_passwordYour SAP password (stored securely in the OS keychain).
${user_config.sap_password}sap_allow_writesAllow ABAP object mutations (create/update/activate). Prerequisite for transport and Git writes. Keep off for read/search-only usage.
${user_config.sap_allow_writes}sap_allow_free_sqlAllow read-only ad-hoc ABAP SQL via SAPQuery. Can expose application data — review your data-governance rules.
${user_config.sap_allow_free_sql}sap_allow_git_writesAllow gCTS / abapGit mutations (commit/push/pull). Also requires Allow Writes.
${user_config.sap_allow_git_writes}sap_allowed_packagesComma-separated write allowlist: exact names, Z* wildcards, ZFOO/** subtrees, or * for ALL packages. Default $TMP (local/throwaway only); leave empty to keep the $TMP default. Only applies when Allow Writes is on.
${user_config.sap_allowed_packages}sap_allow_data_previewAllow SAPRead(type=TABLE_CONTENTS) and SAPQuery table preview. Can expose application data — review your data-governance rules.
${user_config.sap_allow_data_preview}sap_allow_transport_writesAllow CTS transport mutations (create/assign/release). Also requires Allow Writes.
${user_config.sap_allow_transport_writes}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 | Blog Series
📖 New: AI ABAP Development blog series — long-form posts on AI for ABAP, ARC-1 design, and real-world BTP / Copilot Studio / Joule walkthroughs. Read the series →
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:
SAP_ALLOW_* flagsSAP_DENY_ACTIONS (for example SAPWrite.delete), without exposing low-level operation codes to admins--allowed-packages "Z*,$TMP"). Read operations are not restricted by package — use SAP's native authorization for read-level access controlSAPRead(type=TABLE_CONTENTS) and SAPQuery are gated behind explicit env vars (SAP_ALLOW_DATA_PREVIEW=true, SAP_ALLOW_FREE_SQL=true). These capabilities can expose application data or run ad-hoc SQL, so they are intentionally separated from the default development-tooling surface. They can be enabled for governed use cases, but should be reviewed against the current SAP API Policy, your SAP agreement, and internal data-governance rules--allow-writes and --allow-transport-writes. Update/delete operations auto-use the lock correction number when no explicit transport is provided--allow-git-writes / SAP_ALLOW_GIT_WRITES=trueviewer, viewer-data, viewer-sql, developer, developer-data, developer-sql, or admin per key$TMP when enabled — only local/throwaway objects; writing to transportable packages requires explicit --allowed-packagesARC1_ALLOWED_ORIGINS (comma-separated, exact match). Off by default; native MCP clients don't need it/mcp edge (Layer 1, default 20/min/IP, on), per-user MCP quota (Layer 2, off by default — multi-user deployments opt in via ARC1_RATE_LIMIT=60), server-wide SAP-bound semaphore (Layer 3, default 10, on). Honors Retry-After on 429/503 from SAP / BTP gateways. Two operator env vars; per-endpoint OAuth ceilings are constants in code. Closes CodeQL alert js/missing-rate-limiting. See the Rate Limiting Guidenpx claudepluginhub arc-mcp/arc-1 --plugin arc-1Comprehensive ABAP development skill for SAP systems. Use when writing ABAP code, working with internal tables, structures, ABAP SQL, object-oriented programming, RAP (RESTful Application Programming Model), CDS views, EML statements, ABAP Cloud development, string processing, dynamic programming, RTTI/RTTC, field symbols, data references, exception handling, or ABAP unit testing. Covers both classic ABAP and modern ABAP for Cloud Development patterns.
Claude Code plugin for SAP ABAP development — 25 specialized agents (10 core + BC + 14 module consultants), 16 workflow skills (create-program with Phase 4/6 hardening & multi-executor split, create-object, program-to-spec, compare-programs, analyze-code/symptom/cbo-obj, ask-consultant, deep-interview, team, release, setup/mcp-setup, sap-option/sap-doctor, internal trust-session), 4-Tier context loading (Tier 1 safety baseline + Tier 2 role-mandatory + Tier 3 triggered + Tier 4 per-task kit), Sonnet/Opus/Haiku model routing, OK_CODE binding pattern for Procedural screens, paradigm-split Clean ABAP, 4 RFC backends (soap/native/gateway/odata), SPRO config for 14 modules.
ABAP system exploration and analysis tools powered by sapcli
Generate SAP Fiori Launchpad URLs from app names
Model Context Protocol (MCP) server for AI-assisted development of CAP applications.
Full SAP toolkit for building, deploying, and connecting AI agents to SAP Joule via the A2A protocol (v0.3.0) on BTP Cloud Foundry. Supports TypeScript (Express or CAP) and Python agents with LangGraph, SAP GenAI Hub, and automated Joule capability deployment.