MCP ABAP Server
Provides tools for querying ABAP programs, classes, function modules, and other objects from SAP systems using OAuth 2.0 authentication.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP ABAP Server Show all classes in package ZDEV"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Clone or download this repository
Install dependencies:
npm installConfiguration
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 startOr for development with auto-restart:
npm run devAvailable 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 nameObjdesc(string): Object description (partial match)Transport(string): Transport request numberCreateby(string): Created by usernameLastupdated(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
Download this MCP server to a local directory
Navigate to the directory in terminal/command prompt
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.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.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
Authentication Errors: Verify your OAuth credentials are correct and the token URL is accessible
Network Issues: Ensure you can access the SAP BTP endpoints from your network
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 startSecurity 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 toolsget_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
Scored across 2 tools
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.
Both tool names follow the same verb_noun snake_case pattern (query_abap_objects, get_object_types), making the naming predictable and consistent.
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.
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
Related MCP Connectors
Run SOQL queries to explore and retrieve Salesforce data. Access accounts, contacts, opportunities…
Run SOQL queries against your Salesforce org to retrieve records and insights. Explore objects, fi…
Governed BI MCP. Ask questions of live company data and list workspace sources via OAuth.
Your Vericto workspace over OAuth: setup status, rules, CI reports, docs search and SQL checks.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables 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-
- FlicenseNot gradedqualityCmaintenanceEnables SAP ABAP development workflows including ADT login, object search, read, create, update, activate, delete, and OData service publishing.1-
- FlicenseNot gradedqualityCmaintenanceEnables querying and manipulating SAP ABAP/DDIC objects via ADT REST, including search, source management, table data preview, and CRUD operations.-
- AlicenseCqualityDmaintenanceFacilitates interaction with SAP ABAP systems via ADT APIs, enabling object management, transport handling, and code analysis.100197 npmMIT