sap-abap-mcp
Provides tools for interacting with SAP ABAP systems, including WebGUI login, navigation, table browsing, running reports, and executing commands via SOAP/RFC.
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., "@sap-abap-mcp @sap-abap-mcp Read table T001 and show company codes"
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.
sap-abap-mcp
A custom MCP server that connects IBM Bob to any SAP ABAP system via SOAP/RFC and SAP WebGUI (ITS).
No SAP system details are hardcoded — everything is configured through environment variables, so each user connects to their own system with their own credentials.
Prerequisites
Node.js v18 or later
Git (to clone)
IBM Bob IDE extension installed
A valid SAP user account on the target system
Related MCP server: MCP SAP GUI Server
Setup (first time)
Option A — via npx (easiest, no clone needed)
No installation required. Just set your environment variables (Step 3 below) and open the folder in Bob — npx will automatically download and run the latest version.
Option B — via GitHub clone (for development / offline use)
git clone https://github.com/JayGandhi285/sap-abap-mcp.git
cd sap-abap-mcp
npm install
npm run buildThen in .bob/mcp.json, change the command from npx to node and args to ["./build/index.js"].
3. Set your SAP connection details as environment variables
These five variables tell the server which SAP system to connect to and how to log in. Each person sets their own — never share credentials.
Variable | Required | Description | Example |
| ✅ Yes | Full WebGUI URL of your SAP system |
|
| ✅ Yes | SAP client number |
|
| ✅ Yes | Your SAP username |
|
| ✅ Yes | Your SAP password |
|
| ❌ Optional | Logon language (default: |
|
Windows PowerShell — add to your $PROFILE for persistence:
$env:SAP_WEBGUI_URL = "https://your-sap-host/sap/bc/gui/sap/its/webgui"
$env:SAP_CLIENT = "100"
$env:SAP_USERNAME = "your_sap_username"
$env:SAP_PASSWORD = "your_sap_password"
$env:SAP_LANGUAGE = "EN"Mac / Linux — add to ~/.zshrc or ~/.bashrc:
export SAP_WEBGUI_URL="https://your-sap-host/sap/bc/gui/sap/its/webgui"
export SAP_CLIENT="100"
export SAP_USERNAME="your_sap_username"
export SAP_PASSWORD="your_sap_password"
export SAP_LANGUAGE="EN"⚠️ The server will refuse to start and print a clear error message if any required variable is missing.
4. Open the sap-abap-mcp folder in Bob
Bob automatically detects .bob/mcp.json in the workspace root and connects to the server.
The SAP tools will appear in Bob's tool list immediately.
Available tools
Tool | Description |
| Log in via SAP WebGUI (establishes a session) |
| Navigate to any SAP transaction code (SE16, SM30, SU01, …) |
| Browse any transparent SAP table — no login required |
| Full-power table reader: field selection, WHERE filters, pagination |
| Run an ABAP report/program via SA38 |
| Send an OK-code / transaction command to the current WebGUI session |
| Fetch any SAP WebGUI URL and return the rendered page text |
Example prompts in Bob
Show me all users in the SAP system
Read table T001 and show the company codes
Show me all failed background jobs
List all transport requests owned by RAJATHow it works
SOAP/RFC (
sap_rfc_read_table,sap_se16_browse): UsesRFC_READ_TABLEvia SOAP with HTTP Basic Auth — stateless, no login session needed.WebGUI session (
sap_login,sap_navigate, etc.): Performs a full login via SAP ITS WebGUI and keeps session cookies in a local temp file.
Project structure
sap-abap-mcp/
├── src/
│ └── index.ts ← MCP server source (TypeScript)
├── build/
│ └── index.js ← Compiled output (generated — not in Git)
├── .bob/
│ └── mcp.json ← Bob MCP config (all placeholders — safe to share)
├── .gitignore
├── package.json
├── tsconfig.json
└── README.mdRebuilding after source changes
npm run buildThen in Bob: Settings → MCP → Restart server.
Updating to the latest version
git pull
npm install
npm run buildSecurity notes
✅ No credentials or system URLs are hardcoded anywhere in the source.
✅
.gitignoreexcludesbuild/,node_modules/, session files, and data dumps.✅
.bob/mcp.jsoncontains only${ENV_VAR}placeholders — safe to commit to Git.⚠️ Never add real credentials to any file that gets committed to Git.
Available Tools
7 toolssap_execute_commandA
Submit an arbitrary command string (OK code / transaction) to the current SAP WebGUI session, as if typed in the command field.
Inputs: command (required).
sap_get_pageC
Fetch any SAP WebGUI URL and return the rendered page text.
Inputs: url_path (required).
sap_loginA
Log in to the SAP system via WebGUI. Must be called before using any other SAP tool. Returns the welcome screen text on success.
Inputs: password, username.
sap_rfc_read_tableA
Read data from any SAP transparent database table using RFC_READ_TABLE over SOAP. Supports field selection, WHERE filters, row limits and offsets. No session required — uses Basic Auth directly.
Inputs: table_name (required), where, fields, max_rows, +1 more.
sap_run_reportC
Run an ABAP report or program via the SA38 / SE38 transaction.
Inputs: program (required), parameters.
sap_se16_browseA
Browse a database table via SE16 (Data Browser). Returns the first page of table contents as text.
Inputs: table_name (required), max_rows.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Several tools have fuzzy boundaries: sap_se16_browse and sap_rfc_read_table both read table data, while sap_navigate, sap_execute_command, and sap_get_page all retrieve rendered SAP pages and can be used to reach transactions. An agent would need to read descriptions very carefully to reliably pick the right tool.
All tools share a sap_ prefix and snake_case style, which helps, but the internal pattern is inconsistent: sap_navigate is a bare verb, sap_se16_browse leads with a transaction code, and sap_rfc_read_table mixes technical context with the action. It is readable but not a uniform verb_noun convention.
Seven tools is a reasonable size for an SAP interaction server and not bloated overall. However, the set could be tightened because some tools are near-duplicates in functionality, such as the two table-reading paths and the multiple page-fetching mechanisms.
Core workflows like login, navigation, table reads, and running reports are covered, but there is no logout or explicit session-management tool, and report output is only exposed as raw page text. Agents can work around some gaps via execute_command or get_page, but the surface is not fully lifecycle-complete.
Maintenance
Related MCP Connectors
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Cloud-hosted MCP server for secure AI access to enterprise data sources via CData Connect AI.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
Related MCP Servers
- FlicenseBqualityNot gradedmaintenanceAn MCP server that enables AI assistants to interact with SAP systems via the ABAP Development Tools (ADT) REST API. It allows users to read ABAP source code, inspect DDIC objects, and execute SQL queries directly.66-
- AlicenseAqualityBmaintenanceAn MCP server that enables AI assistants to interact with SAP GUI for Windows through the SAP GUI Scripting API.59291 PyPI47MIT

dassian-adtofficial
AlicenseNot gradedqualityCmaintenanceMCP server for SAP ABAP development via the ADT API. Connect AI assistants to your SAP system — read, write, test, and deploy ABAP code without SAP GUI.21MIT- AlicenseNot gradedqualityDmaintenanceAn MCP server that connects AI assistants to SAP systems via the ADT REST API, enabling read, write, syntax-check, and activation of ABAP code directly from the chat.3MIT