关于 btp-sap-odata-to-mcp-server-optimized
btp-sap-odata-to-mcp-server-optimized 将 SAP OData 服务连接到 AI 客户端,面向使用 SAP BTP 和 Cloud Foundry 的团队。它结合可配置的服务发现与身份验证、分层工具、自然语言 OData 查询和交互式 UI 工具。
主要功能
- 01模块化身份验证选项
- 02按模式、业务领域或白名单发现服务
- 03自然语言转 OData 查询
- 04分层工具架构与编排
- 05KPI 监控与趋势分析
- 06交互式表单、表格和仪表板
适用场景
- 01向 AI 客户端提供选定的 SAP OData 服务
- 02通过细粒度角色和 XSUAA 限制访问
- 03基于 SAP 数据创建仪表板和报告
- 04将服务部署到 SAP BTP Cloud Foundry
MCP 相关
作为 MCP 服务,将发现到的 SAP OData 服务通过分层工具集合公开。AI 客户端可使用自然语言路由、分析功能和交互式 UI 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
mcp.json · 通用配置
启动命令
npx -y btp-sap-odata-to-mcp-server需要配置的环境变量
SAP_IAS_URLURL of the SAP Identity Authentication Service tenantSAP_IAS_CLIENT_IDClient ID for the OAuth application in IASSAP_IAS_CLIENT_SECRET密钥Client Secret for the OAuth application in IASSAP_DESTINATION_NAMEName of the BTP destination used for service discoveryODATA_DISCOVERY_MODEOData discovery mode: pattern, business, whitelist, or allODATA_INCLUDE_PATTERNSComma-separated patterns to include (pattern mode)ODATA_EXCLUDE_PATTERNSComma-separated patterns to exclude (pattern mode)PORTThe port on which the Express server will listenNODE_ENVThe application's operating environment本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
19收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 否 | 要返回的服务数上限 |
| query | string | 否 | 用于筛选服务的搜索词(名称、标题、描述) |
| category | enum | 否 | 服务类别筛选条件business-partner | sales | finance | procurement | hr | logistics | all |
详细介绍
SAP OData 到 AI 驱动的 MCP 服务(优化版)
此代码库是一个适用于企业的 MCP(Model Context Protocol)服务,可将 SAP OData 服务与 AI 能力连接起来。此优化版本基于 @lemaiwo 的原始项目 btp-sap-odata-to-mcp-server,增强了安全性、简化了配置、采用模块化身份验证,并全面集成 Cloud Foundry。
✨ 主要功能
🔐 增强的安全架构
- 模块化身份验证系统:采用工厂模式,支持 IAS、OAuth2、JWT、Basic Auth 和 API Keys
- 安全的会话管理:通过适当的锁定机制实现线程安全的会话桥接
- 基于角色的访问控制:借助 XSUAA 实现精细化权限管理
- 主体传播:在整个请求生命周期中保留用户上下文
- 安全最佳实践:不记录敏感数据、安全地处理错误、验证 JWT
🎯 简化的 OData 发现
- 基于模式的筛选:通过简单的包含/排除模式发现服务
- 业务领域模式:预配置的领域(销售、财务、人力资源等)
- 白名单模式:在生产环境中显式控制服务
- 智能默认设置:自动排除测试/调试服务
🧠 AI 驱动的能力
- 智能查询路由器:将自然语言转换为 OData
- 分层工具架构:17+ 个工具按逻辑层级组织
- 智能工作流编排:自动串联和优化工具
- 实时分析:KPI 监控和趋势分析
🎨 交互式 UI 工具套件
ui-form-generator:带验证功能的动态 SAP Fiori 表单ui-data-grid:支持排序和筛选的交互式表格ui-dashboard-composer:实时 KPI 仪表板ui-workflow-builder:可视化工作流创建ui-report-builder:支持下钻分析的分析报告
☁️ 云原生功能
- 针对 Cloud Foundry 优化:与 CF 服务原生集成
- 结构化日志记录:SAP Cloud Logging,并支持回退方案
- 运行状况监控:全面的运行状况检查端点
- 性能指标:内置性能跟踪
- 平稳关闭:妥善清理资源
🚀 快速开始
前提条件
- 具备 SAP BTP、Cloud Foundry 环境的访问权限。
- 所需的 BTP 服务:XSUAA、Identity、Connectivity、Destination。
- Node.js >= 18。
1. 安装
git clone <this-repo>
cd btp-sap-odata-to-mcp-server-optimized
npm install
2. 配置
使用环境变量配置应用程序。详细说明请参阅配置指南。
cp .env.example .env
# Edit .env with your configuration
快速配置示例
# Authentication
SAP_IAS_URL=https://your-tenant.accounts.ondemand.com
SAP_IAS_CLIENT_ID=your-client-id
SAP_IAS_CLIENT_SECRET=your-secret
# OData Discovery (Simplified)
ODATA_DISCOVERY_MODE=pattern
ODATA_INCLUDE_PATTERNS=*API*,Z*
ODATA_EXCLUDE_PATTERNS=*_TEST*,*_TEMP*
ODATA_MAX_SERVICES=50
# Destinations
SAP_DESTINATION_NAME=SAP_S4HANA
3. 构建和部署
# Build the TypeScript source code for BTP
npm run build:btp
# Deploy to SAP BTP, Cloud Foundry
npm run deploy:btp
📚 文档
完整文档提供结构化导航,涵盖项目的各个方面。
🏠 文档中心
主要导航中心,提供基于用例的指引和完整的文件索引。
🚀 快速链接
| 类别 | 文档 | 说明 |
|---|---|---|
| 入门 | 配置指南 | 环境设置、OData 发现、CF 部署 |
| 架构 | 架构概览 | 系统设计、安全模型、工具层级 |
| 🎨 现代图表 | 现代架构图 | 全新! 交互式可视化架构 |
| 用法 | 用户指南 | 身份验证、工具使用、工作流示例 |
| 参考 | 工具参考 | 完整的工具文档及参数说明 |
| 部署 | 部署指南 | SAP BTP 和本地开发环境设置 |
| 开发 | 测试指南 | 测试套件和开发指南 |
| 变更 | 更新日志 | 版本历史和功能更新 |
📖 Navigation Flow
README.md → docs/README.md → All Documentation
↓ ↓
Quick Start → Structured Navigation → Complete Coverage
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。