SAP BTP ABAP ADT MCP Server
Enables SAP ABAP development workflows including ADT login, object search, read, create, update, activate, delete, and OData service publishing.
README
SAP BTP ABAP ADT MCP Server
Python + FastMCP + ASGI MCP server for SAP ABAP Development Tools access.
This server is focused on practical ADT development workflows:
- Browser SSO assisted ADT login
- Repository search
- Source and metadata read
- Controlled create, update, activate, delete
- OData V4 service binding publish
Runtime
- Python 3.11+
- Access to an SAP ABAP system with ADT enabled
- Browser SSO access to the target system
- Change authorization for the object types you intend to modify
Install dependencies:
python -m venv .venv
.\.venv\Scripts\pip install -e ".[test]"
HTTP Endpoints
/mcp/healthz/logon/success
Supported MCP Tools
abap_adt_loginabap_save_sso_sessionabap_save_sso_cookie_headerabap_adt_connectabap_search_objectsabap_read_sourceabap_create_objectabap_update_sourceabap_activate_objectabap_delete_objectabap_publish_service_binding
Supported Object Coverage
The following object types are supported for read, create, update, and delete:
CLAS,INTFDDLS,DCLS,BDEF,DDLX,SRVD,SRVBTABL,DTEL,DOMA,DEVCPROG,FUGR,FUNC
Notes:
- Class and interface reads aggregate local includes such as
definitionsandimplementations. - Standard SAP packages can be read when
readable_packagesallows them, but standard SAP objects must remain read-only in normal use. - Create, update, activate, publish, and delete operations are restricted by
allowed_packages. - Backend authorizations still apply. If the SAP system blocks an object type, MCP will surface the ADT error.
Configuration
Copy the example config:
copy sap-mcp.example.yaml sap-mcp.yaml
Example:
server:
name: "SAP BTP ABAP ADT MCP Server"
auth_tokens:
- "dev-token"
abap_dev:
system_url: "https://your-abap-instance.abap.region.hana.ondemand.com"
callback_url: "http://localhost:8000/logon/success"
reentrance_endpoint: "/sap/bc/sec/reentrance"
reentrance_scenario: "FTO1"
service_key_path: "service-key.json"
session_path: ".sap-mcp-session.json"
readable_packages:
- "*"
allowed_packages:
- "Z*"
allow_write: false
allow_activate: false
default_timeout_seconds: 30
Security notes:
service-key.jsonis only used to discover the ABAP system URL ifsystem_urlis not set.- Do not distribute
.sap-mcp-session.json,service-key.json,.env, or your realsap-mcp.yaml. - Prefer
readable_packages: ["*"]with a narrowallowed_packageslist for production use.
Service Key Source
When abap_dev.system_url is not set, the server can read the ABAP system URL from service-key.json.
Typical source in SAP BTP cockpit:
- Open
Instances and Subscriptions. - Locate your ABAP environment instance.
- Click the credential entry shown as
1 key value. - In the popup, click
Downloadand save the downloaded service key JSON locally asservice-key.json.
Use the entry below as the navigation reference for where to start the download:

Start
$env:SAP_MCP_AUTH_TOKENS="dev-token"
uvicorn app.server:app --host 127.0.0.1 --port 8000
ADT Login Flow
- Call
abap_adt_login. - Complete SAP SSO in the browser.
- The callback at
/logon/successstores the ADT reentrance session locally. - Call
abap_adt_connect. - Use read tools first, then enable write and activate only when needed.
Tests
python -m pytest -q
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.