sap-abap-mcp

sap-abap-mcp

An MCP server that connects AI assistants to SAP ABAP systems, enabling table browsing, report execution, and transaction navigation via SOAP/RFC and SAP WebGUI.

Category
访问服务器

README

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

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 build

Then 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
SAP_WEBGUI_URL ✅ Yes Full WebGUI URL of your SAP system https://your-sap-host/sap/bc/gui/sap/its/webgui
SAP_CLIENT ✅ Yes SAP client number 100
SAP_USERNAME ✅ Yes Your SAP username JSMITH
SAP_PASSWORD ✅ Yes Your SAP password MyPass123
SAP_LANGUAGE ❌ Optional Logon language (default: EN) EN

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
sap_login Log in via SAP WebGUI (establishes a session)
sap_navigate Navigate to any SAP transaction code (SE16, SM30, SU01, …)
sap_se16_browse Browse any transparent SAP table — no login required
sap_rfc_read_table Full-power table reader: field selection, WHERE filters, pagination
sap_run_report Run an ABAP report/program via SA38
sap_execute_command Send an OK-code / transaction command to the current WebGUI session
sap_get_page 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 RAJAT

How it works

  • SOAP/RFC (sap_rfc_read_table, sap_se16_browse): Uses RFC_READ_TABLE via 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.md

Rebuilding after source changes

npm run build

Then in Bob: Settings → MCP → Restart server.


Updating to the latest version

git pull
npm install
npm run build

Security notes

  • ✅ No credentials or system URLs are hardcoded anywhere in the source.
  • .gitignore excludes build/, node_modules/, session files, and data dumps.
  • .bob/mcp.json contains only ${ENV_VAR} placeholders — safe to commit to Git.
  • ⚠️ Never add real credentials to any file that gets committed to Git.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选