Token导航 LogoToken导航TokenDH.com
MCP Sap logo
AI代理stdio官方级别未说明来源级核验

MCP Sap

MCP Server

MCP for SAP是一个用于展示多种自动化/测试工具(如Playwright、Tosca、UiPath等)在统一协议下动态编排的演示项目,适用于SAP解决方案的自动化测试和流程模拟。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
Python工具集成AI代理

安装说明

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

作者 / 组织

StefiHiu

提供方

StefiHiu

最后核验

2026/5/17 20:23

运行时

Python

快速接入

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

命令预览

python3 -m venv .venv

详细介绍

🚀 SAP的MCP

此存储库实现了 MCP(模型上下文协议) 演示 SAP GenAI解决方案.\ 目的是展示 即插即用工具集成 (剧作家、托斯卡、UiPath、Jira、Xray、SAP模拟)在一个统一的MCP服务器下。

它旨在支持RfP和客户端演示,利益相关者希望了解如何动态编排不同的自动化/测试工具:

  • 🔄 实时切换配置文件 (仅限剧作家、仅限UiPath、仅限Tosca或全部)
  • 🔗 工具之间的桥梁 (例如,采用X射线测试用例并生成Tosca资产)
  • 📊 模拟SAP元数据和销售订单 适用于现实的工作流程
  • 提供可重复的单脚本演示环境 与当地法学硕士(LM Studio)合作
  • 🌐 使用剧作家流程模拟SAP Fiori UI 模拟HTML+JSON数据
  • 🤖 在SAP模拟上演示UiPath/Tsca自动化 无需实时SAP系统

______________________________________________________________________

📂 项目结构

mcp-sap/
│
├── server/    
|   ├── mcp_sap.py                # MCP server entry point (loads adapters + bridges)
|   ├── requirements.txt          # Python dependencies               
|   └── adapters/                 # Separate modules for each adapter
│       ├── sap_adapter.py        # SAP mocks (sales orders + metadata)
│       ├── playwright_adapter.py # Real Playwright actions (check, screenshot, run steps)
│       ├── jira_adapter.py       # Jira mocks (issues/search)
│       ├── xray_adapter.py       # Xray mocks (tests, test sets, test executions)
│       ├── uipath_adapter.py     # UiPath mocks (process list, start job, job status)
|       ├── bridges_adapter.py    # Bridges between tools, e.g. convert Xray test cases into Tosca packs
|       ├── core.py               # Script that initializes the MCP server, loads adapters, and manages profile switching between tools
│       └── tosca_adapter.py      # Tosca mock asset generator
│
│
├── data/
│   └── mocks/                              # Example JSON mocks for SAP/Jira/Xray/UiPath
|       ├── metadata/sap_metadata.json      # Example SAP service metadata
|       └── sap/sales_orders.json           # Multiple SAP sales orders (for mock UI flows)
|
|
├── mock-ui/                        # Example JSON mocks for SAP/Jira/Xray/UiPath
|   ├── flp.html                    # Fiori Launchpad mock
|   └── sales_orders.html           # Sales Orders app mock (reads from sales_orders.json)
│
├── artifacts/                # Output folder for generated Tosca packs & demo assets
│
└── README.md                 # This guide

______________________________________________________________________

⚙️ 如何使用

0.环境设置

创建并激活venv(可选,但推荐)

python3 -m venv .venv
source .venv/bin/activate

安装依赖项

pip install -r requirements.txt

安装Playwright浏览器

playwright install chromium

从repo根目录启动静态服务器以模拟SAP UI

python3 -m http.server 8000

首选http://localhost:8000/mock-ui/flp.html查看模拟fiori发射台

首选http://localhost:8000/data/mocks/sap/sales_orders.json查看数据

->要停止静态服务器,请按CTRL+C

1.建立LM工作室

下载并安装LM Studio:https://lmstudio.ai

转到程序→ 安装→ 编辑mcp.json,然后将其粘贴到您的路径中:

{
    "mcpServers": {
        "sap-mcp-local": {
        "command": "absolute/path/to/python/folder (e.g. .../server/.venv/bin/python)",
        "args": [
            "mcp_sap.py"
        ],
        "cwd": "absolute/path/to/server"
        }
    }
}

2.加载哪个型号

我们建议使用轻量级的指令模型进行演示:

  qwen2.5-7b-instruct-1m

这个模型平衡了速度和质量。在LM Studio中下载它,然后在开始演示之前加载它。

