abap-adt-mcp
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 and manage transport requests.
Running
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 Code
claude mcp add --transport http abap-adt http://localhost:2236/mcp --header "Authorization: Bearer <token>"
Tools
| Area | Tools |
|---|---|
| Repository | search_objects, package_contents, object_package_path, object_structure |
| Source | get_source, write_source, activate, pretty_print |
| Create / delete | create_object, create_package, create_domain, create_table_type, create_service_binding, create_test_class_include, delete_object |
| 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. SAP errors (activation errors with their positions, locked objects, ...) are
returned to the agent as tool errors.
Development
uv sync
uv run pytest
Release files for abap-adt-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| abap_adt_mcp-0.1.0.tar.gz | 12.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| abap_adt_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.0 kB
Release files / abap_adt_mcp-0.1.0.tar.gz
| Download URL | abap_adt_mcp-0.1.0.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b8c00f7137cef5c5b83c17bbf924f9822b4849b9a6a9301a87953d7f3922d26
|
|
BLAKE2b-256 checksum How to use checksums |
8c529d6f0bf26b517a37afe91c416790c430c98b89148a125918a06a96d02eff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.
Transparency logRelease files / abap_adt_mcp-0.1.0-py3-none-any.whl
| Download URL | abap_adt_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 14.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6909894de4bbe2396f60405f4aad8b1a0c91ea3ab17b7010ad7a1beea3f677e3
|
|
BLAKE2b-256 checksum How to use checksums |
0e10341825254d38003d27bbda1f7be346a426e830351a9a85ae270ee7921214
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.
Transparency log