Labsco
mario-andreschak logo

ABAP Development Tools (ADT)

โ˜… 154

from mario-andreschak

An MCP server for interacting with SAP systems using ABAP Development Tools (ADT).

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

mcp-abap-adt: Your Gateway to ABAP Development Tools (ADT)

smithery badge

This project provides a server that allows you to interact with SAP ABAP systems using the Model Context Protocol (MCP). Think of it as a bridge that lets tools like Cline (a VS Code extension) talk to your ABAP system and retrieve information like source code, table structures, and more. It's like having a remote control for your ABAP development environment!

ABAP ADT MCP server

This guide is designed for beginners, so we'll walk through everything step-by-step. We'll cover:

  1. Prerequisites: What you need before you start.
  2. Installation and Setup: Getting everything up and running.
  3. Running the Server: Starting the server in different modes.
  4. Integrating with Cline: Connecting this server to the Cline VS Code extension.
  5. Troubleshooting: Common problems and solutions.
  6. Available Tools: A list of the commands you can use.

4. Integrating with Cline

Cline is a VS Code extension that uses MCP servers to provide language support. Here's how to connect this ABAP server to Cline:

  1. Install Cline: If you haven't already, install the "Cline" extension in VS Code.

  2. Open Cline Settings:

    • Open the VS Code settings (File -> Preferences -> Settings, or Ctrl+,).
    • Search for "Cline MCP Settings".
    • Click "Edit in settings.json". This will open the cline_mcp_settings.json file. The full path is usually something like: C:\Users\username\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json (replace username with your Windows username).
  3. Add the Server Configuration: You'll need to add an entry to the servers array in the cline_mcp_settings.json file. Here's an example:

    {
      "mcpServers": 
        {
          "mcp-abap-adt": {
            "command": "node",
            "args": [
              "C:/PATH_TO/mcp-abap-adt/dist/index.js"
            ],
            "disabled": true,
            "autoApprove": []
          }
        // ... other server configurations ...
        }
    }
  4. Test the Connection:

    • Cline should automatically connect to the server. You will see the Server appear in the "MCP Servers" Panel (in the Cline extension, you'll find different buttons on the top.)
    • Ask Cline to get the Sourcecode of a program and it should mention the MCP Server and should try to use the corresponding tools

6. Available Tools

This server provides the following tools, which can be used through Cline (or any other MCP client):

Tool NameDescriptionInput ParametersExample Usage (in Cline)
GetProgramRetrieve ABAP program source code.program_name (string): Name of the ABAP program.@tool GetProgram program_name=ZMY_PROGRAM
GetClassRetrieve ABAP class source code.class_name (string): Name of the ABAP class.@tool GetClass class_name=ZCL_MY_CLASS
GetFunctionGroupRetrieve ABAP Function Group source code.function_group (string): Name of the function group@tool GetFunctionGroup function_group=ZMY_FUNCTION_GROUP
GetFunctionRetrieve ABAP Function Module source code.function_name (string), function_group (string)@tool GetFunction function_name=ZMY_FUNCTION function_group=ZFG
GetStructureRetrieve ABAP Structure.structure_name (string): Name of the DDIC Structure.@tool GetStructure structure_name=ZMY_STRUCT
GetTableRetrieve ABAP table structure.table_name (string): Name of the ABAP DB table.@tool GetTable table_name=ZMY_TABLE
GetTableContentsRetrieve contents of an ABAP table.table_name (string), max_rows (number, optional, default 100)@tool GetTableContents table_name=ZMY_TABLE max_rows=50
GetCDSViewRetrieve CDS view (DDL source) source code.cds_view_name (string): Name of the CDS view (DDL source name).@tool GetCDSView cds_view_name=I_CURRENCY
GetPackageRetrieve ABAP package details.package_name (string): Name of the ABAP package.@tool GetPackage package_name=ZMY_PACKAGE
GetTypeInfoRetrieve ABAP type information.type_name (string): Name of the ABAP type.@tool GetTypeInfo type_name=ZMY_TYPE
GetIncludeRetrieve ABAP include source codeinclude_name (string): name of the ABAP include`@tool GetInclude include_name=ZMY_INCLUDE
SearchObjectSearch for ABAP objects using quick search.query (string), maxResults (number, optional, default 100)@tool SearchObject query=ZMY* maxResults=20
GetInterfaceRetrieve ABAP interface source code.interface_name (string): Name of the ABAP interface.@tool GetInterface interface_name=ZIF_MY_INTERFACE
GetTransactionRetrieve ABAP transaction details.transaction_name (string): Name of the ABAP transaction.@tool GetTransaction transaction_name=ZMY_TRANSACTION