3.可用工具概述

  1. 列表_能力 -列出所有可用适配器及其当前启用状态。
  2. 当前文件 -检索当前活动的配置文件设置。
  3. set_profile -设置当前配置文件以启用一组特定的适配器。
  4. run_with_profile -原子化地设置一个配置文件,并在一个回合中调用一个工具 profile, tool,以及 args_json 作为参数。
  5. pw_检查 -检查选择器是否在页面上可见;需要检查URL和选择器。
  6. pw_屏幕截图 -截取页面或特定元素的屏幕截图;接受URL、整页与单个元素屏幕截图的可选选择器、输出文件名和超时作为参数。
  7. pw_run_steps -在提供的起始URL上运行一系列Playwright步骤,并执行指定的操作,如导航、单击按钮、填写表单等。;需要 steps 列表和可选 start_url.
  8. sapui_wait_ready -等待SAP Fiori的“忙碌”指标消失后再继续。
  9. sapui_open_tile -打开Fiori Launchpad(FLP)URL,点击特定磁贴的可见文本以启动应用程序;需要FLP URL和带有可选超时的磁贴文本。
  10. sapui_click_button -按ARIA名称或“创建”、“保存”等可见文本单击Fiori按钮。;获取按钮的可见文本或ARIA名称以及可选的超时。
  11. sapui_fill_by_label -按标签填充输入字段;需要填写标签和值,以及可选的超时。
  12. 烤面包机 -断言带有特定文本的Fiori MessageToast显示为“已保存”、“已发布”;检查文本的外观。
  13. sapui_assert_visible -检查页面上是否可见特定的文本或CSS/XPath选择器;需要文本或选择器以及可选的超时。
  14. sapui_run_flow -执行一系列与SAP Fiori应用程序交互的步骤,包括等待准备就绪、打开互动程序、单击按钮、断言消息等。;以JSON列表的形式执行步骤,并可选择启动URL和总超时。
  15. jira-status -检查JIRA适配器是否已启用。
  16. jira_mock -模拟JIRA API调用;支持按关键字获取问题或通过JQL使用可选参数类型进行搜索(issue/search)id(用于问题)或jcl字符串用于搜索。
  17. xray_status -检查XRay适配器是否已启用。
  18. xray_mock -模拟XRay API调用;支持按键获取测试、按键获取计划或使用可选参数类型的执行(test/plan/execution)以及key(用于测试/计划)或id(用于执行)。
  19. uipath_status -检查UiPath适配器是否已启用。
  20. Uipath锁 -模拟UiPath API调用;支持检查流程、启动作业或获取可选类型的作业状态(processes/start_job/job_status)和键(用于启动作业等特定操作)。
  21. tosca_status -检查Tosca适配器是否已启用。
  22. tosca_pack_from_steps -从SAP风格的步骤生成Tosca包,其中包含命名选项、压缩选项,以及生成测试资产的步骤列表或需求文本。
  23. jira_to_uipath_job_spec -将JIRA问题转化为简单的UiPath作业规范;需要作业启动规范的问题密钥和可选进程名称。
  24. xray_totosca_pack -将XRay测试(模拟或真实)转换为CSV/JSON格式的Tosca包或所需的ZIP文件 key 参数、可选的pack_name和zip-pack布尔值。
  25. jira_to_tosca-pack -从JIRA问题摘要/描述创建快速Tosca包,用于生成尚未进行XRay测试的测试资产;需要问题密钥、生成包的可选名称以及zip选项(如果为true)。

您可以使用以下命令调用这些函数 run_with_profile 功能,以确保您在特定的配置文件上下文中操作。请参阅下面的更多具体示例。

4.演示流程(复制并粘贴到LM Studio聊天室)

打开LM Studio聊天,加载模型,在集成下选择“mcp/sap mcp local”并粘贴:

a.开关配置文件

Call tool list_capabilities
Call tool set_profile name="playwright"
Call tool current_profile

b.SAP模拟演示

Call tool set_profile name="sap"
Call tool sap_mock endpoint="sales_order" id="12345"
Call tool sap_metadata service="default"

c.剧作家演示(真实浏览器检查)

Call tool set_profile name="playwright"
Call tool pw_check url="https://example.com" selector="h1"

d.剧作家SAP UI模拟演示

