Token导航 LogoToken导航TokenDH.com
Sap Workflow Mining logo
运维云端stdio官方级别未说明来源级核验

Sap Workflow Mining

MCP Server

用于ERP交易数据的取证模式发现和学习系统,提供检测已知模式和发现新异常模式的功能,适用于企业财务审计和流程优化场景。

工具数

36

提示词数

0

GitHub Stars

6

资源数

0
TypeScriptClaude云端部署Claude

安装说明

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

作者 / 组织

chrbailey

提供方

chrbailey

最后核验

2026/5/17 20:20

运行时

Python

快速接入

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

命令预览

python3 src/generate_sfdc.py --count 200 --accounts 50 --output sfdc_output/ --seed 42

详细介绍

SAP事务取证

ERP事务数据的取证模式发现。不是规则引擎,而是学习系统。

问题

现有的取证工具附带了硬编码规则。“标记超过$X的发票。”“供应商主数据更改时发出警报。”这些规则会忽略新的模式,并对不相关的模式进行攻击。每个ERP都是不同的。每个客户的欺诈签名都是不同的。静态规则引擎无法跟上。

方法

该项目有两层:

  1. 检测层 --23个MCP工具实施了众所周知的取证检查(SoD冲突、一致性偏差、日志异常、现实差距)。确定性,经过测试,可从Claude Code调用。
  2. 发现层 --一个工人/评论家/拉尔夫循环,提出 *新* 从数据中提取模式,根据证据验证它们,并扩展一个持久模式库。看 模式发现/.

检测层会找到你知道要寻找的东西。发现层会发现你没有发现的东西。

60秒内试试

无需SAP访问权限。包括合成数据。

git clone https://github.com/chrbailey/SAP-Transaction-Forensics.git
cd SAP-Transaction-Forensics
make demo                              # generates synthetic data + runs analysis
cd mcp-server && npm install && npm run build && cd ..
claude                                 # opens Claude Code with 18 forensic tools wired up

然后问克劳德: *“对o2c简单参考模型进行一致性检查。”*

完整演练: QUICKSTART.md ·五个问题演示: scripts/demo-walkythrough.md ·模式发现: 模式发现/README.md

这不是什么

  • 不是治理工具。 有关AI代理操作的预执行批准,请参阅 PromptSpeak.
  • 不是一个自我修复的系统。 它发现了问题。人类决定做什么。
  • 不是商业产品。 麻省理工学院许可。由独立顾问(Christopher Bailey,ERP Access Inc,29年ERP经验-SAP、NetSuite、Oracle、Workday)打造。

______________________________________________________________________

![License: MIT](https://opensource.org/licenses/MIT) ](https://nodejs.org/) ![Python](https://www.python.org/) ![Tests](https://github.com/chrbailey/SAP-Transaction-Forensics) ![Test Suites](https://github.com/chrbailey/SAP-Transaction-Forensics)

______________________________________________________________________

新增内容:证据基础设施

从提取到审阅者移交的完整证据生命周期,每一步都有加密验证。

特性描述
物源图字段级DAG将每个发现跟踪到系统/表/记录/字段/值/时间戳
提取注册表跨SAP、Salesforce和NetSuite的19条命名、版本化、确定性提取路径
矛盾引擎12类分类法,带有风险评分和类型特定权重
架构验证器19个表IDES参考模式(438个字段),带有飞行前验证和定制检测
现实差距检测器三向差距分析:参考模型、记录的业务规则和实际事件日志
查找生命周期具有SQLite持久性、转换历史和重复数据删除功能的8状态机
审阅者交接无需模型访问即可验证的自包含审计工件
1663测试1639个TypeScript(70个套件)+24个Python(模式发现),零回归

证据链示例

Finding: AMOUNT_DIVERGENCE on Sales Order 0000045123
  Evidence:
    Left:  SAP.VBAK.0000045123.NETWR = 125,000.00  (extracted 2025-09-15T14:22:00Z)
    Right: SFDC.Opportunity.006R00000123.Amount = 118,750.00  (extracted 2025-09-15T14:22:01Z)
    Delta: 5.3% ($6,250.00)
  Provenance:
    Extraction Path: sap-o2c-order-headers v1.0
    Replay Hash: sha256:a7f3b2...
  State: CONFIRMED → REMEDIATION (transitioned 2025-09-16 by reviewer@corp.com)

______________________________________________________________________

替代路径(无Claude代码)

如果你没有使用Claude Code,底层工具仍然可以直接运行:

选项A:Docker Compose(浏览器用户界面)

docker-compose up --build
# Open browser to http://localhost:8080

选项B:分析CSV导出

# Export from SE16: VBAK, VBAP, LIKP, LIPS, VBRK, VBRP, STXH/STXL
# Place files in ./input-data/
docker-compose run pattern-engine --input-dir /app/input-data --output-dir /app/output

选项C:实时RFC连接

# Copy and edit configuration
cp .env.rfc.example .env.rfc
# Edit .env.rfc with your SAP connection details

# Run with RFC adapter
docker-compose --profile rfc up mcp-server-rfc

安装指南 有关详细的设置说明。

选项D:分析Salesforce数据

# 1. Generate synthetic SFDC data (200 Opportunities, 10 planted anomaly patterns)
cd synthetic-data
python3 src/generate_sfdc.py --count 200 --accounts 50 --output sfdc_output/ --seed 42

# 2. Run the forensic analysis
cd ../pattern-engine
python3 pattern-engine/scripts/analyze_sfdc.py

# Or bring your own SFDC export:
# Place Opportunity, Account, StageHistory CSVs in ./data/sfdc/
# python3 pattern-engine/scripts/analyze_sfdc.py --data-dir ../data/sfdc

______________________________________________________________________

证据基础设施

证据基础设施提供了一个完整的监管链,从原始系统数据到法医调查结果,再到审查员准备的审计数据包。

物源图

每个发现都可以通过有向无环图(DAG)追溯到特定系统中特定记录中的特定字段。每条提取记录都记录了:

  • 系统 -SAP、Salesforce或NetSuite
  • 表格 -源表(例如,VBAK、Opportunity)
  • 记录ID -具体文件或记录
  • 领域 -单个字段名称
  • 价值 -提取时的提取值
  • 时间戳 -提取发生时
  • 回放哈希 -SHA-256哈希用于独立重新验证

导出格式:DAG JSON(全图)、平面(表格)、Markdown(人类可读)。

提取注册表

19个命名的、版本化的、确定性的提取路径确保了可重复的数据收集:

路径描述
SAP O2Csap-o2c-order-headers销售订单标题字段(VBAK)
sap-o2c-order-items行项目详细信息(VBAP)
sap-o2c-doc-flow文档流链(VBFA)
sap-o2c-delivery-timing请求交付与实际交付(LIKP/LIPS)
sap-o2c-invoice-timing发票创建和过账(VBRK/VBRP)
SAP FI/COsap-fico-journal-entries日记账条目标题(BKPF)
sap-fico-line-items日记账行项目(BSEG)
sap-fico-sod-conflicts职责分离分析
sap-fico-gl-balances总账账户余额
SAP P2Psap-p2p-purchase-orders采购订单数据(EKKO/EKPO)
sap-p2p-requisitions请购单(EBAN)
sap-p2p-goods-receipts收货单(MKPF/MSEG)
sap-p2p-invoice-verification发票验证(RBKP/RSEG)
赛富时sfdc-opportunities机会管道数据
sfdc-stage-history阶段转换历史
sfdc-activities记录中的任务和事件
NetSuitenetsuite-user-activity用户活动审计跟踪
netsuite-transaction-summary交易摘要
netsuite-login-history登录和访问历史记录

每个路径都有版本控制,并为相同的输入产生确定性输出,从而实现SHA-256重放验证。

矛盾引擎

使用12类分类法进行跨系统矛盾检测:

类别它检测到什么
AMOUNT_DIVERGENCE不同系统之间差异超出容忍范围的美元金额
DATE_CONFLICT匹配记录之间的日期不一致
STATUS_INCOMPATIBLE逻辑上不能共存的状态字段
ENTITY_MISMATCH跨系统不匹配的客户/供应商/物料ID
QUANTITY_DIVERGENCE超出公差的数量
APPROVAL_BYPASS绕过所需审批步骤的交易
TEMPORAL_IMPOSSIBILITY以不可能的顺序发生的事件
DUPLICATE_REFERENCE多条记录声称具有相同的参考号
ORPHAN_RECORD一个系统中的记录,另一个系统没有对应记录
RETROACTIVE_CHANGE记录定稿后所做的更改
SOD_VIOLATION同一用户执行相互冲突的职责
SCHEMA_GHOST引用不存在的架构元素的字段或值

风险评分使用特定类型的权重。严重级别:严重、高、中、低、信息。

架构验证器

在提取任何数据之前,根据客户端模式对提取路径进行飞行前验证。

  • 参考架构:来自实际SAP IDES转储的19个表、438个字段
  • 路径验证:验证提取路径引用的每个字段是否存在于客户端架构中
  • 定制检测:标识Z表、Z字段和自定义命名空间
  • 差距报告:准确显示哪些字段缺失以及哪些路径受到影响

现实差距检测器

三向差距分析,比较应该发生的事情、记录的事情和实际发生的事情:

间隙类型比较示例
设计差距参考模型与记录规则SoD政策存在,但未配置强制控制
合规差距记录的规则与实际事件需要三方匹配,但发票没有GR
阴影处理实际事件与所有记录的模型周末发布的货物收据,没有审批流程

包括一个规则解析器,其中包含SAP、NetSuite和Salesforce的标准规则集。

查找生命周期管理器

8状态机跟踪从检测到分辨率的每个发现:

DETECTED → TRIAGED → INVESTIGATING → CONFIRMED → REMEDIATION → RESOLVED
                 ↘                       ↘              ↗
              FALSE_POSITIVE         ACCEPTED_RISK
  • 具有完整转换历史的SQLite持久性(谁、何时、从状态到状态)
  • 重复数据删除可防止同一发现被记录两次
  • 四个发现来源:矛盾、真实性、一致性、公平性
  • 根据发现类型和严重程度计算的风险评分(0.0-1.0)

审阅者交接包

无需模型访问即可验证的自包含审计工件:

  • 执行摘要 -范围、分析的系统、关键指标、风险分布
  • 渲染结果 -每个发现都有严重性、证据表和来源链
  • 提取清单 -使用的每个提取路径,带有参数和SHA-256重放哈希
  • 复制README -独立重新运行分析的分步说明
  • 审阅者检查表 -涵盖完整性、准确性和方法的25项验证清单

______________________________________________________________________

SFDC法医分析

Salesforce适配器通过与SAP相同的模式引擎映射Opportunity管道数据:

现场测绘(SFDC→ SAP标准化)

SFDC概念SAP等效映射
机会。IdVBELN填充为10个字符
记录类型。名称AUART新业务→ZNEW,续约→ZREN,追加销售→ZUPS
账户IdKUNNR填充到10个字符
机会。金额净值直接
阶段转换VBFA(文档流)每个阶段的更改→ 流量入口
任务/事件STXH/STXL(文本)活动主题+描述→ doc文本
帐户(安全字段)KNA1仅限行业、州、国家(无个人身份信息)

跨系统相关性

当加载SFDC和SAP数据时,实体解析器使用以下方式匹配记录:

  1. 显式ID (置信度0.99)-- Opportunity.SAP_Order_Number__c == VBAK.VBELN
  2. 邻近 (置信度0.50-0.95)——账户名称相似性+金额容差+日期接近度
  3. 时间序列 (第2阶段)——单调SFDC→SAP事件链验证

在匹配的配对中检测到异常:

  • 时间差距 --SFDC接近SAP订单创建>30天
  • 金额差异 --SFDC金额与SAP NETWR>5%容差
  • 序列违规 --SFDC关闭前创建的SAP订单
  • 缺少交接 --SFDC Closed Won,没有相应的SAP订单

种植异常模式(合成数据)

SFDC发生器以受控速率产生10种可检测模式:

模式速率测试内容
跳过阶段5%合规性:绕过强制阶段
季度末压缩赢的40%时间:期末交易集群
幽灵管道后期10%相关性:活跃交易中无活动
阶段回归3%一致性:向后阶段移动
金额通胀8%相关性:收盘时金额增长>50%
拆分交易6%跨实体:同一账户,7天内重复交易
速度异常5%时间:创建后将在\30天SFDC→SAP时间差距

______________________________________________________________________

所得

+-----------------------------------------------------------------------------------+
|                              Pattern Discovery Report                              |
+-----------------------------------------------------------------------------------+
| Pattern: "Credit Hold Escalation"                                                  |
| ----------------------------------------------------------------------------------|
| Finding: Orders with 'CREDIT HOLD' in notes have 3.2x longer fulfillment cycles   |
|                                                                                    |
| Occurrence: 234 orders (4.7% of dataset)                                           |
| Sales Orgs: 1000 (64%), 2000 (36%)                                                 |
| Confidence: HIGH (p |2.1 days| B[Delivery Created]
    B -->|0.5 days| C[Goods Issued]
    C -->|3.2 days| D[Invoice Created]

    style C fill:#f8d7da
  • 输出格式:Mermaid(Markdown)、GraphViz(DOT)、SVG
  • 颜色编码的瓶颈严重程度(绿色/黄色/红色)
  • 流程步骤之间的时间注释

预测性监测

基于机器学习的过程结果预测:

Order 0000012345 - Risk Assessment:
├── Late Delivery: 78% probability (HIGH RISK)
│   └── Factors: credit_block, order_value > $50k
├── Credit Hold: 45% probability (MEDIUM RISK)
└── Est. Completion: 8.2 days

预测类型:

  • 延迟交付 -基于病例年龄、进展、停滞、返工的概率
  • 信贷持有 -基于信用检查状态和复杂性的可能性
  • 完成时间 -根据进度/速度估计剩余小时数

29提取特征:

  • 时间:病例年龄、自上次事件以来的时间、事件之间的平均时间
  • 活动:达到里程碑、返工检测、循环计数、回溯
  • 资源:唯一资源、切换计数
  • 风险指标:停滞案例、信贷搁置、拒绝、封锁

______________________________________________________________________

为什么选择这个而不是S/4HANA?

考虑S/4HANA迁移交易取证
时间线18-36个月首次洞察的时间
成本1000万至1亿美元+免费(MIT许可证)
风险业务中断零-只读访问
数据位置云/托管仅限内部部署
先决条件绿地/棕地项目与现有ECC 6.0配合使用
流程可见性迁移后任何更改之前
用例全面转型流程发现和优化

此工具不能代替S/4HANA。 它可以帮助您了解当前的流程 *之前* 做出迁移决策,或在现有的ECC系统中寻找优化机会。

______________________________________________________________________

安装

先决条件

  • Docker和Docker Compose(推荐)
  • 或者Node.js 18+和Python 3.10+用于本地开发

快速安装

git clone https://github.com/chrbailey/SAP-Transaction-Forensics.git
cd transaction-forensics
docker-compose up --build

详细设置

docs/adapter_guide.md 用于:

  • ECC 6.0的RFC适配器配置
  • S/4HANA的OData适配器配置
  • 从SE16导出CSV导入
  • 气隙安装选项

LLM配置(v2.0)

在中配置自然语言界面 .env:

# Option 1: Local Ollama (default, private)
LLM_PROVIDER=ollama
OLLAMA_HOST=http://localhost:11434
LLM_MODEL=llama3

# Option 2: OpenAI
LLM_PROVIDER=openai
LLM_API_KEY=
LLM_MODEL=gpt-4

# Option 3: Anthropic
LLM_PROVIDER=anthropic
LLM_API_KEY=
LLM_MODEL=claude-3-sonnet-20240229

对于气隙环境,请将Ollama与本地下载的型号一起使用。

______________________________________________________________________

德莫斯

所有v2.0流程挖掘工具的交互式演示。无需SAP连接-所有演示都使用合成数据。

cd mcp-server

# Natural Language Interface - ask questions in plain English
npx tsx ../demos/ask_process_demo.ts
npx tsx ../demos/ask_process_demo.ts --interactive  # Interactive mode

# OCEL 2.0 Export - export to process mining standard format
npx tsx ../demos/export_ocel_demo.ts

# Conformance Checking - compare against O2C reference model
npx tsx ../demos/check_conformance_demo.ts

# Visual Process Maps - generate Mermaid flowcharts
npx tsx ../demos/visualize_process_demo.ts

# Predictive Monitoring - ML-based risk predictions
npx tsx ../demos/predict_outcome_demo.ts
演示描述
ask_process_demo.ts具有LLM集成的自然语言查询
export_ocel_demo.tsOCEL 2.0导出,包含对象/事件细分
check_conformance_demo.ts偏差检测和严重性评分
visualize_process_demo.ts突出显示瓶颈的美人鱼图
predict_outcome_demo.ts风险预测和警报
salt_adapter_demo.ts来自SALT数据集的真实SAP O2C数据
visualize_process_bpi_demo.ts具有真实P2P数据的流程图(BPI 2019)
predict_outcome_bpi_demo.ts基于真实P2P数据的风险预测(BPI 2019)
ask_process_bpi_demo.tsP2P数据的自然语言查询

______________________________________________________________________

真实SAP数据

2019年BPI挑战赛(P2P)

使用真实的SAP采购支付数据 2019年BPI挑战赛 用于使用真实的业务模式进行测试。

# Download and convert BPI 2019 data
python scripts/convert-bpi-xes.py

# Run demos with real P2P data
npx tsx demos/visualize_process_bpi_demo.ts 50
npx tsx demos/predict_outcome_bpi_demo.ts 30
npx tsx demos/ask_process_bpi_demo.ts

数据集统计:

度量
案件总数251734
活动总数15M+
独特活动39
流程类型购买到支付(P2P)
来源跨国涂料公司

活动包括: SRM工作流、采购订单、收货、服务条目、发票处理、供应商交互

______________________________________________________________________

SALT数据集(O2C)

使用来自SAP的真实SAP ERP数据 SALT数据集 在HuggingFace上进行真实商业模式的测试。

快速开始

# 1. Install Python dependencies
pip install datasets pyarrow

# 2. Download SALT dataset
python scripts/download-salt.py

# 3. Run demo with real data
cd mcp-server
npx tsx ../demos/salt_adapter_demo.ts

包含什么

SALT(销售自动补全链接业务表)包含:

说明记录
I_SalesDocument销售订单标题~1M+
I_SalesDocumentItem订单行项目~5M+
I_客户客户主数据~100K
I_AddrArgName邮寄地址地址数据~100K

使用SALT适配器

import { SaltAdapter } from './adapters/salt/index.js';

const adapter = new SaltAdapter({
  maxDocuments: 10000,  // Limit for memory management
});

await adapter.initialize();

// Get real sales order data
const header = await adapter.getSalesDocHeader({ vbeln: '0000012345' });
const items = await adapter.getSalesDocItems({ vbeln: '0000012345' });

// Get dataset statistics
const stats = adapter.getStats();
console.log(`Loaded ${stats.salesDocuments} sales documents`);

局限性

SALT包含 仅限销售订单 (无交货或发票)。对于完整的订单到现金测试:

  • 使用SALT进行销售订单分析和机器学习培训
  • 使用合成适配器进行完整的O2C流量测试
  • 将两者结合起来进行全面验证

为什么要使用真实数据?

方面合成数据SALT真实数据
模式随机/人为真实的商业模式
ML训练精度有限真实世界的特征分布
演示有利于UI测试对利益相关者有吸引力
验证功能测试业务逻辑验证

分析结果

我们已经根据真实的SAP数据集验证了MCP工具。查看详细分析:

数据集系统案例事件关键发现报告
SFDC合成Salesforce214241710种异常模式,57%的量化宽松压缩,2个跨系统差距运行: python3 pattern-engine/scripts/analyze_sfdc.py
2019年BPI挑战赛SAP P2P251734160万42个活动,64天平均吞吐量View →
SAP IDES O2CSAP O2C6465708158个变体,发现了瓶颈View →
SAP IDES P2P检测到SAP P2P248674207个合规违规View →

工艺流程图: O2C和P2P的Mermaid流程图

测试套件:总共1663个测试——70个套件中的1639个TypeScript测试(mcp-server/)+24个Python测试(pattern-discovery/).零回归。

______________________________________________________________________

安全与合规

该系统专为满足企业安全需求而设计。

关注我们如何应对
数据访问只读BAPI-无写操作,无任意SQL
数据位置所有处理都是在本地进行的——没有云,没有外部API
网络没有出站连接,没有遥测,没有回家电话
PII保护自动编辑电子邮件、电话、姓名、地址
审计跟踪每个查询都记录了参数、时间戳、行数
行限制默认每个查询200行,最多1000行-防止批量提取
来源每次提取时进行SHA-256重放散列,以进行独立验证
交接诚信审阅者数据包是自包含的,无需模型访问即可验证

安全.md 获取完整的安全文档。

______________________________________________________________________

适用于SAP Basis管理员

所需授权

RFC用户需要 仅显示 访问SD文档:

Authorization Object: S_RFC
  RFC_TYPE = FUGR
  RFC_NAME = STXR, 2001, 2051, 2056, 2074, 2077
  ACTVT = 16 (Execute)

Authorization Object: V_VBAK_VKO
  VKORG = [Your Sales Organizations]
  ACTVT = 03 (Display)

Authorization Object: V_VBAK_AAT
  AUART = * (or specific document types)
  ACTVT = 03 (Display)

复制粘贴就绪角色模板:docs/SAP_AUTHORIZATION.md

使用的BAPI(全部只读)

BAPI目的访问的表
BAPI_SALESORDER_GETLIST列出销售订单VBAK
SD_SALESDOCUMENT_READ读取订单标题/项目VBAK、VBAP
BAPI_SALESDOCU_GETRELATIONS文档流(VBFA)VBFA
BAPI_OUTB_DELIVERY_GET_DETAIL交货详情LIKP,LIPS
BAPI_BILLINGDOC_GETDETAIL发票明细VBRK、VBRP
READ_TEXT长文本字段STXH、STXL
BAPI_CUSTOMER_GETDETAIL2客户主数据(存根)KNA1
BAPI_MATERIAL_GET_DETAIL物料主数据(存根)MARA

无法直接访问表。除非明确启用,否则没有RFC_READ_TABLE。

______________________________________________________________________

建筑

+------------------------------------------------------------------+
|                        Your Network                               |
|  +------------------------------------------------------------+  |
|  |                                                            |  |
|  |   +----------------+     +-------------------+             |  |
|  |   | SAP ECC 6.0    |     | SAP Workflow      |             |  |
|  |   |                |     | Mining Server     |             |  |
|  |   |  +----------+  |     |                   |             |  |
|  |   |  | SD/MM    |  | RFC |  +-------------+  |             |  |
|  |   |  | Tables   || MCP Server  |  |             |  |
|  |   |  +----------+  | (R/O)|  +-------------+  |             |  |
|  |   |                |     |         |         |             |  |
|  |   +----------------+     |         v         |             |  |
|  |                          |  +-------------+  |             |  |
|  |   +----------------+     |  | Evidence    |  |             |  |
|  |   | Salesforce     |     |  | Engine      |  |             |  |
|  |   |                | API |  | +---------+ |  |             |  |
|  |   | Opportunities  || |Provnance| |  |             |  |
|  |   | Activities     |     |  | |Registry | |  |             |  |
|  |   +----------------+     |  | |Findings | |  |             |  |
|  |                          |  | +---------+ |  |             |  |
|  |   +----------------+     |  +-------------+  |             |  |
|  |   | NetSuite       |     |         |         |             |  |
|  |   |                | API |         v         |             |  |
|  |   | Users/Txns     ||  +-------------+  |             |  |
|  |   +----------------+     |  | Pattern     |  |             |  |
|  |                          |  | Engine      |  |             |  |
|  |                          |  +-------------+  |             |  |
|  |                          |         |         |             |  |
|  |   +----------------+     |  +-------------+  |             |  |
|  |   | Browser        || Web Viewer  |  |             |  |
|  |   | (localhost)    |     |  +-------------+  |             |  |
|  |   +----------------+     +-------------------+             |  |
|  |                                                            |  |
|  +------------------------------------------------------------+  |
|                                                                   |
|                    NO EXTERNAL CONNECTIONS                        |
+------------------------------------------------------------------+

数据流:

  1. MCP服务器通过RFC连接到SAP,通过API连接到Salesforce,通过API连接到NetSuite(全部只读)
  2. Extraction Registry执行命名的、版本化的提取路径
  3. 物源图记录每次提取的现场级证据
  4. 矛盾引擎和现实差距检测器分析跨系统数据
  5. Finding Lifecycle Manager跟踪从检测到解决的发现
  6. Handoff Generator生成自包含的审阅者数据包
  7. Web Viewer在本地主机上显示结果

没有什么离开你的网络。

______________________________________________________________________

常见问题解答

SAP是否正式支持此工具?

不,这是一个独立的开源项目。它使用公开记录的标准SAP BAPI。

这会影响SAP系统性能吗?

影响最小。所有查询均为:

  • 只读(无锁)
  • 行数有限(默认200,最大1000)
  • 速率限制(可配置)
  • 使用标准BAPI(非直接表访问)

我们建议在非高峰时段进行初步分析。

支持哪些SAP模块?

SD(销售与分销)、MM(物料管理)和FI/CO(财务会计/控制)文件流。还支持使用Salesforce CRM和NetSuite进行跨系统分析。

这在任何数据库上都适用于SAP吗?

对。该工具使用与数据库无关的BAPI。适用于HANA、Oracle、DB2、SQL Server、MaxDB。

我可以在气隙环境中运行这个吗?

对。Docker镜像可以离线构建和传输。运行时没有外部依赖关系。

我如何验证这些发现?

每一项发现都包括:

  • 字段级来源跟踪到系统/表/记录/字段/值/时间戳
  • SHA-256重放哈希用于独立重新验证
  • SAP中用于验证的样本文件编号(VA03、VL03N、VF03)
  • 统计置信区间
  • 关于相关性与因果关系的明确警告

对于正式审查,请使用 generate_handoff_packet 生成一个包含25项审阅者清单的独立审计工件。

GDPR/数据保护怎么办?

  • 默认情况下启用PII编辑
  • 没有数据离开您的网络
  • 可共享模式应用额外的编辑
  • 安全.md 出于合规考虑

我可以贡献或请求功能吗?

对。看 贡献.md 作为指导方针。通过GitHub Issues请求功能。

______________________________________________________________________

治理(PromptSpeak集成)

MCP服务器包括一个基于 PromptSpeak符号框架 用于预执行阻止和人工循环审批工作流。

为什么治理?

当AI代理访问SAP数据时,您需要控制:

  • 防止大量提取 -保留对大日期范围或行数的请求
  • 保护敏感数据 -需要批准包含PII模式的搜索
  • 阻止流氓特工 -断路器立即停止行为不端的特工
  • 审核一切 -完整跟踪所有操作以确保合规性

PromptSpeak框架

每个操作都有一个符号框架,指示模式、域、动作和实体:

Frame: ⊕◐◀α
       │ │ │ └── Entity: α (primary agent)
       │ │ └──── Action: ◀ (retrieve)
       │ └────── Domain: ◐ (operational)
       └──────── Mode: ⊕ (strict)
符号类别含义
模式严格-要求完全合规
模式空档-标准操作
模式灵活-允许解释
模式禁止 -阻止所有操作
财务(发票、价值)
领域运营(订单、交付)
操作检索数据
操作分析/搜索
操作验证
α β γ实体一级/二级/三级代理

保持触发器

在以下情况下,操作会自动保留以供人工批准:

触发器阈值示例
广泛的日期范围>90天date_from: 2024-01-01, date_to: 2024-12-31
行数上限>500行limit: 1000
敏感模式SSN、信用卡、密码pattern: "social security"

治理工作流程

Agent Request
     │
     ▼
┌─────────────┐     ┌─────────────┐
│ Circuit     │────▶│ BLOCKED     │ (if agent halted)
│ Breaker     │     └─────────────┘
└─────────────┘
     │ OK
     ▼
┌─────────────┐     ┌─────────────┐
│ Frame       │────▶│ BLOCKED     │ (if ⊗ forbidden)
│ Validation  │     └─────────────┘
└─────────────┘
     │ OK
     ▼
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│ Hold        │────▶│ HELD        │────▶│ Human       │
│ Check       │     │ (pending)   │     │ Approval    │
└─────────────┘     └─────────────┘     └─────────────┘
     │ OK                                      │
     ▼                                         ▼
┌─────────────┐                         ┌─────────────┐
│ EXECUTE     │◀────────────────────────│ APPROVED    │
└─────────────┘                         └─────────────┘

治理工具

工具目的
ps_precheck试运行:检查是否允许操作
ps_list_holds等待批准的待处理清单
ps_approve_hold批准已暂停的操作
ps_reject_hold有理由拒绝已暂停的操作
ps_agent_status检查代理的断路器状态
ps_halt_agent立即停止代理(阻止所有操作)
ps_resume_agent恢复已停止的代理
ps_stats获取治理统计数据
ps_frame_docs获取PromptSpeak帧参考

示例:搁置和审批流程

// 1. Agent makes a request that triggers hold
const result = await mcp.callTool('search_doc_text', {
  pattern: 'delivery',
  date_from: '2024-01-01',
  date_to: '2024-12-31',  // >90 days triggers hold
});
// Returns: { held: true, hold_id: 'hold_abc123', reason: 'broad_date_range' }

// 2. Supervisor reviews pending holds
const holds = await mcp.callTool('ps_list_holds', {});
// Returns: [{ holdId: 'hold_abc123', tool: 'search_doc_text', severity: 'medium' }]

// 3. Supervisor approves
const approved = await mcp.callTool('ps_approve_hold', {
  hold_id: 'hold_abc123',
  approved_by: 'supervisor@example.com'
});
// Returns: { allowed: true, auditId: 'audit_xyz789' }

示例:紧急代理停止

// Immediately block a misbehaving agent
await mcp.callTool('ps_halt_agent', {
  agent_id: 'agent-123',
  reason: 'Excessive query rate detected'
});

// All subsequent requests from this agent are blocked
const result = await mcp.callTool('get_doc_text', {
  doc_type: 'order',
  doc_key: '0000000001',
  _agent_id: 'agent-123'  // Identifies the agent
});
// Returns: { error: 'Governance Blocked', message: 'Agent halted: Excessive query rate' }

// Resume when issue is resolved
await mcp.callTool('ps_resume_agent', { agent_id: 'agent-123' });

______________________________________________________________________

MCP工具参考

SAP数据工具

工具目的回报
search_doc_text按文本模式查找文档doc_type、doc_key、snippet、match_score
get_doc_text获取文档的所有文本字段headr_texts\[\],item_texts\[\]
get_doc_flow获取订单交付发票链包含键、状态、日期的链
get_sales_doc_header订单标题详细信息sales_org、客户、日期、值
get_sales_doc_items订单行项目材料、数量、价值
get_delivery_timing请求交付与实际交付时间戳、差异分析
get_invoice_timing发票创建/过账发票日期、会计参考
get_master_stub安全主数据属性哈希ID、类别(无PII)

流程挖掘工具(v2.0)

工具目的回报
ask_process自然语言查询答案、置信度、证据、建议
export_ocel导出为OCEL 2.0格式带有对象和事件的OCEL JSON/XML
check_conformance与O2C模型进行比较一致性_比率、偏差、严重性_总结
visualize_process生成流程图Mermaid/DOT/SVG,突出显示瓶颈
predict_outcome基于机器学习的结果预测预测、警报、风险水平、因素

FI/CO法医工具

工具目的回报
analyze_journal_entries日记账分录异常检测异常、风险_核心、模式
analyze_sod职责分离分析冲突、违规_计数、用户
analyze_gl_balances总账账户余额分析余额_正常情况、趋势
get_fi_document检索金融机构文件详细信息标题、行项目、金额
generate_fi_assessmentFI/CO风险评估报告评估、发现、建议

证据基础设施工具

工具目的回报
query_provenance发现的追踪证据链DAG/flat/MaMarkdown,具有字段级出处
list_extraction_paths列出可用的提取路径带系统、版本、字段的路径定义
run_extraction执行命名提取路径提取的记录,具有出处和重放哈希
detect_contradictions跨系统矛盾检测具有严重性和证据的类型矛盾
validate_schema飞行前模式验证路径兼容性、缺少字段、自定义
analyze_reality_gaps三方差距分析设计差距、合规差距、影子流程
manage_finding创建/转换/查询结果查找状态、历史、风险评分
get_finding_summary汇总发现统计数据按州、来源、严重程度、平均风险统计
generate_handoff_packet制作审阅者交接包执行摘要、调查结果、清单、检查表

治理工具

工具目的回报
ps_precheck检查是否允许操作woulAllow、woulHold、reason
ps_list_holds列出待处理的搁置搁置请求数组
ps_approve_hold批准已暂停的操作使用auditId执行结果
ps_reject_hold拒绝已暂停的操作成功布尔值
ps_agent_status获取代理断路器状态isAllowed,state,halt原因
ps_halt_agent立即停止代理已停止,agent_id
ps_resume_agent恢复已暂停的代理已恢复,agent_id
ps_stats获取治理统计信息持有、暂停代理、审核条目
ps_frame_docs获取PromptSpeak文档框架格式参考

______________________________________________________________________

许可证

MIT许可证-请参阅 许可证

这是企业友好的开源:

  • 无限制地商业使用
  • 自由修改和分发
  • 无copyleft义务
  • 无保修(按原样提供)

______________________________________________________________________

支持

  • 文档: docs/
  • 问题:GitHub问题
  • 安全:参见 安全.md 用于漏洞报告

______________________________________________________________________

AI作者

这个项目是用克劳德代码(Anthropic)构建的。所有提交都是共同编写的,如git历史中所反映的那样。架构、设计决策和分析方法由作者负责;该实现是在人工智能的帮助下进行配对编程的。

______________________________________________________________________

免责声明

此工具按原样提供,用于过程分析。它不会修改SAP数据。用户负责:

  • 确保遵守组织数据访问策略
  • 在做出商业决策之前验证调查结果
  • 正确配置SAP授权

相关性并不意味着因果关系。 所有模式发现都应该根据实际业务流程进行验证。

目录标签

目录标签

TypeScriptClaude云端部署ERP审计本地部署财务取证异常检测流程挖掘SAP分析

支持客户端

Claude

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

36

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP