项目简介

vsp(Vibing Steampunk)是一个用Go语言编写的Model Context Protocol(MCP)服务器,专门用于将SAP ABAP开发工具(ADT)的功能暴露给支持MCP协议的AI助手(如Claude)。它能让AI直接与SAP系统交互,执行ABAP代码的读取、创建、修改、测试和格式化等操作,极大地提升AI辅助ABAP开发的效率和能力。

主要功能点

  • 代码读写与管理: 提供统一工具读取、创建、修改和删除ABAP程序、类、接口、函数模块、函数组、包含文件等对象,并支持对CDS视图和消息类的读取。
  • 数据查询: 能够查询ABAP表内容,执行ABAP SQL查询,获取CDS视图的前向依赖关系。
  • 开发辅助: 执行ABAP源代码的语法检查、激活开发对象、运行ABAP单元测试,并支持代码的格式化(Pretty Printer)。
  • 智能编辑: 提供“外科手术式”的代码片段替换功能,实现精准的局部修改,无需上传下载完整的源代码文件。
  • 文件部署: 支持从本地文件系统导入ABAP对象到SAP系统,以及将SAP对象导出到本地文件,有效解决了大型文件传输的Token限制问题。
  • 代码智能: 提供查找符号定义、查找引用、代码补全建议、获取类型层级等功能,增强AI对ABAP代码的理解能力。
  • 代码搜索(Grep): 支持在单个或多个ABAP对象中,甚至在整个开发包(包括子包)中进行正则表达式搜索,帮助AI快速定位代码模式。
  • 工作流自动化: 内置多种复合工具,将复杂的开发任务(如创建并激活程序、创建带测试的类)整合为单一调用,简化AI操作。
  • 安全控制: 支持配置只读模式、禁用自由SQL查询、设置允许操作类型白名单/黑名单,以及限制允许操作的开发包,确保与SAP系统的交互安全可控。

安装步骤

下载预编译二进制文件

请从项目的GitHub Releases页面下载适用于您操作系统的最新版本。

从源代码构建(需要Go环境)

  1. 克隆仓库:
    git clone https://github.com/oisee/vibing-steampunk.git
  2. 进入项目目录:
    cd vibing-steampunk
  3. 构建可执行文件:
    • 构建当前平台版本:
      make build
    • 构建所有平台版本:
      make build-all

服务器配置

MCP客户端(如Claude Desktop或Claude Code)需要知道如何启动vsp服务器并传递必要的连接参数。以下是配置vsp服务器的关键信息和参数。通常,您会将这些信息配置在MCP客户端的设置文件(例如 '~/.config/claude/claude_desktop_config.json' 或 '.mcp.json')中。

您需要提供以下连接参数:

  • SAP系统URL: 您的SAP系统的完整URL,例如 'https://your-sap-host:44300'。
  • SAP用户名: 用于登录SAP的用户名。
  • SAP密码: 对应用户名的密码。
  • SAP客户端: SAP客户端编号,默认为 '001'。
  • SAP语言: SAP会话语言,默认为 'EN'。
  • 模式: 可选择 'focused' (推荐,包含19个AI优化工具,为默认模式) 或 'expert' (包含所有45个工具)。
  • 可选:跳过TLS验证: 如果SAP系统使用自签名证书,可设置此项为 'true' 以跳过TLS证书验证。

以下是一个MCP客户端配置示例:

请将 'your-username'、'your-password'、'your-sap-host' 和 '/path/to/vsp' 替换为您的实际值。

{
  "mcpServers": {
    "abap-adt": {
      "command": "/path/to/vsp",
      "env": {
        "SAP_URL": "https://your-sap-host:44300",
        "SAP_USER": "your-username",
        "SAP_PASSWORD": "your-password",
        "SAP_CLIENT": "001",
        "SAP_LANGUAGE": "EN",
        "SAP_MODE": "focused",
        "SAP_INSECURE": "false"
      }
    }
  }
}

请注意:'command' 指定了vsp可执行文件的路径。'env' 部分通过环境变量的形式向vsp服务器传递配置参数,vsp也支持命令行参数或 '.env' 文件进行配置。

基本使用方法

一旦vsp服务器在MCP客户端中配置并启动,AI助手就可以通过调用vsp提供的工具来与SAP系统进行交互。AI助手会根据您提供的指令和上下文,自动选择并调用这些工具来完成任务。

例如,AI可能会执行以下操作:

  1. 搜索ABAP对象: AI调用 'SearchObject' 工具来查找匹配特定模式的程序或类。
  2. 读取代码: AI调用 'GetSource' 工具获取某个ABAP类或程序的源代码,以便理解其逻辑或进行分析。
  3. 修改代码: AI调用 'EditSource' 工具对代码中的特定字符串进行替换,并通过后续的 'WriteSource' 工具保存并自动激活更改。
  4. 运行测试: AI调用 'RunUnitTests' 工具执行ABAP单元测试,以验证其生成的或修改的代码是否符合预期。

AI助手通过理解您在对话中提出的需求,将这些需求转化为对vsp服务器中可用工具的调用,从而实现与SAP系统的智能交互和自动化开发。

信息

分类

商业系统