mcpField
S
S4MCPDEMO.git

S4MCPDEMO.git

本地服务
github.com/SHENRUIYANG版本控制081 周前更新

关于 S4MCPDEMO.git

S4MCPDEMO.git 是用于查询 SAP 物料主数据的演示服务,可用于 Cursor 等集成。它支持 HTTP API 和 stdio 模式,但 README 明确说明不适合生产环境。

主要功能

  1. 01查询物料基本信息
  2. 02按描述搜索物料
  3. 03查询多语言物料描述
  4. 04支持 HTTP 与 stdio 模式
  5. 05提供 OpenAPI 文档

适用场景

  1. 01按物料编号检索属性
  2. 02根据描述查找物料
  3. 03查看指定语言的物料描述

MCP 相关

该服务可通过 stdio 模式作为 MCP 工具使用,也支持 HTTP API 模式;它向客户端提供 SAP 物料主数据查询能力。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

物料主数据 MCP

版本: 1.0.1
作者: ORBIS Consulting Shanghai Co.,Ltd
许可证: MIT
最后更新: 2025 年 4 月 11 日
限制: 此功能仅供演示,不能用于生产环境。如有需要,请联系作者:[email protected]

物料主数据 MCP(Master Control Program)是一项用于与 SAP 系统交互、提供主数据查询功能的服务。该服务可以作为 HTTP API 服务运行,也可以在标准输入/输出模式下作为工具运行,支持与 Cursor 等智能助手集成。

功能特性

  • 双模式运行:支持 HTTP API 和标准输入/输出(stdio)模式
  • 物料基本信息查询:获取物料的详细属性和特征
  • 物料描述搜索:根据描述文本查找相关物料
  • 多语言支持:支持以不同语言(中文、英语、德语等)查询物料描述
  • 类型安全:使用 Pydantic 模型进行输入验证
  • 完整的 API 文档:内置基于 OpenAPI 规范的 API 文档
  • MCP.so 托管支持:可部署到 MCP.so,以便通过云端访问
  • API 密钥身份验证:使用 JWT 进行安全身份验证

安装

要求
  • Python 3.7+
  • 可访问 SAP S/4HANA 系统
安装步骤
  1. 克隆此仓库:
git clone https://github.com/SHENRUIYANG/S4MCPDEMO.git
cd S4MCPDEMO
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置 SAP 连接(可选,也可以使用环境变量):

在项目根目录中创建 .env 文件,内容如下:

SAP_HOST=your_sap_host
SAP_PORT=your_sap_port
SAP_USER=your_sap_username
SAP_PASSWORD=your_sap_password
JWT_SECRET=your-secret-key  # 用于生成和验证 API Key 的密钥
  1. 生成 API 密钥:

出于安全考虑,公开仓库中不包含 API 密钥生成脚本。如需为此服务生成 API 密钥,请直接联系作者。

API 密钥采用 JWT 格式,包含:

  • 用户邮箱
  • SAP 连接信息(主机、端口、用户名、密码)
  • 过期日期

注意:API 密钥包含敏感的连接信息,请妥善保管。

使用方法

作为 HTTP 服务启动
python MM03_MCP.py --mode=http --host=0.0.0.0 --port=5003

这将启动一个 FastAPI 服务,并在指定端口(默认端口为 5003)上监听。

作为标准输入/输出(stdio)工具启动
python MM03_MCP.py --mode=stdio

这将启动程序并等待从标准输入接收命令,适合与 Cursor 等智能助手集成。

作为 REST 服务启动(用于 MCP.so)
python MM03_MCP.py --mode=rest --host=0.0.0.0 --port=5003 --endpoint=/rest

这将启动适合 MCP.so 托管的 REST 服务。

API 端点

启动 HTTP 服务后,可以使用以下 API 端点:

  • GET /.well-known/mcp-manifest.json:获取 API 清单
  • POST /mcp_MM03_BasicData:获取物料基本信息
  • POST /mcp_MM03_DescToMaterial:按描述搜索物料
  • POST /mcp_MM03_Description_Search:获取指定语言的物料描述
  • GET /health:健康检查端点
API 文档

启动 HTTP 服务后,访问 http://localhost:5003/docs 即可查看完整的 API 文档。

使用示例

获取物料基本信息
curl -X POST "http://localhost:5003/mcp_MM03_BasicData" \
  -H "Content-Type: application/json" \
  -d '{"material": "FG126"}' \
  -H "Authorization: Bearer your-api-key"
按描述搜索物料
curl -X POST "http://localhost:5003/mcp_MM03_DescToMaterial" \
  -H "Content-Type: application/json" \
  -d '{"description": "serial", "language": "EN"}' \
  -H "Authorization: Bearer your-api-key"
获取指定语言的物料描述
curl -X POST "http://localhost:5003/mcp_MM03_Description_Search" \
  -H "Content-Type: application/json" \
  -d '{"material": "FG126", "language": "EN"}' \
  -H "Authorization: Bearer your-api-key"

与 MCP.so 集成

本项目旨在兼容 MCP.so 托管。仓库包含所有必要文件:

  • chatmcp.yaml:MCP.so 集成配置
  • Dockerfile:用于部署的容器映像定义
  • LICENSE:符合商业友好型部署要求的 MIT 许可证

要将此服务部署到 MCP.so:

  1. 将 GitHub 仓库 URL 提交到 MCP.so 平台
  2. MCP.so 团队将审核并部署此服务
  3. 审核通过后,即可在 MCP Playground 中使用

Docker 部署

你也可以在 Docker 容器中运行此服务:

# Build the Docker image
docker build -t mcp/mm03-mcp .

# Run the container
docker run -i --rm -e SAP_USER=your_username -e SAP_PASSWORD=your_password mcp/mm03-mcp

API 详情

BasicData

获取物料的基本信息。

输入参数:

  • material:物料编号(例如,“FG126”)

返回字段:

  • 物料类型(ProductType)
  • 创建日期(CreationDate)
  • 毛重(GrossWeight)
  • 基本计量单位(BaseUnit)
  • 物料组(ProductGroup)
  • 以及更多 SAP 物料主数据字段
DescToMaterial

按描述文本搜索物料。

输入参数:

  • description:描述文本(例如,“valve”)
  • max_results:最大结果数(默认值:50)
  • language:语言代码(例如,“EN”表示英语,“ZH”表示中文,“ALL”表示所有语言,默认值为“ZH”)

返回字段:

  • material:物料编号
  • description:物料描述
  • language:语言代码
Description_Search

获取指定语言下特定物料的描述信息。

输入参数:

  • material:物料编号(例如,“FG126”)
  • language:语言代码(例如,“EN”表示英语,“ZH”表示中文,默认值为“EN”)

返回字段:

  • material:物料编号
  • description:物料描述
  • language:语言代码

依赖项

  • FastAPI:Web 框架
  • Uvicorn:ASGI 服务
  • httpx:异步 HTTP 客户端
  • python-dotenv:环境变量管理
  • Pydantic:数据验证
  • FastMCP:MCP 核心库

安全注意事项

  • 在生产环境中,建议启用 HTTPS
  • 不要在代码中硬编码凭据;请使用环境变量或安全的凭据管理解决方案
  • 确保只有经过授权的用户才能访问 API

许可证

MIT 许可证

贡献

欢迎提交问题和拉取请求!

评论

支持 Markdown

第一次接触 MCP?

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

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