SAP销售订单MCP服务器  ](https://www.python.org/)  
一个专业的模型上下文协议(MCP)服务器,通过Anthropic的Claude AI实现对SAP S/4HANA销售订单数据的自然语言访问。这种企业级集成将复杂的SAP事务转换为会话查询。
🌟 特性 🔍 核心功能 实时SAP集成:OData API与SAP S/4HANA云的连接
自然语言查询:会话式访问销售数据
综合销售分析:多维商业智能
企业安全:具有重试机制的安全API身份验证
📊 商业智能工具 销售订单管理:通过过滤检索和分析销售订单
客户分析:客户特定的订单历史和趋势
收入情报:财务分析和绩效指标
高级筛选:日期范围、基于状态和基于值的查询
最佳绩效分析:确定最佳客户和产品
⚙️ 技术卓越 生产就绪架构:正确的错误处理、日志记录和重试逻辑
类型安全:完整的Python类型提示和验证
性能优化:异步就绪,连接池
综合测试:单元测试和集成覆盖
CI/CD就绪:GitHub自动化测试操作工作流
🚀 快速开始 先决条件 Python 3.8+
Claude桌面应用程序
SAP API Business Hub帐户(免费)
安装 bash
克隆仓库
克隆 cd sap salesforder mcp服务器
使用紫外线进行安装(推荐)
紫外同步
或使用传统pip
pip安装-r要求.txt 配置 获取SAP API证书:
bash
访问SAP API业务中心,获取API密钥
https://api.sap.com/api/API_SALES_ORDER_SRV/overview
环境设置:
bash
复制环境模板
cp.env.example.env
配置您的设置
echo“SAP_API_KEY=your_actual_API_KEY_here”>>.env echo“SAP_BASE_URL=https://sandbox.api.sap.com/s4hanacloud“>>.env echo“LOGLEVEL=INFO”>>.env Claude桌面配置: 编辑~/.config/Claude/Claude_desktop_configure.json:
JSON { “mcpServers”:{ “sap销售”:{ “command”:“python”, “args”:\[“-m”,“src.server”\], “env”:{ “巨蟒”:“/path/to/your/sap salesforder mcp服务器/src” } } } } 💻 使用示例 基本查询 克劳德 @sap销售列表_销售_订单5 @sap销售订单明细“90000001” @sap销售获取客户订单“CUST1001”10 高级分析 克劳德 @sap销售搜索_订单_截止日期:2024-01-01“2024-03-31” @sap销售额高价值订单50000 5 @sap销售_订单_按_状态“C”20 @sap销售获取_顶部_客户_按地点10 复杂商业智能 克劳德 @sap销售搜索_订单_截止日期“2024-01-01”“2024年03月31日”状态=“C”最小数量=10000 🛠️ API终点 服务器实现了全面的SAP Sales Order API覆盖范围:
端点方法说明 A_SalesOrder获取销售订单头 A_SalesOrder(“{id}”)获取特定订单详细信息 to_Item GET订单行项目 过滤查询GET高级过滤功能 📁 项目结构 文本 sap salesforder mcp服务器/ ├── src/ │ ├── server.py#主MCP服务器实现 │ ├── sap_client.py#带有重试逻辑的sap API客户端 │ ├── models.py#数据模型和类型定义 │ └── utils.py#实用函数 ├── 测试/ │ ├── test_server.py#单元测试 │ └── test_integration.py#集成测试 ├── docs/ │ ├── setup-guide.md#详细的安装说明 │ └── sap-setup.md#sap配置指南 ├── requirements.txt#Python依赖项 ├── pyproject.toml#构建配置 └── README.md#此文件 🔧 发展 运行测试 bash
运行所有测试
pytest
跑步时覆盖
pytest--cov=src--cov报告=html
运行特定的测试文件
pytest测试/test_server.py-v 代码质量 bash
格式代码
黑色src/测试/
Lint代码
flake8 src/测试/
类型检查
mypy src/ 生产大楼 bash
创建分发包
python-m构建
在开发模式下安装
pip安装-e。 🚀 部署 地方发展 bash python-m src.server 生产部署 bash
使用systemd服务
sudo cp部署/sap-mcp.service/etc/systemd/system/ sudo系统ctl启用sap-mcp.service sudo系统ctl启动sap-mcp.service Docker部署 bash docker build-t sap销售mcp。 docker run-d--名称sap mcp服务器-p 8000:8000 sap销售mcp 📊 监控和记录 服务器包括全面的日志记录:
python
日志级别:调试、信息、警告、错误、严重
logging.basicConfig(级别=logging.INFO, 格式=“%(asctime)s-%(name)s-% 🤝 贡献 我们欢迎捐款!请参阅我们的贡献指南了解详细信息。
复刻仓库
创建一个功能分支:git checkout-b功能/惊人功能
提交更改:git Commit-m'添加惊人功能'
推送到分支:git推送起源功能/惊人功能
打开拉取请求
开发设置 bash
安装开发依赖项
uv同步--dev
运行预提交钩子
预提交安装
提交前运行测试
pytest 🐛 故障排除 常见问题 API身份验证错误
验证SAP API密钥是否有效
检查API密钥过期
连接问题
验证与SAP API端点的网络连接
检查防火墙设置
Claude集成问题
配置更改后重新启动Claude Desktop
验证配置中的文件路径
获取帮助 检查文档:安装指南
打开一个问题:GitHub问题
SAP支持:SAP API业务中心
📈 性能注意事项 缓存:为频繁查询实现Redis缓存
速率限制:遵守SAP API速率限制(100个请求/小时免费层)
连接池:使用持久连接以获得更好的性能
批处理:尽可能合并多个查询
🔒 安全 存储在环境变量中的API密钥
代码库中没有敏感数据
输入验证和净化
安全HTTP标头和超时
定期更新依赖关系
📝 许可证 此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🙏 致谢 SAP提供API业务中心和沙箱环境
模型上下文协议规范的拟人化
Python社区,提供优秀的工具和库
📞 支持 文档:GitHub Wiki
问题:GitHub问题
讨论:GitHub讨论
注意:此实现使用SAP API Business Hub沙箱环境。对于实际SAP S/4HANA系统的生产使用,需要额外的配置和安全措施。
Made with ❤️ by [Benadict Jacob]
