MCP serverMCP servertypeExposes tools to a coding agent over MCP.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

arc1-adt-abap-mcp-ext

One JAR in Eclipse's dropins that turns on SAP's own ADT MCP server and adds read-only repository tools beside it — so an AI client reads your system without leaving Eclipse.

SAP's ADT MCP Server is a preference inside the tooling rather than something you install, and this is the shortest path to using it: drop the JAR, enable the server, restart, point a client at http://localhost:2234/mcp. On top of what SAP exposes it contributes extra read-only tools — repository search, metadata, find-definition, system information — for Claude, Copilot, Cursor or any MCP client. From version 0.5.1 it builds on SAP's supported activation surface, which first shipped in ADT 3.60; earlier plugin versions reflectively woke a server that was then dormant.

Facts

Last pushLicenceMIT

Where it sits

Lives in
Provides
Agent access to your codeABAPAgent access to your codecapabilityLetting 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 servers](capability:mcp-servers), which is a protocol adapter on your own running service, and from [agent guidance](capability:agent-guidance), which is knowledge handed over as files rather than read from the thing itself.
Requires
ADT MCP ServerADT MCP ServerartifactThe plugin contributes tools to SAP's own MCP server inside ADT, which the user enables; without that server there is nothing to add tools to.

Who is behind it

ARC MCPARC MCPOrganisationMaintains this
In the atlas: maintains 9
@arc-mcp
Marian ZeisMarian ZeisPersonMaintains this
In the atlas: maintains 35, contributes to 86, wrote 25
@marianfoo
maintainers

Before choosing this

Conditions

PracticalFunctional boundary

It lives inside Eclipse and inherits everything that implies — the session is a developer's, not a pipeline's. And it is version-bound: ADT 3.60 or newer for 0.5.1, with 0.3.x the path for ADT 3.58 and 3.59.

PolicySAP API Policy 4.2026a§ 1.1, 1.2, 2.2.2from Agent access to your codeAn 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 →

What it declares

Every artifact

Type
MCP server
Origin
Independently maintained

As an MCP server

Runs as
inside the IDE
Transport
HTTP
Authentication
API keyuser and password
Tools
18
Read-only
yesstates it is
Guardrails
3 quoted from README show all
  • The MCP server binds to localhost only (not reachable from the network).

  • leave this off and prefer per-tool approval.

  • No telemetry, no outbound HTTP from this plugin.

For agent access to your code

Read
sourcesearchwhere-usedDDICCDStable data
Change
writecreateactivatetransportsgit
Check
syntaxATCABAP Unit
Run
run codedumps
property statedstated nonot said

Connections2

Your IDEarc1-adt-abap-mcp-ext — README, checked 2026-09-11: “- Transport: **HTTP**”HTTPdocumentedrequiresYour MCP client, actorYour MCP clientarc1-adt-abap-mcp-ext, modulearc1-adt-abap-mcp-extADT MCP Server, moduleADT MCP Server
SAPnot SAP's, or the project's ownstated in the documentdocumented only

README

quoted from arc-mcp/arc1-adt-abap-mcp-ext under MIT, read
arc-mcp/arc1-adt-abap-mcp-ext/README.mdOn GitHub

arc1-adt-abap-mcp-ext

build release license

Use Claude, GitHub Copilot, Cursor, or any MCP-capable AI client to read your ABAP system — without leaving Eclipse.

Drop one JAR into your Eclipse dropins/, turn on SAP's built-in MCP server, restart, point your AI client at http://localhost:2234/mcp — done. Your AI can now search ABAP repositories, read source code, list transports, inspect service bindings, and more.

Important

Requires ABAP Development Tools (ADT) 3.60 or newer. Version 0.5.1 builds on SAP's supported MCP server, which first shipped an activation surface in ADT 3.60. For ADT 3.58 / 3.59 use plugin version ≤ 0.3.x instead (those reflectively woke the then-dormant server).


What this actually does

As of ADT 3.60, SAP ships a supported MCP server inside Eclipse-for-ABAP. It's off by default and, on its own, only exposes SAP's own MCP tools. This plugin:

  1. Adds 18 read-only ABAP tools via SAP's documented Eclipse extension point com.sap.adt.mcp.core.adtMcpTools — search, read source, object metadata, where-used, package/object structure, syntax check, unit tests, ATC, transports, and authenticated HTTP escape hatches.
  2. Logs you in automatically to your ABAP project (optional) so the AI can reach the backend on the first call.

You enable SAP's server once (a preference toggle + one eclipse.ini line); this plugin's tools then register on it automatically every time it starts. No reflection, no internal hacks — just a standard tool contribution.

Note

This is a community plugin, not an official SAP product. It uses only the documented extension point. SAP owns the server lifecycle (start/stop, port, token); this plugin only contributes tools.


Quick install (5 minutes)

What you need first
  • Eclipse for ABAP with ADT 3.60+ (check via Help → Installation Details)
  • JDK 21 — comes bundled with Eclipse-for-ABAP, no separate install needed
  • An ABAP project that you can log into (this plugin connects through it)
Step 1: Download the plugin JAR

From the latest release, grab com.arc1.mcp_0.5.1.jar.

Step 2: Drop it into Eclipse's dropins/ folder
PlatformPath
macOS~/eclipse/java-2025-09/Eclipse.app/Contents/Eclipse/dropins/
Linux~/eclipse/java-2025-09/eclipse/dropins/
WindowsC:\eclipse\java-2025-09\eclipse\dropins\

If your Eclipse is somewhere else, look for the dropins/ folder next to your Eclipse executable (or one level up on macOS — inside the .app).

Step 3: Add one line to eclipse.ini

Find eclipse.ini (next to the Eclipse executable, or inside the macOS app bundle at Contents/Eclipse/eclipse.ini). Add this line at the very bottom, after the existing -vmargs block:

-DadtMcpServerPrefEnabled=true

This is SAP's flag that makes the MCP server auto-start on every boot. Without it, the server only runs while you keep the preference applied in the current session.

(Optional) if you want this plugin to auto-log-into a specific ABAP project, also add:

-Darc1.mcp.destination=YOUR_DESTINATION_ID

See how to find your destination ID below.

Step 4: Restart Eclipse with -clean
# macOS
pkill -f Eclipse
~/eclipse/java-2025-09/Eclipse.app/Contents/MacOS/eclipse -clean &

# Linux
pkill -f eclipse
~/eclipse/java-2025-09/eclipse/eclipse -clean &

Windows: close Eclipse normally, then run eclipse.exe -clean from a command prompt. The -clean flag is only needed once per plugin update.

Step 5: Turn on the MCP server (SAP preference page)

In Eclipse: Preferences → ABAP Development → MCP Server.

  1. Tick Enable ADT MCP Server.
  2. Leave Token blank and click Generate (or type your own long string).
  3. Port defaults to 2234 — change it only if that port is taken.
  4. Click Apply. You should see "ADT MCP Server started successfully."

Copy the Token value — you'll paste it into your AI client in the next section. (SAP shows it right there on the page; this plugin does not write a token file.)

Step 6: Verify it started

Window → Show View → Error Log. You should see (from SAP and from us):

ADT MCP Server started successfully.
ARC-1 MCP extension: tool contributions registered. The ADT MCP server is started by SAP ...
ARC-1 MCP extension: Auto-login succeeded for destination: YOUR_DESTINATION_ID

If you see those, you're done with the plugin install. Now connect a client.


Connect your AI client

Use the port and token from the preference page (default port 2234). Pick one client below:

GitHub Copilot (inside Eclipse or VS Code)

Preferences → GitHub Copilot → Model Context Protocol (MCP), paste:

{
  "servers": {
    "mcp-abap-server": {
      "url": "http://localhost:2234/mcp",
      "requestInit": {
        "headers": {
          "Authorization": "Bearer PASTE-TOKEN-FROM-PREFERENCE-PAGE"
        }
      }
    }
  }
}

Click Apply. Test it: open Copilot Chat, ask "use abap mcp server to search for ZARC1*".

Auto-approve the read-only tools (optional). Recent GitHub Copilot for Eclipse can pre-approve MCP tool calls so you aren't prompted on every call. In Preferences → GitHub Copilot → (MCP settings):

  • MCP Server and Tool Approval (recommended) — expand the abap-mcp server and tick the individual arc1_sap_* tools you want pre-approved. Every arc1_sap_* tool this plugin adds is read-only, so it's safe to auto-approve here. This works regardless of whether a tool advertises an annotation.
  • Trust MCP tool annotations — auto-approves tools that advertise a read-only hint, without confirmation. Convenient, but it only covers tools that set the hint, so the per-tool list above is the reliable way to cover the arc1_sap_* tools.
  • Global Auto Approve → "Auto approve all tool calls" — approves everything (terminal commands, file edits, all MCP tools) with no confirmation. SAP's own MCP surface alongside these read tools includes mutating ones (abap_transport-create, abap_generators-generate_objects, abap_activate_objects), so leave this off and prefer per-tool approval.

