Skip to main content
Glama
MCP ABAP Server

MCP ABAP Server

MCP ABAP Server

A Model Context Protocol (MCP) server for querying ABAP programs, classes, function modules, and other objects from SAP systems using OAuth 2.0 authentication.

Features

  • OAuth 2.0 Authentication: Secure token-based authentication with SAP BTP

  • Flexible Querying: Search ABAP objects by various criteria

  • Pagination Support: Handle large result sets efficiently

  • Multiple Object Types: Support for classes, programs, function modules, tables, and more

Related MCP server: SAP BTP ABAP ADT MCP Server

Installation

  1. Clone or download this repository

  2. Install dependencies:

npm install

Configuration

The server comes pre-configured with the SAP BTP credentials. If you need to modify them, edit the OAUTH_CONFIG object in index.js:

const OAUTH_CONFIG = {
  tokenUrl: 'https://your-authentication-url/oauth/token',
  clientId: 'your-client-id',
  clientSecret: 'your-client-secret',
  apiUrl: 'https://your-api-url/odata/v4/catalog/ObjlistSet'
};

Usage

Running the Server

Start the MCP server:

npm start

Or for development with auto-restart:

npm run dev

Available Tools

1. query_abap_objects

Query ABAP objects with various filters.

Parameters:

  • Package (string): Development package (e.g., "ZDEV")

  • Objtype (string): Object type (e.g., "CLAS", "PROG", "FUNC")

  • Objname (string): Object name

  • Objdesc (string): Object description (partial match)

  • Transport (string): Transport request number

  • Createby (string): Created by username

  • Lastupdated (string): Last updated date in YYYYMMDD format

  • $skip (number): Number of records to skip

  • $top (number): Maximum number of records to return

Examples:

  • Get all classes in package ZDEV:

    {"Package": "ZDEV", "Objtype": "CLAS"}
  • Get programs with pagination:

    {"Objtype": "PROG", "$skip": 2, "$top": 8}
  • Search by description:

    {"Objdesc": "Custom Application", "$top": 10}

2. get_object_types

Get a list of available object types with their descriptions.

Parameters: None

Microsoft Copilot Integration

Step 1: Install Node.js

Ensure you have Node.js (v16 or higher) installed on your system.

Step 2: Install the MCP Server

  1. Download this MCP server to a local directory

  2. Navigate to the directory in terminal/command prompt

  3. Run: npm install

Step 3: Configure Claude Desktop or MCP-compatible Client

Create or edit your MCP client configuration file (usually located at:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/claude/claude_desktop_config.json

Add the following configuration:

{
  "mcpServers": {
    "abap-server": {
      "command": "node",
      "args": ["C:\\path\\to\\your\\mcp-abap-server\\index.js"],
      "env": {}
    }
  }
}

Important: Replace C:\\path\\to\\your\\mcp-abap-server\\index.js with the actual path to your index.js file.

Step 4: Restart Your MCP Client

Restart Claude Desktop or your MCP-compatible client to load the new server.

Step 5: Use in Microsoft Copilot or Claude

Once configured, you can query ABAP objects using natural language:

Examples:

  • "Show me all classes in the ZDEV package"

  • "List the first 10 programs in package ZDEV"

  • "Find objects created by user HALURI"

  • "Get all function modules updated on 20260128"

  • "Show me objects in transport HMFK900264"

The MCP server will automatically translate these requests into API calls and return the results.

Object Types Reference

Code

Description

CLAS

Class

PROG

Program

FUNC

Function Module

TABL

Table

VIEW

View

DEVC

Package

FUGR

Function Group

INTF

Interface

DTEL

Data Element

DOMA

Domain

Troubleshooting

Common Issues

  1. Authentication Errors: Verify your OAuth credentials are correct and the token URL is accessible

  2. Network Issues: Ensure you can access the SAP BTP endpoints from your network

  3. Permission Issues: Make sure your OAuth client has the necessary permissions to access the API

Debug Mode

To enable debug logging, set the environment variable:

DEBUG=mcp-abap-server npm start

Security Notes

  • The OAuth client secret is stored in the source code for simplicity

  • For production use, consider using environment variables or a secure configuration management system

  • Ensure proper network security measures are in place when accessing SAP systems

License

MIT License

Available Tools

2 tools
get_object_typesB

Get list of available object types with descriptions

Inputs: no named parameters.

query_abap_objectsC

Query ABAP programs, classes, function modules, and other objects from SAP system

Inputs: $top, $skip, Objdesc, Objname, +5 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have distinct purposes: one discovers available object types and the other queries actual ABAP objects. There is no overlap or ambiguity between them.

    Naming Consistency5/5

    Both tool names follow the same verb_noun snake_case pattern (query_abap_objects, get_object_types), making the naming predictable and consistent.

    Tool Count3/5

    With only two tools, the server feels minimal but not absurdly so. It covers a basic query and type discovery flow, yet a broader ABAP server would likely need more tools.

    Completeness3/5

    The surface provides basic querying and type discovery, but lacks obvious operations like retrieving detailed object metadata or source code. It is a workable but minimal set for ABAP exploration.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with SAP ABAP systems through ABAP Development Tools (ADT), providing access to repository objects, source code, where-used analysis, and SQL queries with support for both on-premise and BTP systems.
      3
      -
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables querying and manipulating SAP ABAP/DDIC objects via ADT REST, including search, source management, table data preview, and CRUD operations.
      -
    • A
      license
      C
      quality
      D
      maintenance
      Facilitates interaction with SAP ABAP systems via ADT APIs, enabling object management, transport handling, and code analysis.
      100
      197 npm
      MIT