{"ref":"artifact:erhan-epod-adt-mcp-server","page":"/artifacts/erhan-epod-adt-mcp-server","json":"/artifacts/erhan-epod-adt-mcp-server.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"erhan-epod-adt-mcp-server","name":"EPOD ADT MCP Server","artifact_type":"mcp-server","ecosystem":"abap","domain":"ai-and-agents","origin_ring":"independent","use_as":"dependency","source_available":false,"description":{"one_line":"An MCP server for ABAP that runs inside [ABAP Development Tools for Eclipse](artifact:sap-adt-eclipse) on the ADT session of each connected project, with a standalone mode that runs with no IDE open.","short":"MCP server for ABAP on the ADT session, in Eclipse or standalone","what_it_solves":"A coding agent working on ABAP needs a logon to the system, and a server started outside the IDE has to be given one. This plugin uses the ADT session each Eclipse ABAP project already holds, so there is no password prompt and the plugin stores no credentials: connect the projects in the ABAP MCP Server view, press Start Server, and an embedded server listens on `http://127.0.0.1:3000/mcp` behind a bearer token the view copies into the client configuration. Its 33 tools cover object search, where-used, source and DDIC reads, writes that lock an object, write it, release the lock and activate in one call, object creation, transports, syntax check, ATC, ABAP Unit, running a class and reading short dumps, and every call takes a `systemId` that routes it to one of the connected projects. Responses are kept small on purpose: member lists without source, one METHOD block instead of a whole class, DDIC objects as `path = value` lines. The maintainer measured 63% of the cost of a real ABAP task as cache write, and each connected system carries a write or read-only mode, where a read-only one refuses the 11 write tools and sends no write request to SAP.","when_not_to_use":"In the Eclipse mode the server lives in a developer's IDE, binds to 127.0.0.1 and answers any request carrying an `Origin` header with HTTP 403, so a pipeline or a remote agent has nothing to reach; the standalone mode on the runtime of the ADT for VS Code extension is the documented route with no IDE open. A new connection starts in write mode, so the 11 write tools are live against a connected system until someone presses Toggle Read-Only. The dropins route for the two bundles is documented as untested."},"links":{"repo":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","docs":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite/raw/branch/main/install/eclipse.md"},"identity":{"author":"Erhan Keseli","license":"Apache-2.0"},"compat":{"runtimes":["java"]},"type_properties":{"runs":{"value":["local-process"],"sources":[{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README","checked":"2026-10-23","quote":"The embedded MCP server starts on http://127.0.0.1:3000/mcp (port is configurable). It binds to localhost only and is not accessible from the network."},{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Standalone mode","checked":"2026-10-23","quote":"The standalone mode runs the EPOD MCP server with no IDE open, on macOS and on Windows."}]},"transports":{"value":["http"],"sources":[{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Protocol","checked":"2026-10-23","quote":"Transport: Streamable HTTP"}]},"tool_count":{"value":33,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, MCP Tools","checked":"2026-10-23","quote":"The plugin exposes 33 tools covering the full ABAP development workflow:"}},"read_only":{"value":false,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Read & Write Source","checked":"2026-10-23","quote":"sap_push_source Write source code from context to an ABAP object in SAP — runs the full lock → write → unlock → activate pipeline in one call."}},"guardrails":[{"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Why the token and the Origin rejection","checked":"2026-10-23","quote":"The server rejects any request that carries an Origin header with HTTP 403, because a browser always sends one and an MCP client sends none. The server also requires the bearer token, which a web page cannot read."}},{"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Access Mode","checked":"2026-10-23","quote":"A read-only system refuses the 11 write tools and sends no write request to SAP."}},{"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Token-efficient by design","checked":"2026-10-23","quote":"A tool never falls back to the full source in silence. It states the fallback in the response, or it returns an error."}},{"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite/raw/branch/main/install/eclipse.md","title":"EPOD ADT MCP Server — Eclipse mode, Security log","checked":"2026-10-23","quote":"The server writes each server start, server stop, tool call, and refused request to the file `mcp-security.log`."}}]},"provides":[{"capability":"capability:agent-code-access","what_it_does":"Puts 33 ABAP tools in front of an MCP client over the ADT session an Eclipse project already holds, so an agent searches, reads, writes, activates, checks and runs ABAP on the connected system, and the responses are trimmed to member lists, single member blocks and findings-only check output.","sources":[{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README","checked":"2026-10-23","quote":"It runs an embedded HTTP server inside Eclipse, so any MCP-compatible client — Claude Code, Cursor, and others — can search, read, edit, test, and analyze ABAP code through your existing ADT SNC/SSO session."},{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, MCP Tools","checked":"2026-10-23","quote":"The plugin exposes 33 tools covering the full ABAP development workflow:"},{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Token-efficient by design","checked":"2026-10-23","quote":"sap_object_members returns the members of a 2,000-line class in about 300 tokens."}],"facets":[{"key":"read_source","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Read & Write Source","checked":"2026-10-23","quote":"sap_pull_source Read source code of an ABAP object into the AI context."}},{"key":"search_objects","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Search & Navigation","checked":"2026-10-23","quote":"sap_search_object Search for ABAP objects by name pattern and/or type"}},{"key":"where_used","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Search & Navigation","checked":"2026-10-23","quote":"sap_usage_references Find all where-used references for an object (parsed JSON)"}},{"key":"ddic_metadata","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Read & Write Source","checked":"2026-10-23","quote":"A data element, a domain, or a table type gives one path = value line per field."}},{"key":"cds","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Lifecycle","checked":"2026-10-23","quote":"or CDS-family source (DDLS, DDLX, SRVD, DCLS, DDLA)"}},{"key":"write_source","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Read & Write Source","checked":"2026-10-23","quote":"sap_push_source Write source code from context to an ABAP object in SAP — runs the full lock → write → unlock → activate pipeline in one call."}},{"key":"create_objects","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Lifecycle","checked":"2026-10-23","quote":"sap_create_object Create a new ABAP object: class, interface, program, function group, function module (FUNC), data element, domain, table, structure, table type (TTYP), message class (MSAG), or CDS-family source (DDLS, DDLX, SRVD, DCLS, DDLA)."}},{"key":"activate","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Lifecycle","checked":"2026-10-23","quote":"sap_activate Activate an ABAP object, or several objects in one call ( objects )"}},{"key":"transports","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Transport Management","checked":"2026-10-23","quote":"sap_transport_create Create a new transport request"}},{"key":"syntax_check","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Quality, Testing & Runtime","checked":"2026-10-23","quote":"sap_syntax_check Run a syntax check and return errors and warnings with line numbers"}},{"key":"atc","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Quality, Testing & Runtime","checked":"2026-10-23","quote":"sap_atc_run Run ATC (ABAP Test Cockpit) checks and return quality findings."}},{"key":"unit_tests","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Quality, Testing & Runtime","checked":"2026-10-23","quote":"sap_run_unit_test Execute ABAP Unit tests and return pass/fail results"}},{"key":"run_code","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Quality, Testing & Runtime","checked":"2026-10-23","quote":"sap_run_class Run a class implementing IF_OO_ADT_CLASSRUN (ABAP console / F9)"}},{"key":"dumps_or_traces","value":true,"source":{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Quality, Testing & Runtime","checked":"2026-10-23","quote":"sap_analyze_short_dump Read one short dump by its dump ID and return a compact text"}}]},{"capability":"capability:change-promotion","what_it_does":"Four tools make transport requests part of what an MCP client can do: find which request an object is assigned to, list requests filtered by status or owner, create a request and release one. Creating and releasing are among the 11 tools a read-only system refuses.","sources":[{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Transport Management","checked":"2026-10-23","quote":"sap_transport_of_object Find which transport request an object is assigned to sap_transport_list List transport requests (filter by status / owner) sap_transport_create Create a new transport request sap_transport_release Release a transport request"},{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Access Mode","checked":"2026-10-23","quote":"A read-only system refuses the 11 write tools and sends no write request to SAP."}]}],"requires":[{"ref":"artifact:sap-adt-eclipse","for":"the ADT installation the feature is installed into, and the project session every tool call runs under","requirement":"conditional","basis":"binding","role":"framework","condition":"the Eclipse mode, which this update site carries","sources":[{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Requirements","checked":"2026-10-23","quote":"Eclipse 2024-03 or later with SAP ADT (ABAP Development Tools) installed"},{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Setup","checked":"2026-10-23","quote":"The plugin reuses each project's existing ADT session — no password prompt."}]},{"ref":"external:eclipse","for":"the IDE the feature installs into from the update site, Eclipse 2024-03 or later","requirement":"conditional","basis":"binding","role":"host IDE","condition":"the Eclipse mode, which this update site carries","sources":[{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Requirements","checked":"2026-10-23","quote":"Eclipse 2024-03 or later with SAP ADT (ABAP Development Tools) installed"},{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Installation","checked":"2026-10-23","quote":"In Eclipse ADT, go to Help > Install New Software..."}]},{"ref":"artifact:sap-adt-vscode","for":"the runtime the server runs on when no IDE is open, and the SSO logon it uses there","requirement":"conditional","basis":"binding","role":"runtime host","condition":"the standalone mode","sources":[{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Standalone mode","checked":"2026-10-23","quote":"The server runs on the runtime of the ADT for VS Code extension and logs on with SSO."}]},{"ref":"artifact:sap-adt","for":"the ADT resources on the connected system that every tool call lands on","requirement":"required","basis":"binding","role":"backend","sources":[{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README","checked":"2026-10-23","quote":"AI Client --(HTTP/JSON-RPC)--> Eclipse Plugin --(ADT REST API / SNC)--> SAP System(s)"},{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, Requirements","checked":"2026-10-23","quote":"One or more ABAP projects in your Eclipse workspace with active SNC/SSO connections to SAP"}]}],"connects":[{"ref":"artifact:sap-adt","kind":"data","direction":"outbound","style":"sync","for":"Every tool call goes to the system over the ADT REST API under the session of the addressed project: source and DDIC reads, the write pipeline, activation, syntax check, ATC, ABAP Unit, transport requests and short dumps.","sources":[{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README","checked":"2026-10-23","quote":"AI Client --(HTTP/JSON-RPC)--> Eclipse Plugin --(ADT REST API / SNC)--> SAP System(s)"},{"url":"https://git.epod.dev/erhan/epod-adt-mcp-updatesite","title":"EPOD ADT MCP Server — README, What's new in 2.10.0","checked":"2026-10-23","quote":"EPOD activates objects, finds the includes of a class, and reads transport requests as Eclipse ADT does."}]}],"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-10-23"},"drafted_with_ai":true},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"unknown","evidence":"no contributor data"},{"label":"Repository","tier":"unknown","evidence":"no repository data"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"unknown","evidence":"no repository data"}],"practice":[{"label":"Tests","tier":"unknown","evidence":"not crawled"},{"label":"Docs","tier":"unknown","evidence":"docs link declared, tree not read"},{"label":"Changelog","tier":"unknown","evidence":"not crawled"}],"reach":[{"value":null,"unit":"installs/week"},{"value":null,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name"},"edges":{"maintainers":[],"contributors":[],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_on_to":{"ref":"artifact:sap-adt-eclipse","name":"ABAP Development Tools for Eclipse","json":"/artifacts/sap-adt-eclipse.json"},"add_ons":[],"answered_through_parts":[]}}