Agent access to your code
Letting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from MCP serversServe your application over MCPExposing selected application data and business operations to an AI agent through the Model Context Protocol. An application may also integrate remote services through service integration, connecting its exposed contract with agent access to your systems. Development assistance belongs to agent access to your code.SAP and community, narrow by design, which is a protocol adapter on your own running service, and from agent guidanceAgent guidancePackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from agent access to your code, where the agent reads the real project instead of being handed a file about it.SAP and community, core adopted it, which is knowledge handed over as files rather than read from the thing itself.
Overview
An agent knows the framework from training data, but little about your model, your plugins or the newest cds version you are on. Closing that gap means handing it the project's own context, which is what @cap-js/mcp-server@cap-js/mcp-serverSAP's MCP server for CAP development, run as cds-mcp: search_model searches the project's compiled CDS model, search_docs searches the CAP documentation indexed as embeddings on the developer's own machine.sap official, cap does, so the advice it gives is about the service in front of it rather than about CAP in general.
Present, not yet described.
Both are present — SAP publishes cds-mcp and the community builds beside it — but how they relate has not been assessed. No capire page states what the core intends here, so what_core_does is left empty rather than inferred from a repository.
capforgecapforgeAn MCP server that scaffolds CAP and CDS for a coding agent and then holds it to cds compile — the agent does not stop until the generated code builds clean.independent, cap scaffolds CAP and CDS for an agent and then holds it to cds compile, so the agent does not stop until the generated project builds.
There is no filesystem to read: the source lives in a system reachable by default through ADT resourcesADT resourcesThe HTTP endpoint an ABAP system exposes as the adt ICF service under /sap/bc/adt, so a client outside the system can reach development objects, delivered with the platform rather than installed.sap official, abap, so this is a landscape and licensing question before it is a tooling one. Many MCP servers build towards ADT resourcesADT resourcesThe HTTP endpoint an ABAP system exposes as the adt ICF service under /sap/bc/adt, so a client outside the system can reach development objects, delivered with the platform rather than installed.sap official, abap, but differ in where they run, how they connect and how they authenticate. SAP ships its own servers here, meant to be the default way in. The community ones are further along in features.
SAP ships the ADT MCP ServerADT MCP ServerSAP's own ADT MCP server, and not a package: a preference inside ABAP Development Tools for VS Code that starts a local HTTP MCP server on a port you choose.sap official, abap, a setting in ABAP Development Tools for VS CodeABAP Development Tools for VS CodeSAP's ABAP tools in VS Code: editing, debugging, ABAP Unit, ATC and transports for classes, CDS and RAP objects, over RFC to an on-premise or Private Cloud system and HTTP to a cloud one, with Joule's ADT MCP server and code completion behind an AI-unit licence.sap official, abap that turns the connection the IDE already holds into a local MCP endpoint on the developer's machine. SAP Joule for Developers, ABAP AI capabilitiesSAP Joule for Developers, ABAP AI capabilitiesSAP's AI for ABAP development in ADT for Eclipse and VS Code: chat, code completion, explain, test and CDS generation, RAP logic prediction, and since June 2026 an agentic mode over the ADT MCP Server, metered in AI units through the ABAP AI Hub Service on BTP.sap official, abap drives coding agents through it, and ADT resourcesADT resourcesThe HTTP endpoint an ABAP system exposes as the adt ICF service under /sap/bc/adt, so a client outside the system can reach development objects, delivered with the platform rather than installed.sap official, abap are the REST APIs underneath.
Not covered: It stops where the system boundary does — an agent still needs credentials and a reachable system, which is a licensing and landscape question rather than a technical one.
The community's MCP servers reach the same ADT resourcesADT resourcesThe HTTP endpoint an ABAP system exposes as the adt ICF service under /sap/bc/adt, so a client outside the system can reach development objects, delivered with the platform rather than installed.sap official, abap from outside the IDE: as a local process or a central server, a few inside the system itself, over stdio or HTTP. Many sign in with more than a user and password, from OAuth and X.509 to principal propagation and BTP destinations, and most state that they write as well as read.
An assistant that can only describe the steps leaves the developer to perform them. fiori-mcp@sap-ux/fiori-mcp-serverSAP's Fiori MCP server, run as fiori-mcp, letting a coding assistant create and edit Fiori applications directly rather than describing the steps.sap official, ui5 lets it create and edit the application directly, driving the generators and editors Fiori tools already ship rather than reimplementing them — which also means it reaches what those reach and stops where they stop.
@ui5/mcp-server SAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.
@ui5/mcp-server SAP's MCP server for UI5 development: ten tools that scaffold an app or a card, read the project in front of the agent, and run the linter and the manifest validator against it.
Not covered: At the tooling SAP already owns: fiori-mcp drives the same generators and editors Fiori tools ship, so it reaches what those reach and no further.
No community artifact is documented here.
Here the project an agent works on is bound to a landscape rather than sitting in a folder. @sap/mdk-mcp-server@sap/mdk-mcp-serverFive tools for Mobile Development Kit work: create a project, generate pages and rules into it, drive the build and deploy, read the documentation, and pull OData metadata from Mobile Services.sap official, btp generates into an MDK project and drives its build and deploy, and reaches past the project to pull OData metadata from the Mobile Services app it is written against.
Present, not yet described.
Not covered: At what a bound landscape allows. The tools need a service metadata file, the Cloud Foundry CLI and access to the environment, so this is a provisioning question before it is a tooling one.
Independent and partner servers on this door reach systems beside the project: sap-ai-dev-toolkitsap-ai-dev-toolkitAn MCP proxy that pins an agent's ABAP tools to one SAP system: setup reads the BAS destinations or the local SAP GUI landscape and writes one stdio server per system, leaving the credentials in the destination or in the editor's own login prompts.independent, abap pins an agent's ABAP tools to a system through the destinations of SAP Business Application Studio, bw-modeling-mcpbw-modeling-mcpReads, creates and modifies BW/4HANA modelling objects through the same internal APIs Eclipse BWMT and the BW/4HANA Cockpit use — and can run centrally on BTP with each caller reaching BW as themselves.independent, btp opens BW/4HANA modelling objects to an agent and can run centrally on BTP, and 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, abap converts custom ABAP and moves PI/PO and BW content onto BTP.
Policy
PolicySAP API Policy 4.2026a§ 1.1, 1.2, 2.2.2AlwaysAn MCP server calls ADT or another SAP API of a running system for an agent.
- § 1.1 Published APIs. Published APIs are made available for the documented purposes identified by SAP, including integration, extensions and data exchange.
- § 1.2 Non-Published APIs. Customer and third-party applications must not access non-published APIs except where documentation permits it or SAP otherwise authorizes it.
- § 2.2.2 AI call sequences and data extraction. Outside SAP-endorsed architectures, data services or expressly identified pathways, the policy prohibits specified agentic API use and systematic or large-scale extraction.
An agent that plans and executes ADT calls is the case section 2.2.2 names. Check that the endpoints are published for the intended use, and that the design runs within a pathway SAP identifies for it.
SAP API Policy 4.2026a →Artifacts
Tasks
Generate a RAP business object by prompting an agent
A developer describes the travel application they want and an agent creates the RAP objects in the ABAP system, instead of printing source for the developer to paste into the editor.
Ends at objects created and activated in the system. Publishing the service binding, previewing the SAP Fiori elements app and writing the business logic that follows are separate steps, and the ABAP Flight Reference Scenario is assumed to be in the system already.
ABAP Development Tools for VS CodeHolds the logged-on ABAP project the server runs against and mounts the system as a virtual workspace filesystem, which is how the agent reads and edits the ABAP files it is generating around. The MCP tools and that filesystem are two halves of one session.
Conditions: A coding agent extension that supports Visual Studio Code's virtual workspace filesystem, which is what lets it call the MCP tools and open the ABAP files at all. SAP-samples names GitHub Copilot as the primary tested agent; what another agent does with the same filesystem is not stated there.
Remaining work: Adding the project, logging on and keeping the session open are the developer's, and they are the reason this answer exists on one machine rather than in a landscape.
ADT MCP ServerPuts SAP's own ABAP RAP generators in front of the agent as MCP tools, so the objects come out of the generator rather than out of the model. The documented set names abap_generators-list_generators, abap_generators-get_schema and abap_generators-generate_objects, with abap_activate-objects to activate the result and abap_transport-create to open the transport it needs.
Conditions: ADT for VS Code is running with a destination active in the workspace; the server does not start without one. The system is one SAP names as currently supported: SAP BTP ABAP environment, SAP S/4HANA Cloud Public Edition or SAP S/4HANA Cloud Private 2025 Edition. SAP Joule for developers, ABAP AI capabilities is enabled on that system. SAP calls the server an experimental feature that is not intended for productive use, which is a decision about the system it is pointed at rather than about the tool.
Remaining work: The developer runs the agent from an editor session of their own and reviews what the generator produced. Nothing in this path runs headless or in a pipeline.
arc-1Creates, updates and deletes ABAP source and DDIC metadata with automatic lock and unlock, activates objects and manages CTS transports, under the caller's own SAP user. For RAP it scaffolds the behaviour pool, auto-creating lhc_* skeletons before signatures and stubs are injected, so an agent reaches this outcome by writing the behaviour definition, the projection and the service binding around that shell rather than by running a generator over the whole stack.
Conditions: A reachable ABAP system and credentials for it, since this is a proxy in front of ADT rather than a system. Writes are off by default, so the package the objects go into has to be allowed first.
Remaining work: The objects are written rather than generated from a schema, so their shape, their naming and their consistency with the reference scenario are the developer's to review.
Let an agent change ABAP in an on-premise system
An agent reads and changes ABAP in a system the customer runs themselves, on the classic development model, and the change is activated there.
Ends at the change activated in the system. The network path to it, the Cloud Connector or the RFC route, and the authorisations the agent's user carries are landscape work this task assumes is already done.
abapsmithWrites to the system over ADT with the mode ladder in front and a journal behind: read is the default and an absolute ceiling, edit allows write, activate and run, and every mutation is recorded as a before and after image before it is attempted, so it can be listed, shown and undone with the exact prior source restored, with drift against the live server detected and refused. The surface reaches the object types a classic system carries beyond source and DDIC — BOPF models, enhancement spots and BAdIs, classic dynpro screens, IMG customizing — and the ones ADT has no write endpoint for run by installing ABAP into a local $ABAPSMITH_FLUID_API package. Activation is check-only or armed, single or batched, with ATC and existing ABAP Unit tests runnable on the same connection.
Conditions: An ABAP system with ADT enabled and reachable over HTTP, under a user holding `S_DEVELOP`; a dedicated technical user is what the README suggests. `ABAP_MODE=edit` or `admin` before anything is written: `read` is the default and no other variable lifts it. A system that reports itself productive, or whose role the probe could not prove non-productive, is locked read-only with no override, so the target has to be a system whose client category answers the probe.
Remaining work: Deciding which packages, object names and transport requests the agent may write to, since those three allowlists pass by default and only the SAP-namespace check stands between an opted-in write and any package. Beyond that, the ladder governs the arguments the server passes, not the ABAP it executes: whatever abap_run, abap_test or an opted-in core.eval does runs under the connected technical user's own SAP authorisations.
arc-1Reaches an on-premise system through the Cloud Connector and forwards the caller's identity end to end with X.509 certificates, so the system sees a real SAP user and its authorisation checks still apply. On that connection it reads, writes and activates source and DDIC metadata and runs syntax check, ABAP Unit and ATC.
Conditions: A Cloud Connector between the server and the system, or an X.509 trust for per-user destinations. Writes are off by default: the shipped posture is read-only, with no free SQL, no table preview, no transport writes and no git writes until each is turned on with an explicit flag.
Remaining work: Deciding which packages the agent may write to, and which of the off-by-default reads to turn on, before any of this happens.
EPOD ADT MCP ServerOpens no connection of its own: the server runs inside Eclipse and reuses the ADT session of each connected ABAP project, so the agent acts under the developer's logon and the plugin stores and transmits no credentials. On that session it reads source, DDIC objects and short dumps, writes with one call that locks, writes, unlocks and activates, creates objects, opens and releases transport requests, and runs syntax check, ATC and ABAP Unit. Several projects can be connected at once and each tool call names its systemId, and access is per system: a connection starts in write, and Toggle Read-Only makes it refuse the 11 write tools and send no write request to SAP.
Conditions: Eclipse 2024-03 or later with SAP ADT installed on Java 21, and an ABAP project that is logged on: a tool returns `The destination with ID <name> is not registered.` when the project has no logon after an Eclipse restart. The README states the connection as the ADT SNC/SSO session of an Eclipse ABAP project and names no release, edition or system type, so what is reachable is whatever that Eclipse is already connected to. The server listens on 127.0.0.1 behind a bearer token and answers any request carrying an `Origin` header with HTTP 403, so the agent runs on the developer's machine.
Remaining work: Deciding which of the connected systems stays in write mode, since a new connection starts in write and the mode is stored per project. The session is a developer's Eclipse, so nothing on this path runs in a pipeline.
fr0ster/mcp-abap-adtNames on-premise ECC and SAP S/4HANA in its own supported list, and goes below every other entry on this door: legacy systems on a BASIS release under 7.50, where vibing-steampunk's floor sits. It states full create, read, update and delete on ABAP artifacts rather than a read-only posture, and documents two authentication routes it marks as on-premise only, client certificates over mTLS and Kerberos through SPNEGO.
Conditions: Client certificate and Kerberos authentication are documented as on-premise HTTP only, so the route that fits a classic system is not the one that fits a BTP one. A legacy system under BASIS 7.50 is served by a separate tool set rather than the full one, which the README lists on its own page.
Remaining work: Reading which tools the legacy set actually holds for the release in front of you, since the entry's reach below 7.50 is stated as a separate surface rather than the same one.
Modernization Agents for SAP on AWSWorks on the whole custom code base rather than an object at a time: an agent prompted from Kiro converts ABAP out of an SAP ECC system into S/4HANA-compliant code in bulk, with unit tests generated and run either side of the conversion. The connection is to a development, sandbox or QA system, and converted code reaches production through transport and change management rather than from the agent. Two authentication models are documented, basic auth with one shared SAP service user and principal propagation carrying each caller's own SAP identity into SAP audit records.
Conditions: Registration with AWS: the public repository carries the README and the registration link, and the agents, deployment guides and documentation arrive only once registered. Kiro or another agentic IDE AWS lists as supported, which is where the agents are prompted, plus an AWS account the agents are deployed into. A supported SAP NetWeaver version and a network path between the AWS account and the SAP system.
Remaining work: Register first. The public repository names no tools and no object types, so what the agent reads, writes or activates in the system is not established by anything readable here, and each agent's own prerequisites are stated in its own repository.
vibing-steampunkStates any system with ADT switched on from 7.50 upwards, which reaches an ERP system no ABAP Cloud client answers for, and carries a second route for systems where the HTTP path is not available: classic RFC through the gateway port, with SADT_REST_RFC_ENDPOINT taking a whole HTTP request so an ADT resource is still reachable. What a given system actually offers varies by release, and vsp compat reports that per system rather than assuming it.
Conditions: ADT is enabled on the system. RAP needs SAP S/4HANA and AMDP needs SAP HANA, so part of the surface is absent on an ERP system. The RFC route needs the gateway port open instead of ICF, which is a different network decision rather than a fallback that needs no one's approval.
Remaining work: Reading vsp compat for the system in front of you before planning what the agent is allowed to attempt on it, and deciding whether a production system is one the agent may write to at all.
ADT MCP ServerSAP names SAP BTP ABAP environment, SAP S/4HANA Cloud Public Edition and SAP S/4HANA Cloud Private 2025 Edition as currently supported. Nothing retrieved here speaks about a classic on-premise system either way, and a list of supported systems is not a statement that the rest are refused.
Remaining work: Establishing this needs a source that addresses on-premise systems directly. Until there is one, a reader planning for such a system has the independent servers to look at and an open question about SAP's.
Content
Show 21 more
Show 2 more
Show 2 more
Seen working
No license Neither the package manifest nor the repository tree declares a licence.
Functional boundary It consumes the `@experimental` public API, which the README says may break in any release. The RFC tool dials as one shared technical user with its own credentials, so SAP's log records that user and not the person behind the agent.
Details
Coverage
Comparison properties
These are the questions used to compare what the artifacts do. Values come from their documentation and may apply to a particular ecosystem or runtime. Each recorded value in the comparison opens its statement and sources.
For your agent
- Ref
capability:agent-code-access- JSON
- /capabilities/agent-code-access.json
- MCP
- Connecting an agent