Token导航 LogoToken导航TokenDH.com
ABAP CHECK MCP logo
开发工具stdio官方级别未说明来源级核验

ABAP CHECK MCP

MCP Server

提供ABAP REPORT程序语法检查功能的MCP服务器,支持通过RFC协议连接到SAP ERP系统进行原生语法验证。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
开发工具PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

leocaogit

提供方

leocaogit

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

ABAP语法检查器MCP服务器

一个模型上下文协议(MCP)服务器,为Claude Code和Kiro等IDE提供ABAP REPORT程序语法检查功能。

概述

此MCP服务器通过RFC协议连接到SAP ERP系统,以执行本地ABAP语法检查。它使AI助手能够验证ABAP代码,而无需直接访问SAP GUI。

特性

  • ✅ ABAP REPORT程序语法验证
  • ✅ 带有行号和描述的详细错误报告
  • ✅ 基于RFC的与SAP ERP系统的通信
  • ✅ 标准MCP协议实施
  • ✅ 全面的日志记录和错误处理

先决条件

  • Python 3.9或更高版本
  • SAP NetWeaver RFC SDK
  • 使用适当的凭据访问SAP ERP系统
  • pyrfc 库(需要SAP NW RFC SDK)

快速开始

  1. 安装SAP NetWeaver RFC SDK (详见安装章节)
  2. 克隆此存储库:
   git clone https://github.com/leocaogit/ABAP_CHECK_MCP.git
   cd ABAP_CHECK_MCP
  1. 安装Python依赖项:
   pip install -r requirements.txt
  1. 配置SAP连接:
   cp config/config.example.json config.json
   # Edit config.json with your SAP credentials
  1. 部署ABAP功能模块 (参见 abap/DEPLOYMENT_GUIDE.md)
  2. 测试服务器:
   python -m src.main --config config.json

安装

1.安装SAP NetWeaver RFC SDK

pyrfc 库要求在您的系统上安装SAP NetWeaver RFC SDK。

下载:

  • 访问SAP支持门户:https://support.sap.com/en/product/connectors/nwrfcsdk.html
  • 下载适用于您的操作系统的适当版本(需要SAP S-user)

安装:

macOS:

# Extract the SDK
unzip nwrfc750P_8-70002752.zip -d /usr/local/sap

# Set environment variables (add to ~/.zshrc or ~/.bash_profile)
export SAPNWRFC_HOME=/usr/local/sap/nwrfcsdk
export DYLD_LIBRARY_PATH=$SAPNWRFC_HOME/lib:$DYLD_LIBRARY_PATH

Linux:

# Extract the SDK
unzip nwrfc750P_8-70002752.zip -d /usr/local/sap

# Set environment variables (add to ~/.bashrc)
export SAPNWRFC_HOME=/usr/local/sap/nwrfcsdk
export LD_LIBRARY_PATH=$SAPNWRFC_HOME/lib:$LD_LIBRARY_PATH

窗户:

# Extract the SDK to C:\nwrfcsdk
# Add C:\nwrfcsdk\lib to your PATH environment variable

2.安装Python依赖项

pip install -r requirements.txt

验证安装:

python -c "from pyrfc import Connection; print('pyrfc installed successfully')"

配置

服务器可以使用环境变量或JSON配置文件进行配置。

选项1:环境变量

复制示例环境文件并使用您的SAP凭据进行编辑:

cp config/.env.example .env

编辑 .env:

# SAP RFC Connection Configuration
SAP_HOST=your-sap-host.example.com
SAP_SYSNR=00
SAP_CLIENT=100
SAP_USER=your-username
SAP_PASSWORD=your-password

# Logging Configuration (optional)
LOG_LEVEL=INFO

选项2:配置文件

复制示例配置文件,并使用您的SAP凭据进行编辑:

cp config/config.example.json config.json

编辑 config.json:

{
  "rfc": {
    "host": "your-sap-host.example.com",
    "sysnr": "00",
    "client": "100",
    "user": "your-username",
    "password": "your-password"
  },
  "log_level": "INFO"
}

安全说明: 切勿将包含真实凭据的文件提交到版本控制。

用法

启动MCP服务器

使用配置文件:

python -m src.main --config config.json

使用自定义日志级别:

python -m src.main --config config.json --log-level DEBUG

MCP客户端配置

适用于克劳德桌面

编辑您的Claude Desktop配置文件:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ 窗户: %APPDATA%\Claude\claude_desktop_config.json\ Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "abap-syntax-checker": {
      "command": "python",
      "args": ["-m", "src.main", "--config", "config.json"],
      "cwd": "/absolute/path/to/ABAP_CHECK_MCP"
    }
  }
}

献给基洛

创建或编辑 .kiro/settings/mcp.json 在您的工作空间中:

{
  "mcpServers": {
    "abap-syntax-checker": {
      "command": "python",
      "args": ["-m", "src.main", "--config", "config.json"],
      "cwd": "/absolute/path/to/ABAP_CHECK_MCP",
      "disabled": false,
      "autoApprove": ["check_abap_syntax"]
    }
  }
}

使用工具

配置后 check_abap_syntax 该工具将在您的IDE中可用。

示例用法:

Check this ABAP code for syntax errors:

REPORT ztest.
DATA: lv_test TYPE string.
lv_undefined = 'test'.
WRITE: / lv_test.

答复:

{
  "success": true,
  "has_errors": true,
  "errors": [
    {
      "line": 3,
      "type": "E",
      "message": "Field \"LV_UNDEFINED\" is unknown."
    }
  ],
  "message": "Syntax check completed with errors"
}

SAP后端设置

MCP服务器需要在SAP ERP系统中部署ABAP功能模块。

快速部署摘要:

  1. 创建结构 ZSYNTAX_ERROR 在SE11
  2. 创建功能组 ZSYNTAX_CHECK SE80
  3. 创建功能模块 Z_CHECK_ABAP_SYNTAX SE37
  4. 复制实现代码并激活

有关详细的分步说明,请参阅:

  • 部署指南: abap/DEPLOYMENT_GUIDE.md
  • ABAP自述文件: abap/README.md

项目结构

.
├── src/                    # Source code
│   ├── __init__.py
│   ├── main.py            # Entry point
│   ├── server.py          # MCP server implementation
│   ├── rfc_client.py      # RFC client wrapper
│   ├── config.py          # Configuration management
│   ├── models.py          # Data models
│   ├── tool_handler.py    # MCP tool handler
│   └── logger.py          # Logging configuration
├── tests/                  # Test files
│   ├── __init__.py
│   └── test_tool_handler.py
├── abap/                   # ABAP artifacts
│   ├── function_module/
│   ├── function_group/
│   ├── types/
│   ├── DEPLOYMENT_GUIDE.md
│   └── README.md
├── config/                 # Configuration files
│   ├── .env.example
│   └── config.example.json
├── pyproject.toml         # Project configuration
├── requirements.txt       # Dependencies
└── README.md             # This file

发展

运行测试

pytest

代码格式化

black src/ tests/

故障排除

RFC连接问题

问题: Error: Cannot connect to SAP system

解决:

  • 验证SAP系统是否可以从您的网络访问
  • 检查凭据和客户号是否正确
  • 确保SAP NetWeaver RFC SDK已正确安装
  • 检查RFC端口的防火墙设置

语法检查错误

问题: Function module Z_CHECK_ABAP_SYNTAX not found

解决:

  • 验证ABAP功能模块是否已部署(请参阅 abap/DEPLOYMENT_GUIDE.md)
  • 检查功能模块名称是否准确 Z_CHECK_ABAP_SYNTAX
  • 确保SE37中的功能模块已激活

许可证

MIT许可证

贡献

欢迎投稿!请随时提交问题或拉取请求。

支持

有关问题和疑问,请在GitHub存储库上打开问题。

目录标签

目录标签

开发工具PythonClaudeABAP语法检查本地部署SAP集成RFC协议IDE扩展

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP