Observed since 20 Oct, 17:10 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
MCP server exposing SAP ABAP Development Tools (ADT) via abap-adt-py.
An MCP server that gives AI agents access to an SAP system through the ABAP Development Tools (ADT) REST API. It is a thin layer over the abap-adt-py library: search and browse the repository, read and write source code, activate, run syntax checks, unit tests and ATC, run SQL queries and classes, read short dumps, maintain domains, data elements and message classes, implement BAdIs, publish OData service bindings and manage transport requests.
cp .env.example .env # fill in the SAP connection and a token
uv run --env-file .env abap-adt-mcp
Without a checkout, run the PyPI release: uvx --env-file .env abap-adt-mcp.
The server speaks Streamable HTTP at http://<ADT_MCP_HOST>:<ADT_MCP_PORT>/mcp (default http://127.0.0.1:2236/mcp).
It logs in to SAP on the first tool call and keeps one session for all clients.
| Variable | Default | |
|---|---|---|
ABAP_ADT_HOST | SAP system, e.g. http://localhost:50000 | |
ABAP_ADT_USER, ABAP_ADT_PASSWORD | SAP login | |
ABAP_ADT_CLIENT, ABAP_ADT_LANGUAGE | 001, EN | |
ADT_MCP_HOST, ADT_MCP_PORT | 127.0.0.1, 2236 | where the server listens |
ADT_MCP_TOKEN | required Authorization: Bearer token; mandatory on non-local addresses |
claude mcp add --transport http abap-adt http://localhost:2236/mcp --header "Authorization: Bearer <token>"
| Area | Tools |
|---|---|
| Repository | search_objects, package_contents, object_package_path, object_structure |
| Source | get_source, write_source, activate, list_inactive_objects, pretty_print |
| Create / delete | create_object, create_package, create_table_type, create_test_class_include, delete_object |
| Dictionary | create_domain, get_domain, update_domain, create_data_element, get_data_element, update_data_element |
| Message classes | create_message_class, get_message_class, set_messages, delete_messages |
| BAdIs | get_enhancement_spot, get_enhancement_implementation, create_enhancement_implementation, update_enhancement_implementation |
| Service bindings | create_service_binding, get_service_binding, publish_service_binding, unpublish_service_binding |
| Quality | syntax_check, run_unit_tests, run_atc, list_check_variants, atc_documentation |
| Navigation | find_definition, where_used, code_completion |
| Runtime | run_query, run_class, list_dumps, get_dump |
| Transports | transport_info, create_transport, list_transports, release_transport, delete_transport |
Locking is handled inside the tools: write_source locks the object, writes, unlocks and activates, so agents
never deal with lock handles. activate and delete_object take a list of URIs for objects that depend on each
other, such as a CDS root view and its composition child. SAP errors (activation errors with their positions,
locked objects, ...) are returned to the agent as tool errors.
uv sync
uv run pytest
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.0 | 30 Sept 2026 | 2 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 17:10 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:b0ba59a331257d8d5a8409e020d7b9209ec4dfc79a40c5f8af3628174e6985d8