Token导航 LogoToken导航TokenDH.com
Dassian Adt logo
运维云端未说明官方级别未说明来源级核验

Dassian Adt

MCP Server

通过ADT API为SAP ABAP开发提供MCP服务器,支持AI助手连接SAP系统进行完整的ABAP代码读写、测试和部署。

工具数

25

提示词数

0

GitHub Stars

2

资源数

0
代码管理TypeScriptClaudeClaudeVS Code

安装说明

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

作者 / 组织

DassianInc

提供方

DassianInc

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

达西安市

通过ADT API进行SAP ABAP开发的MCP服务器。将AI助手连接到您的SAP系统——在没有SAP GUI的情况下读取、写入、测试和部署ABAP代码。

AI可以创建对象、编写源代码、激活、管理传输、运行代码、查询表和检查质量。完整的开发生命周期,而不仅仅是只读或代码生成。

起源

Dassian的fork增加了输入验证、错误智能、MCP启发、会话恢复和测试套件。看 CHANGES.md 查看完整列表。

它的作用

涵盖整个ABAP开发生命周期的25个工具:

类别工具它们的作用
abap_get_source, abap_set_source, abap_get_function_group读取/写入任何对象类型的ABAP源代码。函数组工具在一次调用中获取所有包含和FM。
对象abap_create, abap_delete, abap_activate, abap_search, abap_object_info完整的对象生命周期。在$TMP或真实包中创建。自动类型映射(CLAS->CLAS/OC)。
运输transport_create, transport_assign, transport_release, transport_list, transport_info, transport_contents创建、填充和释放传输。FUGR/VIEW/TABL的智能元数据处理
质量abap_syntax_check, abap_atc_run语法检查和ATC,支持变体。CI模式系统的解决方法。
数据abap_table, abap_query使用WHERE/LIKE/BETWEEN读取表/CDS视图。执行自由式SQL。
abap_run创建临时类,运行ABAP代码,捕获输出,清理。自动检测SAP版本中的~run与~main。
系统login, healthcheck, abap_get_dump, raw_http会话管理、连接测试、ST22转储、原始ADT访问。
Gitgit_repos, git_pullgCTS存储库列表和拉取。

快速开始

先决条件

  • Node.js 18+
  • 访问启用ADT的SAP系统(端口44300)
  • 具有开发授权的SAP用户

安装

git clone https://github.com/DassianInc/dassian-adt.git
cd dassian-adt
npm install
npm run build

配置

cp .env.example .env
# Edit .env with your SAP connection details:
#   SAP_URL=https://your-sap-server:44300
#   SAP_USER=YOUR_USER
#   SAP_PASSWORD=YOUR_PASSWORD
#   SAP_CLIENT=100
#   SAP_LANGUAGE=EN

对于自签名证书,请添加到您的 .env:

NODE_TLS_REJECT_UNAUTHORIZED=0

连接到克劳德代码

添加到您的Claude Code MCP设置中(~/.config/claude-code/config.json 或项目 .claude/settings.local.json):

{
  "mcpServers": {
    "abap": {
      "command": "node",
      "args": ["/path/to/dassian-adt/dist/index.js"],
      "env": {
        "SAP_URL": "https://your-sap-server:44300",
        "SAP_USER": "YOUR_USER",
        "SAP_PASSWORD": "YOUR_PASSWORD",
        "SAP_CLIENT": "100",
        "SAP_LANGUAGE": "EN"
      }
    }
  }
}

多个系统?为每个系统添加一个条目:

{
  "mcpServers": {
    "abap-dev": {
      "command": "node",
      "args": ["/path/to/dassian-adt/dist/index.js"],
      "env": { "SAP_URL": "https://dev-system:44300", "SAP_USER": "...", "SAP_PASSWORD": "..." }
    },
    "abap-qa": {
      "command": "node",
      "args": ["/path/to/dassian-adt/dist/index.js"],
      "env": { "SAP_URL": "https://qa-system:44300", "SAP_USER": "...", "SAP_PASSWORD": "..." }
    }
  }
}

HTTP模式(团队部署)

