article
README
🚀 SAP MCP Server - 全面的 SAP GUI 自动化
本项目提供了一个模型上下文协议(MCP)服务器,具备全面的 SAP GUI 自动化功能,可与 Claude Desktop 集成。它拥有 22 种专业的 SAP 自动化工具,分别用 Python 和 TypeScript 实现。
🚀 快速开始
选项 1:自动设置(推荐)
# 克隆仓库
git clone https://github.com/USERNAME/mcp-sap-gui-advanced.git
cd mcp-sap-gui-advanced
# 运行快速设置脚本
# Windows:
quick-setup.bat
# macOS/Linux:
chmod +x quick-setup.sh
./quick-setup.sh
选项 2:手动设置
详细的手动安装说明请参阅 SETUP.md。
📦 安装指南
通用要求
- 安装 SAP GUI(用于实际的 SAP 自动化)
- Windows 系统(推荐用于 SAP GUI 脚本编写)
- 支持 MCP 的客户端(Claude Desktop、VS Code 等)
TypeScript 特定要求
- Node.js 17+
- npm 或 yarn
Python 特定要求
- Python 3.10+
- uv(推荐)或 pip
💻 使用示例
连接到 SAP
"Connect me to SAP system DEV with client 100, username john.doe, password mypass123, server sap-dev.company.com"
导航并输入数据
"Navigate to transaction VA01 and create a sales order with customer 12345 and material ABC123"
提取数据
"Extract customer data from the current screen, specifically the name, address, and contact fields"
🔧 技术细节
项目结构
SAP MCP Server/
├── python/ # Python 实现
│ ├── direct_sap_server.py # 22 个 SAP 自动化工具
│ ├── test_comprehensive.py # 完整测试套件
│ └── claude_desktop_direct.json
├── typescript/ # TypeScript 实现
│ ├── direct-sap-server.ts # 22 个 SAP 自动化工具
│ ├── test-comprehensive.js # 完整测试套件
│ └── claude-desktop-config.json
└── README.md # 本文件
全面的 SAP 自动化(22 种工具)
连接与会话管理
- sap_connect - 使用凭证连接到 SAP 系统
- sap_disconnect - 断开与 SAP 系统的连接
- sap_get_sessions - 管理多个 SAP 会话
导航与事务管理
- sap_navigate - 导航到事务(如 VA01、MM01、SE80 等)
- sap_navigate_back - 后退导航(相当于 F3)
- sap_navigate_exit - 退出事务(相当于 F15)
字段操作
- sap_input_field - 向 SAP 字段输入数据
- sap_get_field_value - 获取字段值
- sap_clear_field - 清除字段内容
按钮与菜单操作
- sap_press_button - 按下 GUI 按钮
- sap_select_menu - 访问菜单功能
功能键操作
- sap_send_key - 发送功能键(F1 - F24、Enter、Escape)
表格操作
- sap_get_table_data - 提取表格/网格数据
- sap_set_table_cell - 修改表格单元格
- sap_select_table_row - 选择表格行
屏幕信息
- sap_get_screen_info - 获取当前屏幕详细信息
- sap_get_status_message - 读取状态消息
视觉操作
- sap_screenshot - 捕获屏幕图像
高级操作
- sap_execute_transaction - 多步骤事务处理
- sap_wait_for_screen - 屏幕加载同步
数据交换
- sap_export_data - 导出为 CSV、Excel 格式
- sap_import_data - 从文件导入数据
安全与集成
两种实现方式都包含以下内容:
- 占位函数:可用于集成您的 SAP 驱动程序
- 安全的凭证处理:使用环境变量
- 输入验证:通过模式强制验证
- 错误处理和日志记录
- 文档和示例
语言间迁移
MCP 协议与语言无关,因此您可以:
- 从一种实现方式开始,之后再切换
- 同时运行两种实现方式以满足不同用例
- 根据团队的专业知识进行选择
- 与任何现有的 SAP 自动化代码集成
📚 详细文档
- TypeScript 自述文件 - TypeScript 特定的设置和使用说明
- Python 自述文件 - Python 特定的设置和使用说明
- 集成指南 - 如何与您的 SAP 驱动程序集成
- MCP 文档 - 官方 MCP 协议文档
🐞 调试
可使用 MCP Inspector 对两种实现方式进行调试:
Python:
python test_comprehensive.py
TypeScript:
node test-comprehensive.js
📄 许可证
[MIT 许可证] 本项目采用 MIT 许可证。
Scan to join WeChat group