ABAP-ADT-API MCP-Server logo

ABAP-ADT-API MCP-Server

by mario-andreschak

The MCP-Server `mcp-abap-abap-adt-api` facilitates communication between ABAP systems and MCP clients. It provides tools for managing ABAP objects, handling transport requests, and performing code analysis, enhancing ABAP development workflows.

View on GitHub

Last updated: N/A

What is ABAP-ADT-API MCP-Server?

The MCP-Server mcp-abap-abap-adt-api is a Model Context Protocol (MCP) server designed to facilitate seamless communication between ABAP systems and MCP clients. It acts as a wrapper for the abap-adt-api library.

How to use ABAP-ADT-API MCP-Server?

To use the server, first install it via Smithery or manually by cloning the repository, installing dependencies, configuring environment variables, building the project, and running the server. Once running, interact with it using MCP clients like Cline, configuring the MCP settings to point to the server's execution path.

Key features of ABAP-ADT-API MCP-Server

  • Authentication with ABAP systems

  • Object Management (CRUD operations)

  • Transport Request Handling

  • Code Analysis (syntax checks, code completion)

  • Extensibility with additional tools

  • Session Management

Use cases of ABAP-ADT-API MCP-Server

  • Automating ABAP object creation and modification

  • Integrating ABAP systems with other development tools

  • Performing automated code quality checks

  • Streamlining transport management processes

FAQ from ABAP-ADT-API MCP-Server

How do I authenticate with the ABAP system?

Use the login tool with the appropriate SAP credentials configured in the environment variables.

How do I find the URI of an ABAP object?

Use the searchObject tool with a query string to find the object. The tool returns the object's URI.

How do I modify the source code of an ABAP object?

First, lock the object using lock. Then, use setObjectSource with the object's URI (including /source/main), the lock handle, and the modified source code. Finally, unlock the object using unLock.

How do I get transport information for an object?

Use the transportInfo tool with the object's URI. The tool returns transport details, including the transport request number.

What is the purpose of the lockHandle?

The lockHandle is obtained from the lock operation and is required for subsequent modifications (e.g., setObjectSource) and unlocking (unLock). It ensures that only one user can modify the object at a time.