Auto-approving read-only tools still lets the AI read your ABAP and send it to the model on its own initiative — the same data flow you opt into by using the server at all, just without the per-call prompt. It does not enable any writes.

Claude Code (CLI)
claude mcp add abap http://localhost:2234/mcp \
  --header "Authorization: Bearer PASTE-TOKEN-FROM-PREFERENCE-PAGE" \
  --transport http

Test it: claude and ask "list my ABAP destinations".

Cursor

Settings → MCP Servers → Add Server:

  • Transport: HTTP
  • URL: http://localhost:2234/mcp
  • Headers: Authorization: Bearer PASTE-TOKEN-FROM-PREFERENCE-PAGE
Claude Desktop

Claude Desktop only supports stdio MCP servers natively. Bridge it with mcp-remote:

{
  "mcpServers": {
    "abap": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://localhost:2234/mcp",
        "--header", "Authorization: Bearer PASTE-TOKEN-FROM-PREFERENCE-PAGE"
      ]
    }
  }
}

How to find your destination ID

The destination ID is the internal name of your ABAP project's connection. It's not the SID; it looks like A4H_001_marian_en_1 (<SID>_<client>_<user>_<lang>_<seq>).

Easiest: open ADT's Project Explorer. The name shown for your ABAP project is the destination ID. Copy it.

Other ways:

  • Right-click ABAP project → Properties → ABAP Project
  • Once the server is running, call abap_list_destinations (SAP's built-in tool) from your AI client and read the IDs back

If you skip -Darc1.mcp.destination=... entirely, the plugin auto-picks the first available ABAP project. Set it explicitly when you have multiple projects.


Troubleshooting

The MCP server never starts
  • Make sure you ticked Enable ADT MCP Server under Preferences → ABAP Development → MCP Server and clicked Apply.
  • For auto-start on boot, confirm -DadtMcpServerPrefEnabled=true is in eclipse.ini (under -vmargs) and you restarted. Without that flag, the server does not come back after an Eclipse restart.
  • Port already taken by another process: change the port on the preference page (e.g. 2235) and update the URL in your AI client config.
arc1_sap_* tools don't show up in tools/list (only SAP's tools do)

The plugin bundle didn't load. Check Help → About Eclipse → Installation Details → Plug-ins for com.arc1.mcp. If it's missing:

  • Confirm the JAR is in dropins/ (not a subfolder), then restart with -clean.
  • Confirm your ADT version is 3.60+ — this plugin refuses to load on older ADT (the OSGi requirement is [3.60.0,4.0.0)).
Tool calls return HTTP 401

The token your AI client sent doesn't match the one on the preference page. Open Preferences → ABAP Development → MCP Server, copy the Token value, and update the Authorization: Bearer ... header in your client config. Restart your AI client after changing its config. If the header is missing entirely, your client isn't sending Authorization at all — it must be named exactly Authorization with a value starting Bearer (with a space).

arc1_sap_search returns "Unable to initialize the ADT Discovery"

You're not logged into the ABAP project yet. In Project Explorer, expand your ABAP project — Eclipse will prompt for the password. Tick "Save password" so future restarts log in silently. (Or set -Darc1.mcp.destination=... so this plugin pre-logs-in for you.)


What you get — the tools

Plugin tools (18, all read-only)

Search + metadata (v0.1.0)

ToolWhat it does
arc1_sap_searchQuick search by name pattern. Wildcards * +.
arc1_sap_repository_searchSearch with filters: object types, packages, users, release states.
arc1_sap_object_infoMetadata for one URI: name, type, package, description.
arc1_sap_find_definitionGo-to-definition for an identifier in source.
arc1_sap_list_projectsWorkspace ABAP projects with login state.
arc1_sap_system_infoInstalled software components (SAP_BASIS release etc.), servers, clients.
arc1_sap_object_typesWorkbench object type catalog with URI templates and capabilities.

Source reading + HTTP (v0.2.0)