对于团队范围的访问,请将服务器作为集中式HTTP服务运行:

MCP_TRANSPORT=http MCP_HTTP_PORT=3000 \
  SAP_URL=https://your-sap-server:44300 \
  SAP_USER=SERVICE_USER \
  SAP_PASSWORD=... \
  node dist/index.js

每个客户端都有自己的MCP会话(和SAP会话)。健康检查在 http://your-server:3000/health.

使用远程URL从Claude Code连接:

{
  "mcpServers": {
    "abap": {
      "type": "url",
      "url": "http://your-server:3000/mcp"
    }
  }
}

或者在claude.ai上注册为整个组织的团队集成。

环境变量默认值描述
MCP_TRANSPORTstdio运输方式: stdio (本地)或 http (远程)
MCP_HTTP_PORT3000HTTP服务器端口
MCP_HTTP_PATH/mcpMCP端点路径

测试

npm test              # 165 unit tests,  write -> activate -> delete)

主要特点

零碰撞输入验证

集中式验证中间件在任何处理程序逻辑运行之前检查每个工具所需的参数。缺失 name?失踪 type错误准确地指出了缺失的内容。没有堆栈痕迹,没有 Cannot read properties of undefined.

MCP激发

当AI忘记一个必需的参数时,服务器不会失败,而是直接询问用户:

  • 缺失的包abap_create ->默认为$TMP的“哪个包?”表单
  • 缺少运输工具abap_set_source ->“哪种传输方式?”提示,然后重试
  • 运输放行 ->“发布D25K900161?这是不可逆转的”确认
  • 剩余课程abap_run ->“删除ZCL_TMP_ADT_RUN并重试?”提示
  • 不活跃的家属abap_activate ->“也激活它们吗?”列表

对不支持启发式的客户优雅地回心转意。

自我纠正错误消息

每个SAP错误都经过分类,并附有可操作的提示:

  • 锁定对象->“检查SM12是否有活动锁”
  • 升级模式->“运行SPAU_ENH清除升级标志”
  • 不透明的 I::000 code->“URL路径错误--检查对象类型”
  • 作为对象名称传递的传输号->“改用Transport_contents”
  • 字符串模板中的管道字符->“用\\|转义或使用CONCATENATE”

AI会读取这些提示,并在下一次调用时进行自我更正。

自动会话恢复

每个ADT调用都包含在 withSession()如果SAP会话在操作过程中过期,服务器将自动重新登录并重试。用户永远不会看到会话超时。

SAP发布检测

abap_run 自动检测系统是否使用 IF_OO_ADT_CLASSRUN~run (\<=2023)或 ~main (2024+)通过登录后读取接口源代码。适用于任何S/4HANA版本,无需配置。

建筑

Client (Claude Code, VS Code, etc.)
    |
    | MCP protocol (stdio)
    |
AbapAdtServer (index.ts)
    |
    +-- BaseHandler (session mgmt, validation, elicitation)
    |       |
    |       +-- SourceHandlers    (get/set source, function groups)
    |       +-- ObjectHandlers    (create, delete, activate, search)
    |       +-- TransportHandlers (create, assign, release, list)
    |       +-- QualityHandlers   (syntax check, ATC)
    |       +-- DataHandlers      (table read, SQL query)
    |       +-- RunHandlers       (temp class execution)
    |       +-- SystemHandlers    (login, healthcheck, dumps)
    |       +-- GitHandlers       (gCTS repos, pull)
    |
    +-- lib/urlBuilder.ts  (ADT URL construction for 30+ object types)
    +-- lib/errors.ts      (SAP error classification + hints)
    +-- lib/logger.ts      (JSON structured logging)

贡献

欢迎捐款。拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. npm test 并确保所有测试通过
  4. 打开拉取请求

学分

许可证

麻省理工学院——见 许可证.

目录标签

目录标签

代码管理TypeScriptClaudeSAP开发本地部署ABAP工具AI集成企业软件开发

支持客户端

ClaudeVS Code

接入字段

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

未说明

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

session

工具数量(toolCount,工具数)

25

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明session部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP