Documentation
ADT MCP Server
This repository provides a Model Context Protocol (MCP) server for ABAP Development Tools (ADT), exposing various ABAP repository-read tools (program, class, function, include, interface, structure, table, where-used, etc.) over a standardized MCP interface.
🆕 Now includes SAP BTP (Business Technology Platform) support with JWT authentication and service key utilities!
📚 Quick Start: See QUICK_START.md for immediate setup instructions.
🔌 Client Connections: See MCP_CLIENT_CONNECTIONS.md for connecting to Cline, Claude Desktop, and other MCP clients.
📖 Documentation: Complete documentation is available in the doc/ folder.
---
Prerequisites
- Python 3.9+
- pip (the Python package installer)
- A running SAP ABAP system with ADT services enabled
- A
.envfile in the project root with your SAP connection settings (see below)
Setup
1. Clone the repository
git clone https://github.com//.git
cdNote: The MCP server can now be run from any directory, not just the project directory. See REMOTE_CONNECTION_GUIDE.md for details.
Transport Options: The server supports multiple transport protocols: STDIO (default), SSE, and Streamable HTTP.
2. Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.\.venv\Scripts\activate # Windows3. Install dependencies
pip install mcp "mcp[cli]"Then install:
pip install -r requirements.txt4. Configure environment variables
Copy the example .env.example to .env and fill in your SAP credentials:
### For On-Premise Systems (Basic Authentication)
SAP_AUTH_TYPE=basic
SAP_URL=https://my.sap.system:443
SAP_CLIENT=100
SAP_USER=YOUR_USER
SAP_PASS=YOUR_PASS
SAP_VERIFY_SSL=true
# Optional timeout configuration (in seconds)
SAP_TIMEOUT_DEFAULT=45 # Default timeout (45 seconds)
SAP_TIMEOUT_CSRF=15 # CSRF token timeout (15 seconds)
SAP_TIMEOUT_LONG=60 # Long operations timeout (60 seconds)### For BTP Systems (JWT Authentication)
SAP_AUTH_TYPE=jwt
SAP_URL=https://your-system.abap.region.hana.ondemand.com
SAP_JWT_TOKEN=eyJhbGciOiJSUzI1NiIsImp...
SAP_VERIFY_SSL=true
# Optional timeout configuration (in seconds)
SAP_TIMEOUT_DEFAULT=45 # Default timeout (45 seconds)
SAP_TIMEOUT_CSRF=15 # CSRF token timeout (15 seconds)
SAP_TIMEOUT_LONG=60 # Long operations timeout (60 seconds)💡 Tip: Use the included BTP utilities to generate .env files from service keys automatically!
🚀 BTP Integration
This server now includes comprehensive SAP BTP support with:
- JWT Token Authentication for BTP ABAP systems
- Service Key Parsing and analysis
- Automatic .env Generation from BTP service keys
- CLI Utility for easy configuration management
Quick BTP Setup
1. Download your service key from BTP cockpit
2. Generate .env file using the CLI utility:
python btp_env_generator.py --service-key service-key.json --username your-user@company.com --prompt-password3. Use the generated .env file in your project
For complete BTP integration details, see BTP_INTEGRATION_GUIDE.md.
Available Tools
ABAP Repository Tools
get_program_source_mcp– Retrieve ABAP program sourceget_class_source_mcp– Retrieve ABAP class sourceget_function_group_source_mcp– Retrieve function group sourceget_function_source_mcp– Retrieve function module sourceget_include_source_mcp– Retrieve include sourceget_interface_source_mcp– Retrieve interface sourceget_structure_source_mcp– Retrieve structure definitionget_table_source_mcp– Retrieve table definitionget_table_contents_mcp– Fetch table data (max rows default 100)get_package_structure_mcp– Retrieve package metadataget_type_info_mcp– Retrieve type informationget_transaction_properties_mcp– Retrieve transaction propertiesget_search_objects_mcp– Quick search for repository objectsget_usage_references_mcp– Retrieve where‑used references for any objectget_cds_source_mcp– Retrieve CDS view sourceget_metadata_extension_source_mcp– Retrieve metadata extension sourceget_sql_query_mcp– Execute freestyle SQL queriesget_enhancements_mcp– Discover enhancement implementations
🆕 BTP Tools
generate_env_from_service_key_file_mcp– Generate .env from service key filegenerate_env_from_service_key_json_mcp– Generate .env from service key JSONparse_btp_service_key_mcp– Parse and analyze service keysget_btp_connection_status_mcp– Check current BTP configuration
Troubleshooting
"MCP error -32000: Connection closed" Error
If you get this error when connecting from another directory:
1. Make sure you use the full path to the server:
python /full/path/to/mcp-adt/mcp_server.py2. Check MCP client configuration:
{
"mcpServers": {
"adt-server": {
"command": "python",
"args": ["/full/path/to/mcp-adt/mcp_server.py"]
}
}
}3. Run connection test:
python /path/to/mcp-adt/test_remote_connection.py4. Check logs:
- Log file is created in project directory:
mcp_server.log - Check for import or configuration errors
Other Common Issues
- ModuleNotFoundError: Make sure all dependencies are installed:
pip install -r requirements.txt - .env file issues: File is automatically searched in project directory
- Permission issues: On Linux/macOS you may need
chmod +x mcp_server.py
For detailed information see REMOTE_CONNECTION_GUIDE.md
License
Similar MCP
Based on tags & features
Trending MCP
Most active this week