ABAP ADT MCP服务器
注: 该存储库是人工智能辅助创建的,结合并增强了原始实现的功能。
______________________________________________________________________
🌟 概述
使用此模型上下文协议(MCP)服务器转换ABAP开发工作流。该服务器旨在弥合现代开发工具和SAP ABAP系统之间的差距,提供对ABAP开发工具(ADT)REST API的全面访问。
✨ 关键能力
- � 源代码访问 -检索类、程序、函数和包括
- 📊 数据字典集成 -探索表、结构和类型定义
- 🔎 智能搜索与分析 -查找对象并分析依赖关系
- 📈 运行时洞察 -访问跟踪和运行时转储分析
- 🎯 开发者友好 -与现代IDE无缝集成
______________________________________________________________________
🏗️ 架构概述
此服务器实现了模块化处理程序架构,其中每个ABAP操作都由位于以下位置的专用处理程序管理 src/handlers/.中央登记处(src/toolDefinitions.ts)编排工具映射、模式和描述。
📂 处理程序类别
🧩 核心ABAP对象
| 处理程序 | 用途 | 主要功能 |
|---|---|---|
GetClass | ABAP类检索 | 包含元数据的完整源代码 |
GetProgram | 报告程序访问 | 完整的程序源和结构 |
GetFunction | 功能模块详细信息 | 接口和实现代码 |
GetFunctionGroup | 功能组管理 | 组结构和包括 |
GetInclude | 包括程序访问 | 共享代码组件 |
GetInterface | 接口定义 | 合同规范 |
📚 数据字典(DDIC)
| 处理程序 | 用途 | 主要功能 |
|---|---|---|
GetTable | 表结构分析 | 字段定义和元数据 |
GetTableContents | 数据探索 | 可配置的行限制 |
GetStructure | 结构定义 | 类型层次结构 |
GetDDIC_CDS | CDS视图访问 | 现代视图定义 |
GetDDIC_DataElements | 元素元数据 | 基本类型信息 |
GetDDIC_Domains | 域规范 | 值约束 |
🔍 搜索与分析
| 处理程序 | 用途 | 主要功能 |
|---|---|---|
SearchObject | 快速对象发现 | 基于模式的搜索 |
GetWhereUsed | 依赖性分析 | 使用关系映射 |
API_Releases | 发布信息 | 版本兼容性数据 |
🏢 系统集成
| 处理程序 | 用途 | 主要功能 |
|---|---|---|
GetPackage | 包管理 | 组织结构 |
GetTransaction | 交易明细 | T码信息 |
GetMessageClass | 消息处理 | 错误和信息消息 |
📊 运行时分析
| 处理程序 | 用途 | 主要功能 |
|---|---|---|
DataPreview | 实时数据检查 | 实时表/视图数据 |
GetRuntimeDumps | 错误分析 | 系统故障诊断 |
GetABAPTraces | 性能监控 | 执行跟踪分析 |
______________________________________________________________________
🚀 快速入门指南
先决条件清单✅
潜水前,请确保您有:
- SAP ABAP系统访问
- 系统URL(例如。, https://sap-system.company.com:44300) - 有效凭据(用户名/密码) - 客户编号(例如。, 100) - ADT服务已激活 SICF 交易
- 开发环境
- (包括npm) - Git 或 - 文本编辑器或IDE(建议使用VS Code)
🛠️ 安装方法
步骤1:存储库设置
选择您喜欢的方法来获取源代码:
# Via Git command line
git clone https://github.com/buettnerjulian/abap-adt-mcp.git
cd abap-adt-mcp
# Or download and extract ZIP from GitHub步骤2:依赖关系安装
# Install all required packages
npm install
# Build the TypeScript project
npm run build步骤3:环境配置
创建一个 .env 在项目根目录中创建包含SAP系统详细信息的文件:
# SAP System Configuration
SAP_URL=https://your-sap-system.com:44300
SAP_USERNAME=your_username
SAP_PASSWORD="your_password" # Use quotes if password contains special characters
SAP_CLIENT=100
# Optional: Skip TLS verification for development
# NODE_TLS_REJECT_UNAUTHORIZED=0🔐 安全说明: 永远不要承诺你的.env文件到版本控制。它已经包含在.gitignore.
______________________________________________________________________
🏃♂️ 运行服务器
开发模式(推荐测试)
使用MCP检查器启动服务器进行交互式测试:
npm run dev这将打开浏览器界面 http://localhost:6274 您可以在哪里:
- 测试单个工具
- 检查请求/响应
- 调试连接问题
生产模式
与MCP客户端集成:
npm run start服务器以无头模式运行,为客户端连接做好准备。
______________________________________________________________________
�️ 故障排除指南
常见问题及解决方案
❌ Node.js安装问题
# Verify installation
node -v # Should show version number
npm -v # Should show version number
# If missing, download from https://nodejs.org❌ 构建失败
# Clean and rebuild
rm -rf node_modules dist
npm install
npm run build❌ SAP连接问题
- 检查ADT服务
- 验证 /sap/bc/adt 处于活动状态 SICF - 浏览器中的测试URL: https://your-sap-system.com:8000/sap/bc/adt/discovery
- 身份验证问题
- 验证中的凭据 .env - 使用SAP GUI登录进行测试 - 检查客户号
- SSL/证书问题
# For development only - disable TLS verification
export NODE_TLS_REJECT_UNAUTHORIZED=0❌ 一般集成问题
- 权限问题
- 确保文件权限允许执行 - 检查防病毒软件阻止
- 手动测试
# Test server directly
npx @modelcontextprotocol/inspector node dist/index.js______________________________________________________________________
🙏 致谢
本项目基于以下工作:
- workskong/mcp-abap-adt -原始概念和实施
- 马里奥·安德雷沙克/亚太区移动通信公司 -增强的功能和稳定性
______________________________________________________________________
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
_ABAP开发愉快! 🎯_