Call tool set_profile name="playwright"
Call tool sapui_run_flow start_url="http://localhost:8000/mock-ui/flp.html" steps="[
  {\"action\":\"open_tile\",\"tile_text\":\"Sales Orders\"},
  {\"action\":\"fill_by_label\",\"label\":\"Customer\",\"value\":\"1000001\"},
  {\"action\":\"fill_by_label\",\"label\":\"Amount\",\"value\":\"1250.50\"},
  {\"action\":\"click_button\",\"name\":\"Create\"},
  {\"action\":\"assert_toast\",\"text\":\"Saved\"}
]"

e.UiPath状态和模拟流程

Call tool set_profile name="uipath"
Call tool uipath_status
Call tool uipath_mock kind="processes"

f.SAP mock UI上的UiPath(mock)运行流

Call tool run_with_profile profile="all" tool="uipath_run_flow_on_mock_ui" args_json="{
  \"start_url\":\"http://localhost:8000/mock-ui/flp.html\",
  \"steps\": [
    {\"action\":\"open_tile\",\"tile_text\":\"Sales Orders\"},
    {\"action\":\"assert_visible\",\"text_or_selector\":\"Sales Orders\"},
    {\"action\":\"fill_by_label\",\"label\":\"Customer\",\"value\":\"1000001\"},
    {\"action\":\"fill_by_label\",\"label\":\"Amount\",\"value\":\"1250.50\"},
    {\"action\":\"click_button\",\"name\":\"Create\"},
    {\"action\":\"assert_toast\",\"text\":\"Saved\"}
  ]
}"

g.从以下步骤生成UiPath Studio序列(.xaml)

Call tool run_with_profile profile="uipath" tool="uipath_generate_xaml" args_json="{
  \"steps\": [
    {\"action\":\"open_tile\",\"tile_text\":\"Sales Orders\"},
    {\"action\":\"fill_by_label\",\"label\":\"Customer\",\"value\":\"1000001\"},
    {\"action\":\"click_button\",\"name\":\"Create\"},
    {\"action\":\"assert_toast\",\"text\":\"Saved\"}
  ],
  \"file_name\":\"UiPath_Mock_SAP_Demo.xaml\"
}"

h.Tosca演示(模拟资产)

Call tool set_profile name="tosca"
Call tool tosca_run_flow_on_mock_ui flow="validate_sales_order"

i. 在SAP模拟UI上运行Tosca(模拟)流程

Call tool run_with_profile profile="all" tool="tosca_run_flow_on_mock_ui" args_json="{
  \"start_url\":\"http://localhost:8000/mock-ui/flp.html\",
  \"steps\": [
    {\"action\":\"open_tile\",\"tile_text\":\"Sales Orders\"},
    {\"action\":\"assert_visible\",\"text_or_selector\":\"Sales Orders\"},
    {\"action\":\"fill_by_label\",\"label\":\"Customer\",\"value\":\"1000001\"},
    {\"action\":\"fill_by_label\",\"label\":\"Amount\",\"value\":\"1250.50\"},
    {\"action\":\"click_button\",\"name\":\"Create\"},
    {\"action\":\"assert_toast\",\"text\":\"Saved\"}
  ]
}"

j.按步骤生成Tosca模拟包

Call tool run_with_profile profile="tosca" tool="tosca_pack_from_steps" args_json="{
  \"steps\": [
    {\"action\":\"open_tile\",\"tile_text\":\"Sales Orders\"},
    {\"action\":\"fill_by_label\",\"label\":\"Customer\",\"value\":\"1000001\"},
    {\"action\":\"click_button\",\"name\":\"Create\"},
    {\"action\":\"assert_toast\",\"text\":\"Saved\"}
  ],
  \"pack_name\":\"tosca_sap_mock_demo\",
  \"zip_pack\": true
}"

k.托斯卡大桥的X射线

Call tool set_profile name="all"
Call tool xray_to_tosca_pack key="SAP-TC-101" pack_name="xray-bridge-demo" zip_pack=true

结果:将在以下位置创建ZIP artifacts// / 包含:

testcases.csv
modules.csv
testcases.json
README.md

l.Xray->SAP编剧流程

Call tool run_with_profile profile="all" tool="run_xray_sapui_flow" args_json="{
  \"key\":\"SAP-TC-101\",
  \"flp_url\":\"http://localhost:8000/mock-ui/flp.html\",
  \"default_tile\":\"Sales Orders\"
}"

m.Jira和Xray状态+示例搜索

Call tool set_profile name="jira"
Call tool jira_status
Call tool jira_mock kind="issue" id="SAP-123"
Call tool jira_mock kind="search" jql="project = SAP AND text ~ \"order\""

______________________________________________________________________

📝 备注

模拟与真实API: Jira/Xray/UiPath在模拟模式下运行,除非通过环境变量(.env)提供真实凭据。

人工产品: 所有生成的Tosca包都放置在 artifacts//....

SAP模拟用户界面: mock-ui/flp.html + sales_orders.html 让剧作家/UiPath/Tsca在没有实时SAP系统的情况下演示Fiori风格的流程。

可扩展性: 只需在下面放置一个脚本,就可以添加新的适配器或网桥 /adapters

目录标签

目录标签

Python工具集成AI代理SAP自动化本地部署测试编排流程模拟MCP协议

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP