mcpField
S
SAP-Claude Integration via MCP (Model Context Protocol)

SAP-Claude Integration via MCP (Model Context Protocol)

本地服务
github.com/CostingGeekAI 与智能体678 周前更新

关于 SAP-Claude Integration via MCP (Model Context Protocol)

这是一个 Python MCP 服务,可让 Claude 从 SAP Graph API 获取销售订单数据。目前提供一个查询工具,适合希望将 Claude Desktop 连接到 SAP 数据的用户。

主要功能

  1. 01获取 SAP 销售订单
  2. 02通过 top 设置返回数量
  3. 03从环境变量读取 API 密钥
  4. 04为 Claude 格式化订单详情

适用场景

  1. 01查看近期 SAP 销售订单
  2. 02让 Claude 计算订单平均金额

MCP 相关

向 MCP 客户端提供 get_sales_orders 工具。该工具查询 SAP Graph API,并返回格式化的销售订单信息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

通过 MCP(Model Context Protocol)集成 SAP 与 Claude

通过无缝的 MCP 集成,将 Claude AI 的能力直接连接到你的 SAP 系统

此代码库包含一个基于 Python 的解决方案,可通过 SAP Graph API 在 Claude(Anthropic 的大模型)与 SAP 系统之间实现双向通信。借助 Model Context Protocol(MCP),Claude 可以实时检索和处理 SAP 业务数据。

功能

  • 只需最少的设置,即可将 Claude 连接到 SAP 系统
  • 通过 Graph API 从 SAP 检索实时销售订单数据
  • 扩展集成以支持其他 SAP 实体(客户、产品等)
  • 充分利用 Claude 的大模型能力处理 SAP 数据

先决条件

  • Python 3.8+
  • SAP API 密钥(沙盒或生产环境)
  • Claude Desktop
  • 对 MCP 和 SAP Graph API 有基本了解

本文档适用于具有管理员权限的 Windows 环境

参考文档

安装

  1. 获取 SAP API 密钥

登录 SAP Graph Navigator。 你可以在个人资料的 Settings > API Settings 中找到 API 密钥。 将该 API 密钥保存为系统环境变量 "SAP_API_KEY"。 请务必重启计算机,以加载新的环境变量。

  1. 设置环境

请按照服务器开发者文档操作。

首先,让我们安装 uv 并设置 Python 项目和环境:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

之后请务必重启终端,确保能够识别 uv 命令。

现在,让我们创建并设置项目:

# Create a new directory for our project
uv init saptools
cd saptools

# Create virtual environment and activate it
uv venv
.venv\Scripts\activate

# Install dependencies
uv add mcp[cli] httpx requests

# Create our server file
new-item saptools.py
  1. 构建服务

将 saptools.py 文件克隆到你自己的文件中。

  1. 将 Claude Desktop 连接到 MCP 服务

打开 Claude Studio。在 File > Settings > Developer 下,点击 Edit Config。 编辑文件 claude_desktop_config.json,该文件通常位于 %APPDATA%\Claude 文件夹中。 请务必将 C:\\PATH\\TO\\PARENT\\FOLDER 替换为你自己的路径。

{
    "mcpServers": {
        "saptools": {
            "command": "uv",
            "args": [
                "--directory",
                "C:\\PATH\\TO\\PARENT\\FOLDER",
                "run",
                "saptools.py"
            ]
        }
    }
}

现在,重启 Claude Desktop 以加载配置。 请注意,默认情况下,关闭 Claude 窗口只会将其最小化到系统托盘。 你需要右键点击系统托盘中的图标并选择 Quit,才能完全退出。 重启 Claude 后,聊天窗口中应会出现一个新的锤子图标,显示已启用的 MCP 工具数量。 点击该图标即可查看信息弹窗,其中应显示: get_sales_orders 从 SAP Graph API 沙盒检索销售订单。 参数:top:要检索的销售订单数量(默认值:3)。 api_key:SAP API 密钥(可选;若未提供,则使用环境变量) 返回:包含格式化销售订单信息的字符串

  1. 测试 MCP 服务

现在,你应该可以在 Claude 中通过类似以下的提示词与你的 SAP 系统聊天:

Give me the last 10 sales orders
What is the average amount of the last 5 sales orders

当然,目前功能有限,但扩展此概念验证后应能支持更复杂的交互, 例如获取指定客户最近的销售订单。

🛠️ 工作原理

此解决方案使用 Model Context Protocol(MCP)在 Claude 与 SAP 系统之间建立双向通信通道:

  1. 使用 FastMCP 库初始化 MCP 服务
  2. 服务将 SAP 功能作为 Claude 可调用的“工具”公开
  3. 当 Claude 需要访问 SAP 数据时,会调用相应的工具函数
  4. 该函数连接到 SAP Graph API 并返回格式化结果
  5. Claude 处理返回的数据并生成相关见解

📊 当前可用工具

get_sales_orders

从 SAP Graph API 检索销售订单信息。

参数:

  • top(int,可选):要检索的销售订单数量(默认值:3)
  • api_key(str,可选):SAP API 密钥(如果未提供,则使用环境变量)

示例响应:

Found 3 sales orders:

Order ID: 123456
Display ID: SO-123456
Sold To Party: ACME Corp
Net Amount: 5000.00 USD
Created At: 2024-10-12T15:30:00Z
----------------------------------------
Order ID: 123457
Display ID: SO-123457
Sold To Party: TechInnovations
Net Amount: 7500.00 USD
Created At: 2024-10-13T09:15:00Z
----------------------------------------
Order ID: 123458
Display ID: SO-123458
Sold To Party: SampleCustomer
Net Amount: 2500.00 USD
Created At: 2024-10-14T09:15:00Z
----------------------------------------

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。