ABAP开发工具服务器

一个为现代开发工具与SAP ABAP系统提供桥梁的服务器,提供对ABAP开发工具REST API的全面访问。

  • by buettnerjulian
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 buettnerjulian/abap-adt-mcp

使用说明

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 交易
  • 开发环境

🛠️ 安装方法

步骤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连接问题

  1. 检查ADT服务

    • 验证 /sap/bc/adt 处于活动状态 SICF
    • 浏览器中的测试URL: https://your-sap-system.com:8000/sap/bc/adt/discovery
  2. 身份验证问题

    • 验证中的凭据 .env
    • 使用SAP GUI登录进行测试
    • 检查客户号
  3. SSL/证书问题

    # For development only - disable TLS verification
    export NODE_TLS_REJECT_UNAUTHORIZED=0
    

❌ 一般集成问题

  1. 权限问题

    • 确保文件权限允许执行
    • 检查防病毒软件阻止
  2. 手动测试

    # Test server directly
    npx @modelcontextprotocol/inspector node dist/index.js
    

🙏 致谢

本项目基于以下工作:


📄 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。


ABAP开发愉快! 🎯