ToolWhat it does
arc1_sap_read_sourceFetch ABAP source code for an object. CLAS includes supported.
arc1_sap_http_getAuthenticated GET to any /sap/bc/adt/... endpoint (escape hatch).

Transports + POST (v0.3.0)

ToolWhat it does
arc1_sap_list_transportsList transports with username / status / type filters.
arc1_sap_http_postAuthenticated POST to any /sap/bc/adt/... endpoint (escape hatch).

Navigation + structure + quality (v0.5.0)

ToolWhat it does
arc1_sap_where_usedWhere-used / find references for an object (impact analysis).
arc1_sap_package_contentsList the objects in a package (top-down exploration).
arc1_sap_object_structureOutline of an object: methods, attributes, events, includes.
arc1_sap_list_inactiveList inactive (un-activated) objects on the system.
arc1_sap_check_syntaxABAP syntax check (no activation); can check proposed source transiently.
arc1_sap_run_unit_testsRun an object's ABAP Unit tests (executes them server-side).
arc1_sap_atc_checkRun ABAP Test Cockpit static analysis and return findings.
SAP's own MCP tools (alongside these)

When the server is running, SAP also contributes its own tools (the exact set depends on which ADT features are installed). On a typical S/4 ADT install that includes:

abap_list_destinations, abap_generators-list_generators, abap_generators-get_schema, abap_generators-generate_objects, abap_transport-get, abap_transport-create, abap_business_services-fetch_services, abap_business_services-fetch_service_information.

These are SAP's, not this plugin's — they ship and register on their own.


Verify everything works (full smoke test)

If you have the source checked out, pass the server URL + token from the preference page via environment variables:

git clone https://github.com/marianfoo/arc1-adt-abap-mcp-ext.git
cd arc1-adt-abap-mcp-ext

export ARC1_MCP_URL=http://localhost:2234/mcp     # port from the preference page
export ARC1_MCP_TOKEN=PASTE-TOKEN-FROM-PREFERENCE-PAGE
./scripts/smoke-test.sh A4H_001_marian_en_1       # use your destination ID

This exercises all 18 plugin tools through the MCP protocol end-to-end and prints the responses.


Configuration reference

The MCP server's port, token, and on/off live in SAP's preference page (Preferences → ABAP Development → MCP Server) and the eclipse.ini flag -DadtMcpServerPrefEnabled=true. This plugin adds only two optional knobs, set via JVM -D flags in eclipse.ini:

PropertyDefaultPurpose
arc1.mcp.destinationfirst ABAP projectWhich destination to auto-login.
arc1.mcp.autologintrueSet false to skip auto-login.

Build from source

git clone https://github.com/marianfoo/arc1-adt-abap-mcp-ext.git
cd arc1-adt-abap-mcp-ext
./build.sh                # produces com.arc1.mcp_<version>.jar
INSTALL=yes ./build.sh    # also copies to your local Eclipse dropins/

No Maven, no Tycho. build.sh uses the JDK and SAP ADT JARs (3.60+) from your local Eclipse install (~/.p2/pool/plugins/). Build time: ~3 seconds.


How it works (deep dive)

TL;DR: SAP designed the MCP server to be extended via the standard Eclipse extension point com.sap.adt.mcp.core.adtMcpTools. This plugin contributes 18 <mcpTool class="..."/> entries, which SAP's own ToolRegistrationService picks up whenever the server starts. SAP owns activation (the preference page

  • -DadtMcpServerPrefEnabled=true); this plugin never touches the server lifecycle.

FAQ

Is this an official SAP product?

No. It's a community plugin. See the note at the top.

Why do I need ADT 3.60?

ADT 3.60 is the first release where SAP shipped a way to turn the MCP server on (a preference page + startup flag) and a stable startMCPServer signature. Earlier releases (3.58/3.59) had the server but no activation surface — plugin versions ≤ 0.3.x handled those by reflectively waking it. 0.4.0 drops that and relies on SAP's supported activation, so it's 3.60+ only.

Does this read or modify my source code?

The 18 tools this plugin adds are read-only with respect to your repository — none create, change, or delete source. Two execute code on the backend without changing it: arc1_sap_run_unit_tests runs an object's ABAP Unit tests and arc1_sap_atc_check runs ATC static analysis (the same as the corresponding ADT menu actions). arc1_sap_check_syntax can validate proposed source transiently without saving it. SAP's own MCP tools may include genuinely mutating workflows (abap_generators-generate_objects, abap_transport-create). All of these use your normal SAP authorizations — same as the equivalent ADT UI action.

What about credentials / security?
  • The MCP server binds to localhost only (not reachable from the network).
  • Every request requires the bearer token set on SAP's preference page.
  • SAP backend calls use your existing ABAP-project authentication (cookies / SSO / saved password).
  • No telemetry, no outbound HTTP from this plugin.
How do I add my own tool?

Implement com.sap.adt.mcp.core.IAdtMCPTool in your own bundle and contribute via plugin.xml. See CONTRIBUTING.md for the recipe.

What's the relationship to ARC-1?

ARC-1 is the standalone TypeScript MCP server for SAP ABAP — runs outside Eclipse, has admin policy ceiling, audit logging, multi-client governance, BTP-native deployment. Use ARC-1 when you want a centralized managed service. Use this plugin when you want "one developer, inside Eclipse, zero extra processes".

What about adt-ls? Can this plugin use it?

adt-ls is a TypeScript/Node SDK that spawns and drives SAP's headless adt-ls language server over LSP + MCP. It's the out-of-Eclipse cousin of this plugin: a programmatic API for repository, source, activate, unit tests, ATC, syntax check, and transports — great for scripting and CI.

This plugin does not depend on it, by design. We already run inside Eclipse-for-ABAP, which is the full ADT — pulling in adt-ls would spawn a second, headless ADT (Java → Node → another JVM) to reach a backend we already reach in-process, and would add a third-party runtime plus an extra process (both ruled out — see decision D10).

Pick by where you run:

You want…Use
MCP tools inside Eclipse, zero extra processesthis plugin
Headless / CI / scripting ABAP automation from Nodeadt-ls
Centralized, audited, multi-user MCP (BTP)ARC-1
Where do I report bugs?

GitHub Issues. Include your Eclipse + ADT versions, plugin version (the JAR filename), and the relevant excerpt from the Error Log (filter by com.arc1.mcp).


License

MIT — use it, modify it, ship it.

MIT, read

History

Latest

v0.5.1

Fixes 1, Docs 2, Other 2

Notes

Fix surfaced by a live smoke-test on a 2023-era ABAP system (A4H_2023).

Fixed
  • arc1_sap_list_transports now works on newer ABAP systems that only serve the transport-organizer tree representation and answer the old flat media type with HTTP 406. The tool offers both application/vnd.sap.adt.transportorganizertree.v1+xml and the legacy application/vnd.sap.adt.transportorganizer.v1+xml, letting the server negotiate. The parse=true extractor was rewritten to match <tm:request> opening tags (truncation-tolerant — the tree response can exceed AdtHttp's 256 KB cap) with exact local-name attribute matching, and now also returns each request's target.
Known issues
  • arc1_sap_find_definition returns NavigationFailureException: I::000. Root cause (confirmed live): ADT's /sap/bc/adt/navigation/target is POST-only (GET → 405) and position-based — it needs a cursor position in the source — but the tool passes only an identifier name with no position. The fix is a redesign (read source → locate the identifier's offset → navigate from that position), tracked for a follow-up.
Publishing
  • Added scripts/publish-release.sh to automate the maintainer release path: build from the local Eclipse/ADT bundles, create and push the matching tag, wait for the GitHub Release workflow, and upload the JAR asset.
