SAP ABAP开发工具服务器

一个通过ADT API为AI助手提供SAP ABAP系统访问的MCP服务器,支持搜索、读取源代码、浏览包内容等功能。

  • by akivaMishan
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 akivaMishan/sap-mcp-server

使用说明

SAP ADT MCP服务器

一种MCP(模型上下文协议)服务器,通过ADT(ABAP开发工具)API为Claude等人工智能助手提供对SAP ABAP系统的访问。

特性

  • 搜索 -查找ABAP对象(类、程序、包、表等)
  • 读取源代码 -获取任何ABAP对象的源代码
  • 浏览软件包 -列出包内容和元数据
  • 对象信息 -获取有关ABAP对象的详细元数据
  • 连接检查 -验证SAP系统连接

先决条件

  • Node.js 18+
  • SAP BTP ABAP环境(试用版或企业版)
  • Chrome浏览器(用于身份验证)

安装

npm install

身份验证设置

此服务器使用基于浏览器的身份验证和会话Cookie。Cookie过期时,您需要定期进行身份验证。

在Windows上:

  1. 导航到项目文件夹:

    cd C:\Users\<your-user>\sap-test
    
  2. 运行身份验证脚本:

    node auth.js
    
  3. 浏览器窗口将打开-使用您的凭据(包括2FA)登录SAP

  4. Cookie将保存到 .sap-cookies.json

  5. 如果需要,将Cookie复制到WSL:

    Copy-Item .sap-cookies.json \\wsl$\Ubuntu\home\<user>\personal\sap-mcp-server\
    

使用Claude Desktop

添加到您的Claude桌面配置(~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "sap-adt": {
      "command": "node",
      "args": ["/path/to/sap-mcp-server/src/index.js"],
      "env": {}
    }
  }
}

可用工具

sap_search

搜索ABAP对象。

{
  "query": "Z*",
  "maxResults": 20,
  "objectType": "CLAS"
}

sap_read_source

读取ABAP对象的源代码。

{
  "objectType": "class",
  "objectName": "ZFIRST_CLASS"
}

支持的类型: class, interface, program, function, table

sap_get-package

获取包裹信息和内容。

{
  "packageName": "Z_AI_TRIAL"
}

sap_get_object_info

获取详细的对象元数据。

{
  "uri": "/sap/bc/adt/oo/classes/zfirst_class"
}

sap_check_connection

验证SAP连接是否正常工作。

{}

测试

# Test connection
npm test

# Test MCP server
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node src/index.js

故障排除

401未经授权

  • 会话Cookie已过期
  • 重新运行身份验证脚本

406不可接受

  • 错误的Accept标头(由客户端自动处理)

连接超时

  • 检查您的SAP实例是否正在运行
  • 验证中的URL .env

许可证

麻省理工学院