Documentation
  • Updated the README download/version references from 0.5.0 to 0.5.1.
  • Document the relationship to adt-ls (the TypeScript SDK over SAP's headless ABAP language server) and record why this plugin does not consume it as a dependency: decision D10 in docs/decisions.md, a "What about adt-ls?" FAQ entry plus a pick-by-where- you-run table in README.md, a Non-goals pointer in CLAUDE.md, and a note in docs/architecture.md. No code changes.
  1. v0.5.0

    Features 8, Changed 2, Docs 1, Other 3

    Notes

    Adds seven read-only navigation / structure / quality tools (11 → 18) on top of SAP's MCP server, plus a JDK-only Xml parsing helper that backs them. No new third-party dependencies; no server-lifecycle changes.

    Added
    • arc1_sap_where_used — where-used / find references (impact analysis) via repository/informationsystem/usageReferences.
    • arc1_sap_package_contents — list a package's objects via repository/nodestructure.
    • arc1_sap_object_structure — object outline (methods/attributes/events/ includes) via …/objectstructure.
    • arc1_sap_list_inactive — inactive (un-activated) objects via activation/inactiveobjects.
    • arc1_sap_check_syntax — syntax check without activation via checkruns; an optional inline source checks proposed code transiently (nothing written).
    • arc1_sap_run_unit_tests — run an object's ABAP Unit tests via abapunit/testruns (executes tests server-side; no repository change).
    • arc1_sap_atc_check — ABAP Test Cockpit static analysis via the atc/worklists + atc/runs flow (system-default check variant when none given).
    • Xml helper — minimal javax.xml DOM reader (by local name, namespace- agnostic) so XML-returning tools emit structured JSON. JDK-only, so D8 (no third-party deps) still holds.
    Changed
    • META-INF/MANIFEST.MF: Bundle-Version 0.4.0 → 0.5.0; add Import-Package for javax.xml, javax.xml.parsers, org.w3c.dom, org.xml.sax (used by the new Xml helper).
    • AdtHttp Javadoc reworded (GET+POST are current; dropped the "POST comes in v0.3" note).
    Documentation
    • README: document GitHub Copilot for Eclipse's MCP auto-approve options (per-tool "MCP Server and Tool Approval", "Trust MCP tool annotations", and the "Global Auto Approve" warning) — all arc1_sap_* tools are read-only and safe to pre-approve per-tool; bumped the download/version references to 0.5.0.
    Notes
    • All seven tools are read-only with respect to the repository. run_unit_tests and atc_check execute checks/tests on the backend (same as the corresponding ADT menu actions) — their descriptions state this.
    • Each REST tool degrades gracefully: it guards the 256 KB body cap, returns a best-effort structured parse, and includes rawXml when parsing is empty — so it stays useful even where a backend's exact XML layout differs by release.
    • arc1_sap_find_occurrences (the Java-API local-occurrences tool from plan 02) is intentionally deferred: its SAP factory-instantiation path is unverified and it shares the compile unit with these tools. Tracked in docs/plans/07-v0.5-read-tools-expansion.md.
  2. v0.4.0dated in the atlas

    Removed 3, Changed 4, Other 1

    Notes

    Requires ADT 3.60+. ADT 3.60 ships SAP's MCP server as a supported feature with its own activation surface (a Preferences → ABAP Development → MCP Server page plus the -DadtMcpServerPrefEnabled=true startup flag). This release drops the reflective server-kickstart that earlier versions used to wake the dormant 3.58/3.59 server, and turns the plugin into a pure tool-provider: its <mcpTool> contributions register on SAP's server automatically, with no reflection into SAP internals.

    Changed
    • Arc1Startup no longer starts the MCP server. It only logs guidance and (optionally) pre-warms the destination logon. All reflection into com.sap.adt.mcp.core.internal.AdtMCPCorePlugin (startMCPServer, peekRunningPort) is removed.
    • META-INF/MANIFEST.MF: SAP bundle requirements bumped from [3.58.0,4.0.0) to [3.60.0,4.0.0). The plugin now refuses to load on ADT < 3.60 (where the supported activation does not exist) rather than failing at runtime.
    • Server lifecycle is now SAP's: port, token, and on/off live on SAP's preference page. Default port is 2234 (SAP's default), not 54322.
    • scripts/smoke-test.sh now reads the endpoint + token from ARC1_MCP_URL / ARC1_MCP_TOKEN env vars instead of ~/.config/arc1/mcp-token.txt.
    Removed
    • The reflective kickstart of AdtMCPCorePlugin.startMCPServer(...) (rationale: superseded by SAP's 3.60 activation — see docs/decisions.md D9, which supersedes D3).
    • Writing ~/.config/arc1/mcp-token.txt — the token is shown on SAP's preference page; the plugin no longer manages tokens.
    • Configuration knobs that controlled the server: arc1.mcp.token, arc1.mcp.port, arc1.mcp.kickstart. Only arc1.mcp.destination and arc1.mcp.autologin remain.
    Compatibility
    • Tools are unchanged and source-compatible: IAdtMCPTool.execute(String) is still honored on 3.60 (SAP's execute(String, IProgressMonitor) default delegates to it). The adtMcpTools extension point and tool-name validation (^[A-Za-z0-9_-]+$) are byte-identical to 3.58.
  3. v0.3.0

    Features 3, Other 2

    Notes

    Extends the HTTP foundation from v0.2 with POST support and ships one typed endpoint wrapper on top.

    Added
    • AdtHttp.post(...) — POST counterpart to AdtHttp.get(...), accepts a body and Content-Type. Uses com.sap.adt.communication.message.ByteArrayMessageBody.
    • arc1_sap_http_post — generic POST escape hatch. UTF-8 string body.
    • arc1_sap_list_transports — list ABAP transport requests via /sap/bc/adt/cts/transportrequests with filters (username, status, requestType). Optional parse=true returns a minimal structured list.
    Deferred to v0.4
    • arc1_sap_where_used — endpoint URI is verified but XML request body shape needs an Eclipse HTTP trace to confirm.
    • arc1_sap_object_structure — URI literal not cleanly extractable from bytecode; also needs trace capture.
  4. v0.2.0

    Features 3, Dependencies 1

    Notes

    Adds an HTTP foundation that bypasses Eclipse's workspace-IFile model and unblocks any future tool that maps to an ADT REST endpoint.

    Added
    • AdtHttp internal helper: thin facade over AdtSystemSessionFactory / AdtRequestFactory / HeadersFactory for stateless GET-style calls. Caps response bodies at 256 KB.
    • arc1_sap_http_get — generic ADT GET escape hatch. Authenticated by Eclipse's destination machinery. Use for any endpoint without a typed wrapper yet.
    • arc1_sap_read_source — fetch source code for an ABAP object URI (or source URI directly). For CLAS, supports include segments (definitions / implementations / testclasses / macros).
    Dependencies
    • Require-Bundle now includes com.sap.adt.communication;[3.58.0,4.0.0).
  5. v0.1.0

    Features 6

    Notes

    Initial release. Wakes the dormant SAP ADT MCP server in Eclipse 2025-09 / ADT 3.58 and contributes 7 read-only tools via the com.sap.adt.mcp.core.adtMcpTools extension point.

    Added
    • Arc1Startup (IStartup) that reflectively calls AdtMCPCorePlugin.startMCPServer on workbench startup, with forward-compat detection if SAP later enables it natively.
    • Arc1AutoLogin background Job that calls IAdtLogonService.ensureLoggedOn on the configured or first-available ABAP project, populating the destination registry.
    • Tools:
      • arc1_sap_search — quick repository search (RIS)
      • arc1_sap_repository_search — parameterized search with type/package/user filters
      • arc1_sap_object_info — object metadata via IAdtRisVfsObjectPropertiesService
      • arc1_sap_find_definition — go-to-definition via IAbapNavigationServices
      • arc1_sap_list_projects — workspace ABAP projects with login state
      • arc1_sap_system_info — software components, servers, status, clients
      • arc1_sap_object_types — workbench type registry catalog
    • Configuration via JVM system properties in eclipse.ini.
    • Token file at ~/.config/arc1/mcp-token.txt for client config convenience.
    • Smoke test script.
Agent access to your code
  1. @abap2ui5/mcp-serverMCP server for the abap2UI5 check, deploy and run loopfrom ABAP
  2. arc-1-bopf-enharc-1 extension for reading and maintaining BOPF enhancementsfrom ABAP
  3. HammerNative macOS code editor for ABAP and CDSfrom ABAP
  4. arc-1-lspEdition of ARC-1 that runs ADT calls through adt-lsfrom ABAP
  5. arc-1MCP server over the ADT REST API for ABAP objectsfrom ABAP
  6. arc1-abap-bridgeVS Code bridge between arc-1 and ADT for VS Codefrom ABAP
  7. capforgeMCP server scaffolding CAP and CDS checked by cds compilefrom CAP
  8. ABAP Accelerator MCP ServerAWS's ABAP MCP server for Amazon Q Developer and Kirofrom ABAP
  9. Modernization Agents for SAP on AWSAWS agents for ABAP, PI/PO and BW modernisation workfrom ABAP
  10. @mcp-abap-adt/coreABAP ADT MCP server published as an npm scope and pluginfrom ABAP
  11. @cap-js/mcp-serverMCP server for CAP development: model and docs searchfrom CAP
  12. chandrashekhar-mahajan/abap-mcp-serverABAP MCP server with ADT tools and five authentication strategiesfrom ABAP
  13. dassian-adtFork of mcp-abap-abap-adt-api with 25 tools and session recoveryfrom ABAP
  14. erpl-adtC++ binary speaking the ADT REST API as a CLI and MCP serverfrom ABAP
  15. bw-modeling-mcpMCP server for BW/4HANA modelling objectsfrom BTP/BAIP
  16. EPOD ADT MCP ServerMCP server for ABAP on the ADT session, in Eclipse or standalonefrom ABAP
  17. ZARC1_EXTENSION_FORMSarc-1 extension for SAPscript and Smart Forms objectsfrom ABAP
  18. fgalastri/MCP_ABAPValidates an ABAP class before it is deployed by converting the global class to a local one and syntax-checking that — plus CDS DDL and table metadata retrieval.from ABAP
  19. fr0ster/mcp-abap-adtABAP MCP server with full CRUD on on-premise and ABAP Cloudfrom ABAP
  20. abapsmithABAP MCP server over ADT with a local journal that can undo writesfrom ABAP
  21. sap-ai-dev-toolkitMCP proxy pinning an agent's ABAP tools to one SAP systemfrom ABAP
  22. aibap.mcpGo MCP server that writes, activates and runs ABAP classes via ADTfrom ABAP
  23. BellaEclipse plugin bringing Claude into ABAP Development Toolsfrom ABAP
  24. Maherd18/sap-mcp-serverPolicy-checked MCP server for ABAP development over ADTfrom ABAP
  25. sapdumpmcpMCP server reading ABAP short dumps over ADTfrom ABAP
  26. ABAP remote filesystemVS Code extension editing ABAP systems over ADT as a filesystemfrom ABAP
  27. mcp-abap-abap-adt-apiWrite-oriented MCP server over abap-adt-apifrom ABAP
  28. mcp-abap-adtRead-oriented MCP server fetching ABAP programs, classes, tablesfrom ABAP
  29. SAP MCP Connection ManagerWindows desktop manager handing SAP connections to assistants over MCPfrom ABAP
  30. ABAPilotMCP connector for ECC and on-premise S/4HANA with a licensed SAP sidefrom ABAP
  31. vibing-steampunkADT-to-MCP bridge in Go reaching past what ADT exposesfrom ABAP
  32. ADT MCP ServerLocal HTTP MCP server started from ABAP Development Tools for VS Codefrom ABAP
  33. ABAP Development Tools for VS CodeSAP's ABAP tools in VS Code for editing, debugging, ATC and transportsfrom ABAP
  34. SAP Joule for Developers, ABAP AI capabilitiesSAP's AI for ABAP development in ADT for Eclipse and VS Codefrom ABAP
  35. @sap/mdk-mcp-serverMCP server with five tools for Mobile Development Kit workfrom BTP/BAIP
  36. @sap-ux/fiori-mcp-serverMCP server for creating and editing Fiori applicationsfrom UI5
  37. ABAPDocMCPMCP server turning a transport request into a WRICEF specificationfrom ABAP
  38. claude-sap-kitClaude Code plugin adding Custom_* tools to arc-1from ABAP
  39. Skybuffer AI MCP serverABAP add-on serving business data and transactions as MCP toolsfrom ABAP
  40. @ui5/mcp-serverMCP server for UI5 development with ten toolsfrom UI5
  41. abap-adt-cliCLI that pulls and pushes ABAP packages as local files over ADTfrom ABAP
  42. workskong/mcp-abap-adtLight MCP adapter for ABAP over ADT, documented in Koreanfrom ABAP
  43. KlystronMCP server in ABAP inside the application server, with agent skillsfrom ABAP
  44. pyrfc-mcpMCP server calling RFC-enabled function modules behind an allowlistfrom ABAP
  45. ABAP-AI-CODE-TOOLSabapGit package adding create, modify and delete tools to ABAP AI Codefrom ABAP
  46. ABAP AI CodeAgentic coding assistant in ABAP that runs as an SAP GUI reportfrom ABAP
  47. VERTEXADT extension for Eclipse and VS Code showing three SAP GUI toolsfrom ABAP

Details

Sources3
sap-ai-mcp-serversdiscovered herechecked
github.com/arc-mcp/arc1-adt-abap-mcp-exttree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

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
discovered viasap-ai-mcp-servers
first seen in the atlas
ecosystem and domainabap, ai-and-agents
History in the atlas3
  1. corrected against the README
  2. 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.
  3. First seen.
For your agent
Ref
artifact:arc-mcp-arc1-adt-ext
JSON
/artifacts/arc-mcp-arc1-adt-ext.json
MCP
Connecting an agent